/*
	Description: Flash Detect and Replace with Image
	Author: Angelo Leombruno
	Date: 4-02-2008
	
	DISCLAIMER:
		This Javascript (replace_flash.js) and associated VBS Script (replace_flash.vbs) Uses the functions to detect Flash from the Adobe website
		http://www.adobe.com/products/flashplayer/download/detection_kit/
	
	How To Use:
		Your HTML will need to include both replace_flash.js and replace_flash.vbs (this is required for IE)
		
		<script language="VBScript" src="replace_flash.vbs">
		</script>
		<script language="JavaScript" type="text/javascript" src="replace_flash.js">
		</script>
		
		Place the replaceFlash function on the onload event on Body
		<body onload="javascript:replaceFlash('replace_flash_here','header_10.jpg','800','218')">
		the parameters for replaceFlash are the div id containing the flash object to replace, the image name, image width and image height.
		
		Place your flash movie in either a div, table cell or cell etc.. and give that container an id for example
		<span id="replace_flash_here">
			<object id="show_flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="800" height="218">
			<param name="movie" value="headeranim.swf">
			<param name="quality" value="high">
			<embed src="headeranim.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="800" height="218"></embed>
			</object>
		</span>

*/

/* Flash Detect from Adobe Website */
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
      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];
                  if ( descArray[3] != "" ) {
                        tempArrayMinor = descArray[3].split("r");
                  } else {
                        tempArrayMinor = descArray[4].split("r");
                  }
                        versionMinor = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
                        flashVer = parseFloat(versionMajor + "." + versionMinor);
            } 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 this function returns true if that version or greater is installed
function DetectFlashVer(reqMajorVer, reqMinorVer) 
{
      reqVer = parseFloat(reqMajorVer + "." + reqMinorVer);
      // 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(",");
                        
                        versionMajor = versionArray[0];
                        versionMinor   = versionArray[2];
                        
                        versionString = versionMajor + "." + versionMinor;
                        versionNum = parseFloat(versionString);
                  } else {
                         versionNum = versionStr;
                  }
                  return (versionNum >= reqVer ? true : false );            
            }
      }
      
      return (reqVer ? false : 0.0);
}

/* END Flash Detect From Adobe Website */


/*
	Description: This function will detect for version 8 of flash or above, if it isnt available it will replace it with an image
	Parameters: divID	-	the division or cell which contains the flash object to replace
			imgName	-	The image filename
			imgWidth	-	The width of the image
			imgHeihgt	-	The Height of the image
*/
function replaceFlash(divId,imgName,imgWidth,imgHeight) {
    // Replace content if required
	if (!DetectFlashVer(8, 0, 0)) {
        document.getElementById(divId).innerHTML = '<img src="'+imgName+'" width="'+imgWidth+'" height="'+imgHeight+'">';
    }

}

