<!--- script to detect flash version --->
/***************************************************************
	Filename:	flash_embed.js
	Created on:	2007-05-14
	Purpose:	This javascript detects if flash player is present,
				determines flash version, and outputs flash embed
				(or message to get/update flash).
				
	Last Update by:		Eddie Geis
	Last Update Date:	2007-02-01
****************************************************************/


<!--- The following is the format for the function call --->
/*
<script src="flash_embed.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">embedflash (embed_name, embed_path, embed_width, embed_height, noflash_img);</script>
*/

<!--- The following vb code must be included in parent file to detect flash in IE. --->
/*
	<!-- script to detect flash version -->
	<script language="VBScript" type="text/vbscript">
	<!-- // Visual basic helper required to detect Flash Player ActiveX control version information
	Function VBGetSwfVer(i)
	  on error resume next
	  Dim swControl, swVersion
	  swVersion = 0
	  
	  set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))
	  if (IsObject(swControl)) then
		swVersion = swControl.GetVariable("$version")
	  end if
	  VBGetSwfVer = swVersion
	End Function
	// -->
	</script>
*/


<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 6;
// Minor version of Flash required  **** not really used ****
var requiredMinorVersion = 0;
// Revision of Flash required  **** not really used ****
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.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;
	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");
				}4
				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 7r14 returns 7.14
	// If 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(".");
				}
				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 ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
					return true;
				} else {
					return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
				}
			}
		}	
		return (reqVer ? false : 0.0);
	}	
// -->


<!-- 
	function embedflash (embed_name, embed_path, embed_width, embed_height, noflash_img) {
		
		var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
		var hasMinVersion   = DetectFlashVer(requiredMinorVersion, requiredMinorVersion, requiredRevision);
		
		// if we've detected the required flash version
		if(hasRightVersion) {  
		 
			var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
			+ 'width="' + embed_width + '" height="' + embed_height + '"'
			+ 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
			+ '<param name="movie" value="' + embed_path +'" />'
			+ '<param name="quality" value="high" />'
			+ '<param name="wMode" value="Transparent" />'
			+ '<embed src="' + embed_path +'" quality="high" '
			+ 'width="' + embed_width + '" height="' + embed_height + '" '
			+ 'name="' + embed_name + '" align="middle"'
//			+ 'wMode="Transparent"'
			+ 'play="true"'
			+ 'loop="false"'
			+ 'quality="high"'
			+ 'allowScriptAccess="sameDomain"'
			+ 'type="application/x-shockwave-flash"'
			+ 'pluginspage="http://www.macromedia.com/go/getflashplayer">'
			+ '<\/embed>'
			+ '<\/object>';
			
			document.write(oeTags);   // embed the flash movie
		
		
		} else {  // flash is too old or we can not detect the plugin
		  
			//detect swf version
			versionStr = DetectFlashVer();
			
			// if no flash image is provided
			if (noflash_img != '') {
				var alternateContent = '<img src="' + noflash_img + '" width="' + embed_width + '" height="' + embed_height + '" border="0" />';
			
			// if we've detected the lesser flash version
			} else if (versionStr != '0.0') {
					
				var alternateContent = '<center><br/><br /><strong>'
						+ 'The home page requires the Macromedia Flash Player ' + requiredMajorVersion + '<br><br>'
						+ 'You currently have Marcomedia Flash Player ' + versionStr + '<br><br>'
						+ '<a href=http://www.macromedia.com/go/getflash/>Update Flash</a>'
						+ '</strong></center>';
			
			// else no flash was found
			} else {
				
				var alternateContent = '<center><br/><br /><strong>'
						+ 'The home page requires the Macromedia Flash Player ' + requiredMajorVersion + '<br><br>'
						+ 'You currently do not have Marcomedia Flash Player.<br><br>'
						+ '<a href=http://www.macromedia.com/go/getflash/>Get Flash ' + requiredMajorVersion + '</a>'
						+ '</strong></center>';
							
			}

			document.write(alternateContent);  // insert non-flash content
			
		}
	}
// -->
