// JavaScript Document
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

win = null;
function popUpWindow(mypage, myname, w, h, scroll, status, tool, loc, menu)
{
	if ((myname.value == "MyPlusScore") && !win.closed)
	{
		win.location = mypage;
		win.focus();
		return;
	}
	else
	{	
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable,status='+status+',toolbar='+tool+',location='+loc+',menubar='+menu;
		win = window.open(mypage, myname, winprops);
		win.focus();
	}
}

function exitUnderWin(url, name, value) 
{
	popUnderWin = window.open(url, name, value);
	self.focus();
}


/* Flash/Java Object Tag writer */

function writeFlashTag(file, width, height, id, align, params)
{
	var strTag					= '';		

	strTag	+= '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="' + width + '" height="' + height + '" id="' + id + '" align="' + align + '">';
	strTag	+= '<param name="allowScriptAccess" value="sameDomain" />';
	strTag	+= '<param name="movie" value="' + file + '" />';
	strTag	+= '<param name="quality" value="high" />';
	strTag	+= getArgs(params, 'object');
	strTag	+= '<embed src="' + file + '" quality="high" width="' + width + '" height="' + height + '" name="' + id + '" align="' + align + '" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ' + getArgs(params, 'embed') + ' />';
	strTag	+= '</object>';
		
	//alert(strTag);
	document.write(strTag);
}

function writeJavaTag(classfile, archive, codebase, width, height, align, params)
{
	var strTag					= '';		

	strTag	+= '<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="' + width + '" height="' + height + '" align="' + align + '" codebase="http://java.sun.com/products/plugin/1.4/jinstall-14-win32.cab#Version=1,4,0,mn">'
	strTag	+= '<param name="code" value="' + classfile + '">'
	strTag	+= '<param name="archive" value="' + archive + '">'
	strTag	+= '<param name="codebase" value="' + codebase + '">'
	strTag	+= '<param name="type" value="application/x-java-applet">'
	strTag	+= '<param name="scriptable" value="true">'
	strTag	+= getArgs(params, 'object');
	strTag	+= '<comment>'
	strTag	+= '<embed type="application/x-java-applet" width="' + width + '" height="' + height + '" align="' + align + '" code="' + classfile + '" archive="' + archive + '" codebase="' + codebase + '" pluginspage="http://java.sun.com/products/plugin/1.4/plugin-install.html" ' + getArgs(params, 'embed') + '>'
	strTag	+= '<noembed>No Java 2 SDK, Standard Edition support for APPLET!</noembed>'
	strTag	+= '</embed>'
	strTag	+= '</comment>'
	strTag	+= '</object>'

	document.write(strTag);
}

function getArgs(params, tag)
{	
	var args			= new Object();
	var pairs			= params.split("||");
	var returnObj		= '';
	var returnEmbed		= '';

	for (var i=0; i<pairs.length; i++)
	{		
		var pos = pairs[i].indexOf('=');
		if (pos == -1) continue;
		var argname = trim(pairs[i].substring(0,pos));
		var value = trim(pairs[i].substring(pos+1));
		args[argname] = unescape(value);

		returnObj		+= '<param name="' + argname + '" value="' + value + '" />';
		returnEmbed		+= argname + '="' + value + '" ';
	}

	if (tag == 'object')
	{
		return returnObj;
	}
	else
	{
		return returnEmbed;
	}
}

function trim(s)
{
	// Replace repeated spaces, newlines and tabs with a single space
	s = s.replace(/^\s*|\s(?=\s)|\s*$/g, "");
	
	while (s.substring(0,1) == ' ')
	{
		s = s.substring(1,s.length);
	}

	while (s.substring(s.length-1,s.length) == ' ')
	{
		s = s.substring(0,s.length-1);
	}

	return s;
}



// This script detects FLASH

// Major version of Flash required
var requiredMajorVersion = 5;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// Message to display if no flash or lower flash is detected
var flashErrorMessage = '<div style="width: 70%;text-align: left;padding: 30px;font-size: 150%; border: 1px solid;margin: 5px;">The interactive components of this site require Flash Player ' + requiredMajorVersion + ' or higher.<b><br><a href="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">Download the latest version of Flash Player for free now.</a></div>';




// This writes out VBScript for IE
document.write('<script language="VBScript" type="text/vbscript">\n')
document.write('Function VBGetSwfVer(i)\n')
document.write('on error resume next\n')
document.write('Dim swControl, swVersion\n')
document.write('swVersion = 0\n')
document.write('set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))\n')
document.write('if (IsObject(swControl)) then\n')
document.write('swVersion = swControl.GetVariable("$version")\n')
document.write('end if\n')
document.write('VBGetSwfVer = swVersion\n')
document.write('End Function\n')
document.write('</script>')


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;
jsVersion = 1.1;
// 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;
} 
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// 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
			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
}
