function JSGetSwfVer(i){
	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;
			flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}else{
			flashVer = -1;
		}
	}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{
		flashVer = -1;
	}
	return flashVer;
}

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision){
	var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
	var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
	var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
	for (i=25;i>0;i--){
		if (isIE && isWin && !isOpera){
			versionStr = VBGetSwfVer(i);
		}else{
			versionStr = JSGetSwfVer(i);
		}
		if (versionStr == -1 ){
			return false;
		}else if (versionStr != 0){
			if (isIE && isWin && !isOpera){
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");
			}else{
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];

			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);

			if (versionMajor == reqMajorVer){
				if (versionMinor == reqMinorVer){
					return (versionRevision >= reqRevision);
				}else{
					return (versionMinor > reqMinorVer);
				}
			}else{
				return (versionMajor > reqMajorVer);
			}
		}
	}
	return (reqVer ? false : 0.0);
}
