
// <script language="VBScript" type="text/vbscript" src="flash.vbs"/>
// <script language="JavaScript1.1" type="text/javascript" src="flash.js"/>


var requiredMajorVersion = 9;
var requiredMinorVersion = 0;
var requiredRevision = 0;
var jsVersion = 1.1;

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];
			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 7r14 returns 7.14
// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer() 
{
   	// 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

			return versionNum;
		}
	}	

	return versionNum;
}

function flash_source( object )
{
	var width = ( object.attributes.width ? object.attributes.width.value : "100%" );
	var height = ( object.attributes.height ? object.attributes.height.value : "100%" );
	var scale = ( object.attributes.scale ? object.attributes.scale.value : "exactFit" );
	var play = ( object.attributes.play ? object.attributes.play.value : "true" );
	var loop = ( object.attributes.loop ? object.attributes.loop.value : "false" );
	var name = ( object.attributes.name ? ( object.attributes.name.value ? object.attributes.name.value : "movie" ) : "movie" );
	var bgcolor = ( object.attributes.bgcolor ? object.attributes.bgcolor.value: "" );
	var wmode = ( object.attributes.wmode ? object.attributes.wmode.value : "window" );

	var inTags = '<param name="'+name+'" value="'+object.attributes.flash.value+'" /><param name="menu" value="false" />'
		+'<param name="quality" value="high" /><param name="scale" value="'+scale+'" />'
		+'<param name="devicefont" value="true" /><param name="bgcolor" value="'+bgcolor+'" /><param name="wmode" value="'+wmode+'" />'
		+ '<embed src="'+object.attributes.flash.value+'" menu="false" quality="high" scale="'+scale+'" devicefont="true" bgcolor="'+bgcolor+'" '
		+ 'width="'+width+'" height="'+height+'" name="'+name+'e" align="middle" '
		+ 'play="'+play+'" '
		+ 'loop="'+loop+'" '
		+ 'wmode="'+wmode+'" '
		+ 'quality="high" '
		+ 'allowScriptAccess="sameDomain" '
		+ 'type="application/x-shockwave-flash" '
		+ 'pluginspage="http://www.macromedia.com/go/getflashplayer">'
		+ '<\/embed>';

		var oeTags = '<object id="'+name+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
		+ 'width="'+width+'" height="'+height+'" wmode="'+wmode+'"'
		+ 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
		+  inTags
		+ '<\/object>';

	return oeTags;
};

function replace_flash_content( object )
{
	object.innerHTML = flash_source( object );
}

function replace_flash( object )
{

	if( ! object.attributes.flash ) return;

	if( ! document.flash_detected )
	{
		document.flash_version =  DetectFlashVer();
		document.flash_detected = true;
	};

	if( object.attributes.version )
	{		
		if( document.flash_version < parseFloat(object.attributes.version.value) ) return;
	}
	else if( ! document.flash_version ) return;
	
	replace_flash_content( object );
	
	/*
	if( object.outerHTML )
	{	
		object.outerHTML = oeTags;
	}
	else
	{
		 var newNode = document.createElement("object"); 

		 object.parentNode.replaceChild(newNode,object);

		 newNode.setAttribute( "classid" , "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" );
		 newNode.setAttribute( "width" , ''+ width );
		 newNode.setAttribute( "height" , ''+ height );
		 newNode.setAttribute( "codebase" , "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" );

		 newNode.innerHTML = inTags;
	};
	*/
}

function replace_flash_elements()
{
	var i;

	for( i=0; i<document.images.length ; i++ )
	{
		 replace_flash( document.images[i] );
	}

	if(window.old_flash_onload) window.old_flash_onload();
}

window.old_flash_onload = window.onload;
window.onload = replace_flash_elements;
