// some constants
var requiredVersion = 6;
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);

var flashBuf = '';

function detectFlash() {

    if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])
	{
		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) { } }');

	}

  // below this line is only old stuff, but it seems to work, so I'll keep it...

  if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 4;

  if (actualVersion >= requiredVersion) {
    if (useRedirect) {
      if(jsVersion > 1.0) {
        window.location.replace(flashPage);
      } else {
        window.location = flashPage;
      }
    }
    hasRightVersion = true;
  } else {
    if (useRedirect) {
      if(jsVersion > 1.0) {
        window.location.replace((actualVersion >= 2) ? upgradePage : noFlashPage);
      } else {
        window.location = (actualVersion >= 2) ? upgradePage : noFlashPage;
      }
    }
  }

  /*
  var agent = navigator.userAgent.toLowerCase();
  if ((agent.indexOf("safari") != -1 && actualVersion == 6) || agent.indexOf("opera") != -1) {
     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;
}

function writeSimpleFlash(flashURL, flashWidth, flashHeight, altContext, addParams) {
	detectFlash();
	if (!useRedirect) {
		if (hasRightVersion) {
			document.write(assembleFlash(flashURL, flashWidth, flashHeight, "", "", "", addParams));
		} else {
			document.write(altContext);
		}
	}
}

function writeFlash(flashURL, flashWidth, flashHeight, align,  imgURL, altText, elementId)
{
	detectFlash();
	if (!useRedirect) {

		var flashBit = assembleFlash(flashURL, flashWidth, flashHeight, align, "", "", "");


		var imgBit = '';
		if (imgURL != "")
		{
			imgBit = '<img border=0 src="'+imgURL+'" ';
			if (align!="")
			{
				imgBit += 'style="float:'+align+';" ';
			}
			imgBit += 'alt="'+altText+'" />';
		}

		var printBuf = '';
		if(hasRightVersion && flashURL != "") {
				if (align == "")
				{
					printBuf = flashBit;
				}
				if (align.toLowerCase() == "left" || align.toLowerCase() == "right" || align.toLowerCase() == "top")
				{
					printBuf += flashBit + "<br>";
				}
				if (align.toLowerCase() == "bottom")
				{
					printBuf +=  "<br>" + flashBit;
				}
		} else {
				if (align == "")
				{
					printBuf = imgBit;
				}
				if (align.toLowerCase() == "text only")
				{
					printBuf += "";
				}
				if (align.toLowerCase() == "left" || align.toLowerCase() == "right" || align.toLowerCase() == "top")
				{
					printBuf += imgBit + "<br>" ;
				}
				if (align.toLowerCase() == "bottom")
				{
					printBuf += "<br>" + imgBit;
				}
		}

		flashBuf = printBuf;
    	document.getElementById(elementId).innerHTML = flashBuf;
	}
}
