// Globals

// Major version of Flash required

var requiredMajorVersion = 8;

// Minor version of Flash required

var requiredMinorVersion = 0;

// Revision of Flash required

var requiredRevision = 0;



// Detect Client Browser type

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;

// JavaScript helper required to detect Flash Player PlugIn version information

function JSGetSwfVer(i){

	// NS/Opera version >= 3 check for Flash plugin in plugin array

	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];

			if ( descArray[3] != "" ) {

				tempArrayMinor = descArray[3].split("r");

			} else {

				tempArrayMinor = descArray[4].split("r");

			}

      		var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;

            var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;

      	}

	}

	// MSN/WebTV 2.6 supports Flash 4

	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;

	// WebTV 2.5 supports Flash 3

	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;

	// older WebTV supports Flash 2

	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;

	return flashVer;

}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)

{

 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);

   	// loop backwards through the versions until we find the newest version

	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(".");

			}

			var versionMajor      = versionArray[0];

			var versionMinor      = versionArray[1];

			var versionRevision   = versionArray[2];

			var versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24

			var versionNum        = parseFloat(versionString);

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor

			if (versionMajor > reqMajorVer) {

				return true;

			} else if (versionMajor == reqMajorVer) {

				if (versionMinor > reqMinorVer)

					return true;

				else if (versionMinor == reqMinorVer) {

					if (versionRevision >= reqRevision)

						return true;

				}

			}

			return false;

		}

	}

}







