var flashVersion = 0;
var flashVersionMax = 12;
var flashInstalled = Array();
var isIE = ((navigator.appVersion.indexOf("MSIE") != -1) && (navigator.appVersion.indexOf("MSIE") == navigator.appVersion.lastIndexOf("MSIE"))) ? true : false; // true if we're on ie
var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false; // true if we're on windows
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
var re = /[0-9]+/;

function detectSpecialFlash(requiredVersion,flashcode,noflash) {
	if (isIE && (navigator.appVersion.indexOf("MSIE 5.") != -1 || navigator.appVersion.indexOf("MSIE 6.") != -1/* || navigator.appVersion.indexOf("MSIE 7.") != -1 || navigator.appVersion.indexOf("MSIE 8.") != -1*/) && !window.opera){
	    detectFlash(requiredVersion,flashcode,noflash);
	} else if ( allowFlash && flashcode.length>30 ) {
		document.write(flashcode); 
	} else document.write(noflash); 
}

function detectFlash(requiredVersion,flashcode,noflash) { 
    requiredVersion=parseInt(requiredVersion);
	
	if (navigator.plugins) {
	    // ...then check for flash 2 or flash 3+.
	    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 found = flashDescription.match(re);
	        flashVersion = parseInt(found);
	    }else if(isIE && isWin){
	    	var flashDescription = GetSwfVer();
	    	var found = flashDescription.match(re);
	    	flashVersion = parseInt(found);
	    }
	}
	
   if (flashVersion < requiredVersion || flashcode.length<=30 || flashVersion==0) {
        document.write(noflash);
        return 0;
    } else {
        document.write(flashcode);
        return 1;
    }

}

function ControlVersion(){
	var version;
	var axo;
	var e;
	for (var i=flashVersionMax; i>2; i--){
		if(!version){
			try{
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
				if(i==6) { 
					version = "WIN 6,0,21,0"; 
					axo.AllowScriptAccess = "always";
					version = axo.GetVariable("$version");
				}
				else { version = axo.GetVariable("$version"); }
			}catch(e){}
		}
	}

	if(!version){
		try{
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		}catch(e){}
	}

	if (!version){
		try{
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		}catch(e){ version = -1; }
	}
	
	return version;
}

function GetSwfVer(){
	var flashVer = -1;
	
	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;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

