// some constants
var requiredVersion = 7;
var actualVersion   = 0;
/*var useRedirect     = false;*/
var hasRightVersion = false;
var jsVersion       = 1.1;
var flashEnabled    = false; 

var isIE    = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin   = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isHTTPS = (document.URL.indexOf('https:') == 0);

function detectFlash() {  

    if (navigator.mimeTypes && 
		navigator.mimeTypes["application/x-shockwave-flash"] && 
		navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin &&
		navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin["description"])
	{
		flashEnabled = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
		actualVersion = parseInt(flashEnabled["description"].charAt(16));
	}
	else if (isIE)
	{
		// IE Windows only -- check for ActiveX control, have to hide code in eval from Netscape (doesn't like try)
		eval ('try {var xObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if (xObj)	flashEnabled = true; xObj = null; } catch (e)	{}');

		// same way to determine flash version
		eval ('for (var version = 9; version > 0; version--) { try { var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + version); actualVersion = version; break; } catch (e) { } }');
	
	}

   if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 4;  
  
 if (actualVersion >= requiredVersion) {
    hasRightVersion = true;
  }else{
	hasRightVersion = false;
  }
}

function assembleFlash(flashURL, flashWidth, flashHeight, align, theUrl, theTarget, addParams) {
	var flashCode = '';
	if (flashURL != "")
	{
			var insertFlashUrl = '';

			if (theUrl != "") {
				insertFlashUrl = flashURL + "?theLink=" + theUrl; 
				if (theTarget!="") {
					insertFlashUrl += "&theTarget=" + theTarget;
				}
			} else {
				insertFlashUrl = flashURL;
			}

			if (addParams!="") {
				insertFlashUrl += addParams;
			}
			
			var protocol = isHTTPS ? 'https': 'http';
			flashCode = '<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="'+flashWidth+'" HEIGHT="'+flashHeight+'" ';
			if (align!="")
			{
				flashCode += 'align="' + align + '" ';
			}
			flashCode += 'CODEBASE="'+protocol+'://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><PARAM id="moomoo" NAME="MOVIE" VALUE="'+insertFlashUrl+'"><PARAM NAME="PLAY" VALUE="true"><PARAM NAME="LOOP" VALUE="true"><PARAM NAME="QUALITY" VALUE="high"><PARAM NAME="MENU" VALUE="false"><PARAM NAME="scale" VALUE="exactfit"><PARAM NAME="wmode" VALUE="opaque"><EMBED SRC="'+insertFlashUrl+'" WIDTH="'+flashWidth+'" HEIGHT="'+flashHeight+'" ';
			if (align!="")
			{
				flashCode += 'align="' + align + '" ';
			}
			flashCode += 'PLAY="true" LOOP="true" QUALITY="high" scale="exactfit" wmode="opaque" MENU="false" TYPE="application/x-shockwave-flash" PLUGINSPAGE="'+protocol+'://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"><\/EMBED><\/OBJECT>';
	}
	return flashCode;
}

// Added targetId as a possible parameter - this allows the writing of the swf into a specified
// element based on its ID
function writeSimpleFlash(flashURL, flashWidth, flashHeight, altContext, addParams, targetId) {
	detectFlash();

	if (hasRightVersion) {
		if(targetId){
			var myTarget = document.getElementById(targetId);
			myTarget.innerHTML = assembleFlash(flashURL, flashWidth, flashHeight, "", "", "", addParams);
		}
		else{
			document.write(assembleFlash(flashURL, flashWidth, flashHeight, "", "", "", addParams));
		}
	} else {
		document.write(altContext);
	}

}

