// The following code was inspired by the excelent MoockFPI,
// available online at www.moock.org/webdesign/flash/detection/moockfpi/

var requiredVersion = 5; 
var useRedirect = false;                  
// If useRedirect = true;
//var flashPage   = "movie.html"
//var noFlashPage = "noflash.html" 
//var upgradePage = "upgrade.html"

// Global variables
var flash2Installed = false; var flash3Installed = false; var flash4Installed = false; var flash5Installed = false; 
var flash6Installed = false; var flash7Installed = false; var flash8Installed = false; var flash9Installed = false;   
var maxVersion = 9;	var actualVersion = 0; var hasRightVersion = false; 

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;  
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;

// Write vbscript detection on ie win.
if(isIE && isWin){
  document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
  document.write('on error resume next \n');
  document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
  document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
  document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
  document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
  document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
  document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
  document.write('flash8Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.8"))) \n');
  document.write('flash9Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.9"))) \n');
  document.write('<\/SCR' + 'IPT\> \n'); // break up end tag so it doesn't end our script
}

function detectFlash() {  
	if (navigator.plugins) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
			var flashVersion = parseInt(flashDescription.substring(16));
			flash2Installed = flashVersion == 2;    
			flash3Installed = flashVersion == 3;
			flash4Installed = flashVersion == 4;
			flash5Installed = flashVersion == 5;
			flash6Installed = flashVersion == 6;
			flash7Installed = flashVersion == 7;
			flash8Installed = flashVersion == 8;
			flash9Installed = flashVersion >= 9;
		}
	}

	// Loop through all versions we're checking, and set actualVersion to highest detected version.
	for (var i = 2; i <= maxVersion; i++) {  
		if (eval("flash" + i + "Installed") == true) {
			actualVersion = i;
		}
	}
	
	// WebTV flash check
	if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 4;  
	
	// If the user has a new enough version...
	if (actualVersion >= requiredVersion) {
		if (useRedirect) {
			window.location = flashPage;
		}
		hasRightVersion = true;
	} else {  
		if (useRedirect) {
			window.location = (actualVersion >= 2) ? upgradePage : noFlashPage;
		}
	}
}

detectFlash();  // call our detector now that it's safely loaded.