//
// shockwave.js
//


//
// Browser functions
//

function browser_is_explorer()
{
	return (window.navigator.userAgent.indexOf("MSIE") != -1);
}

function browser_is_netscape()
{
	return (window.navigator.userAgent.indexOf("Netscape") != -1);
}

function browser_is_firefox()
{		
	return ( (window.navigator.userAgent.indexOf("Firefox") != -1) || (window.navigator.userAgent.indexOf("Gecko") != -1) );
}

function browser_is_opera()
{
	return (window.navigator.userAgent.indexOf("Opera") != -1);
}

function browser_is_windows()
{
	return (window.navigator.userAgent.indexOf("Win") != -1);
}


//
// shockwave_flash_version_js()
//

function shockwave_flash_version_js()
{
	// NS/Opera version >= 3 check for Flash plugin in plugin array

	var available_flash_version = "0.0.0.0";
	
	if (navigator.plugins != null && navigator.plugins.length > 0) 
	{
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) 
		{
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
		
			descArray = flashDescription.split(" ");
		
			tempArrayMajor = descArray[2].split(".");
		
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
		
			if ( descArray[3] != "" ) 
			{
				tempArrayMinor = descArray[3].split("r");
			} 
			else 
			{
				tempArrayMinor = descArray[4].split("r");
			}
			
			versionRevision = ((tempArrayMinor[1] > 0) ? tempArrayMinor[1] : 0);
			
			available_flash_version = versionMajor + "." + versionMinor + "." + versionRevision + ".0";
		} 
		else 
		{
			available_flash_version = "0.0.0.0";
		}
	}
	
	// MSN/WebTV 2.6 supports Flash 4
	
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) { available_flash_version = "4.0.0.0"; }
	
	// WebTV 2.5 supports Flash 3
	
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) { available_flash_version = "3.0.0.0"; }
	
	// older WebTV supports Flash 2
	
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) { available_flash_version = "2.0.0.0"; }
	
	// Can't detect in all other cases
	
	else 
	{
		
		available_flash_version = "0.0.0.0";
	}
	
	return available_flash_version;
}



//
//  shockwave_flash_version_vb()
//

function shockwave_flash_version_vb()
{
	var version_string = "0.0.0.0";
	
	var shockwave_index = 25;
	
	for (shockwave_index = 25; shockwave_index > 0; shockwave_index--)
	{
		var version_variable_string = FlashVersionVB(shockwave_index);			// WIN 8,0,24,0
	
		var temp_array = version_variable_string.split(" ");
		var temp_string = temp_array[1];
		var version_array = temp_string .split(",");
		
		version_string = version_array.join(".");
		
		if (version_string != "0.0.0.0")
		{
			shockwave_index = 0;
		}
	}
	
	return version_string;
}




//
//  shockwave_flash_version()
//

function shockwave_flash_version() 
{		
	var available_flash_version = "0.0.0.0";
	
	if ( browser_is_explorer() && browser_is_windows() && !(browser_is_opera()) )
	{
		// Try VBScript detector
		
		available_flash_version = shockwave_flash_version_vb();
		
	}
	else
	{
		// Try JavaScript detector
		
		available_flash_version = shockwave_flash_version_js();
	}
	
	return available_flash_version;
}
	
