// 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) { } }');
	
	}

  // 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;
      }
    }*/
	hasRightVersion = false;
  }
  /*
  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;
}

// 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);
	}

}

function writeFlash(flashURL, flashWidth, flashHeight, align, theUrl, imgURL, altText, firstpart, linkpart, lastpart, popupwidth, popupheight, theTarget) {
	detectFlash();
	/*if (!useRedirect) {   */

	var textLink = '';
	if (linkpart != ""){
		textLink += firstpart;

		if (theTarget.toString().toLowerCase().indexOf("popup")==-1){
			textLink += ' <a href="'+theUrl+'" target="'+theTarget+'">';
		} else {
			textLink += ' <a href="javascript:void(null)" onClick="javascript:window.open(\''+theUrl+'\',\'win0\',\'width='+popupwidth+',height='+popupheight+',location=1,status=1,menubar=1,toolbar=1,resizable=1, scrollbars=yes\').focus()">';
		}
		textLink += linkpart;
		textLink += '</a> ' + lastpart;
	}

	var flashBit = assembleFlash(flashURL, flashWidth, flashHeight, align, theUrl, theTarget, ""); 
	
	var imgBit = '';
	if (imgURL != "")
	{
		if (theTarget.toString().toLowerCase().indexOf("popup")==-1){
			imgBit = ' <a href="'+theUrl+'" target="'+theTarget+'"><img src="'+imgURL+'" ';
			
		} else {
			imgBit = '<a href="javascript:void(null)" onClick="javascript:window.open(\''+theUrl+'\',\'win0\',\'width='+popupwidth+',height='+popupheight+',location=1,status=1,menubar=1,toolbar=1,resizable=1, scrollbars=yes\').focus()"><img src="'+imgURL+'" ';
		}
		if (align!="")
		{
			imgBit += 'style="float:'+align+';" ';
		}
		imgBit += 'alt="'+altText+'" /></a>';
	}

	var printBuf = '';
	if(hasRightVersion && flashURL != "") { 
			if (align == "")
			{
				printBuf = flashBit;
			}
			if (align.toLowerCase() == "left" || align.toLowerCase() == "right" || align.toLowerCase() == "top")
			{
				printBuf += flashBit + "<br>" + textLink;
			}
			if (align.toLowerCase() == "bottom")
			{
				printBuf += textLink + "<br>" + flashBit;
			}
			if (align.toLowerCase() == "text only" || align.toLowerCase() == "image only")
			{
				printBuf += flashBit;
			}
	} else { 
			if (align == "")
			{
				printBuf = imgBit;
			}
			if (align.toLowerCase() == "text only")
			{
				printBuf += textLink;
			}
			if (align.toLowerCase() == "image only")
			{
				printBuf += imgBit;
			}
			if (align.toLowerCase() == "left" || align.toLowerCase() == "right" || align.toLowerCase() == "top")
			{
				printBuf += imgBit + "<br>" + textLink;
			}
			if (align.toLowerCase() == "bottom")
			{
				printBuf += textLink + "<br>" + imgBit;
			}
	}

	document.write(printBuf);

	/*}*/
}

