// SL.JS -- JavaScript Document
// This code detects the presence & version of a Flash Player on the client's browser.

<!-- //Hide javascript code from older browsers
// 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;
jsVersion = 1.1;

// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	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;
		}
	}
	// 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;
	// Can't detect in all other cases
	else {
		
		flashVer = -1;
	}
	return flashVer;
} 

// If called with no parameters this function returns a floating point value 
// which should be the version of the Flash Player or 0.0 
// ex: Flash Player 6r65 returns 6.65
// If called with reqMajorVer, reqMinorVer returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
	args=DetectFlashVer.arguments;
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
//	document.write("reqVer: " + reqVer);		
  	// loop backwards through the versions until we find the newest version	
	for (i=25;i>0;i--) {	
//			document.write("i=" + i);		
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);
		}
//		document.write("=>" + versionStr);
		if (versionStr == -1 ) { 
			if (args.length <=0) {
				return ("0.0");
			} else {
				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);

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
			if (args.length <=0) {
				return (versionString);
			} else if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
}

/*
To detect for a specific version of the player, you would call DetectFlashVer(reqMajorVer, reqMinorVer)
from within the BODY tag.  When calling DetectFlashVer(), pass it a number for reqMajorVer and reqMinorVer.
or example, if you want to make sure the end user has Flash Player 6r65 you would enter:

var hasCorrectVersion = DetectFlashVer(6, 65);

If the client has the correct major and minor version (or greater) the variable hasCorrectVersion will
equal true. If Flash Player is not installed or the version does not meet the requirements you have specified,
it will return false. In addition, if you call DetectFlashVer() with no parameters, you will get a value
for the installed player version. If the client has Flash Player 6r65 installed, calling DetectFlashVer()
will return "6.65".
*/

// -->