function writeFlashSecure(flashURL, flashWidth, flashHeight, align, theUrl, isSecure, serverName, imgURL, altText, firstpart, linkpart, lastpart, popupwidth, popupheight, theTarget) {
	detectFlash();

	var theUrlSecured = "";

	if (theUrl!=null && theUrl.substring(0,4)=='http') {
		theUrlSecured = theUrl;
		theTarget="popup";
	} 
	else if (theUrl!=null && theUrl.indexOf('/')==0)
	{
		if (isSecure == 'true') {
			theUrlSecured = "https://" + serverName + theUrl;
		} else if (isSecure == 'false')	{
			theUrlSecured = "http://" + serverName + theUrl;
		} else {
			theUrlSecured = theUrl;
		}
		theTarget="";
	}
	else
	{	
		if (isSecure == 'true') {
			theUrlSecured = "https://" + theUrl;
		}
		else {
			theUrlSecured = "http://" + theUrl;		
		}
		theTarget="";
	}

	var convertedAlign = align;
	if (align.toLowerCase() == "l") {
		convertedAlign = "left";
	} else if (align.toLowerCase() == "r") {
		convertedAlign = "right";
	} else if (align.toLowerCase() == "t") {
		convertedAlign = "top";
	} else if (align.toLowerCase() == "b") {
		convertedAlign = "bottom";
	} else if (align.toLowerCase() == "to") {
		convertedAlign = "text only";
	} else if (align.toLowerCase() == "io") {
		convertedAlign = "image only";
	} 

	var textLink = '';
	if (linkpart != ""){
		textLink += firstpart;
		
		if (theTarget.toString().toLowerCase().indexOf("popup")==-1){
			textLink += ' <a href="'+theUrlSecured+'" target="'+theTarget+'">';
		} else {
			textLink += ' <a href="javascript:void(null)" onClick="javascript:window.open(\''+theUrlSecured+'\',\'win0\',\'width='+popupwidth+',height='+popupheight+',location=1,status=1,menubar=1,toolbar=1,resizable=1, scrollbars=yes\').focus()">';
		}
		textLink += linkpart;
		textLink += '</a> ' + lastpart;
	}

	var flashBit = assembleFlash(flashURL, flashWidth, flashHeight, convertedAlign, theUrlSecured, theTarget, ""); 
	
	var imgBit = '';
	if (imgURL != "")
	{
		if (theTarget.toString().toLowerCase().indexOf("popup")==-1){
			imgBit = ' <a href="'+theUrlSecured+'" target="'+theTarget+'"><img src="'+imgURL+'" ';
			
		} else {
			imgBit = '<a href="javascript:void(null)" onClick="javascript:window.open(\''+theUrlSecured+'\',\'win0\',\'width='+popupwidth+',height='+popupheight+',location=1,status=1,menubar=1,toolbar=1,resizable=1, scrollbars=yes\').focus()"><img src="'+imgURL+'" ';
		}
		if (convertedAlign.toLowerCase() == "left" || convertedAlign.toLowerCase() == "right" || convertedAlign.toLowerCase() == "top" || convertedAlign.toLowerCase() == "bottom")
		{
			imgBit += 'style="float:'+convertedAlign+';" ';
		} 
		if (altText!=null && altText!="") {
			imgBit += 'alt="'+altText+'"';
		} 
		imgBit += ' /></a>';
	}

	var printBuf = '';
	if(hasRightVersion && flashURL != "") { 
			if (convertedAlign.toLowerCase() == "left" || convertedAlign.toLowerCase() == "right" || convertedAlign.toLowerCase() == "top") {
				printBuf += flashBit + "<br>" + textLink;
			} else if (convertedAlign.toLowerCase() == "bottom") {
				printBuf += textLink + "<br>" + flashBit;
			} else {
				printBuf = flashBit;
			}
	} else { 
			if (convertedAlign == "")
			{
				printBuf = imgBit;
			}
			if (convertedAlign.toLowerCase() == "text only")
			{
				printBuf += textLink;
			}
			if (convertedAlign.toLowerCase() == "image only")
			{
				printBuf += imgBit;
			}
			if (convertedAlign.toLowerCase() == "left" || convertedAlign.toLowerCase() == "right" || convertedAlign.toLowerCase() == "top")
			{
				printBuf += imgBit + "<br>" + textLink;
			}
			if (convertedAlign.toLowerCase() == "bottom")
			{
				printBuf += textLink + "<br>" + imgBit;
			}
	}
	document.write(printBuf);

/*	}*/
}

function toggleFlashAltContent(flashContainer, altContainer, flashURL, flashWidth, flashHeight, addParams) {
	
	detectFlash();

	var flashContainerObj = document.getElementById(flashContainer);
	var altContainerObj = document.getElementById(altContainer);
	
	if(hasRightVersion) {
		flashContainerObj.style.display = 'block';
		altContainerObj.style.display = 'none';
		flashContainerObj.innerHTML = assembleFlash(flashURL, flashWidth, flashHeight, "", "", "", addParams); 
		
	}else{
		flashContainerObj.style.display = 'none';
		altContainerObj.style.display = 'block';		
	}

}

