// Global Settings

var gUseQuickTime = true; // If this is true the code will replace Flash elements with .movs if Flash isn't available and QuickTime is.



// Browser ID Utilities

var gAgent = window.navigator.userAgent;
var gAgentVers = parseInt(gAgent.charAt(gAgent.indexOf("/")+1),10);

function is_explorer()
{
	return gAgent.indexOf("MSIE") > 0;
}
	
function is_macexplorer()
{
	if (gAgent.indexOf("Mac") <= 0)
		return false;
	else
		return gAgent.indexOf("MSIE") > 0;
}
	
function is_macnetscape()
{
	if (gAgent.indexOf("Mac") <= 0)
		return false;
	else
		return !(gAgent.indexOf("MSIE") > 0);
}
	
function is_macie4()
{
	if ((gAgent.indexOf("Mac") > 0) && (gAgent.indexOf("MSIE") > 0) && (gAgentVers < 5))
		return true;
	else
		return false;
}

function is_pcnetscape()
{
	if (gAgent.indexOf("Mac") > 0)
		return false;
	else
		return !(gAgent.indexOf("MSIE") > 0);
}
	
function is_aol()
{
	return gAgent.indexOf("AOL") > 0;
}


function choose_stylesheet(name)
{
	if (is_macexplorer())
		name = name + "_macie";
	else if (is_macnetscape())
		name = name + "_macnet";
	else if (is_explorer())
		name = name + "_ie";
	else
		name = name + "_net";
		
	document.write('<link rel="stylesheet" href="' + name + '.css" type="text/css">');
}


// Flash and Image Utilities

// Check whether Flash is installed on the user's computer return one of four possible values
// which tell other routines what to do when asked to insert a Flash movie:
// "img" - write out <IMG> tag instead
// "swf" - write out <EMBED> tag and use a Flash movie
// "mov" - write out <EMBED> tag and use a QuickTime movie (QT4 onwards plays Flash)
// "none" - do nothing, <NOSCRIPT> will handle the image in Netscape 2

var gImageHandling = "";

function check_flash()
{	
	gImageHandling = "none";
		
	if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)
	{
		// Navigator and Explorer ver 5 onwards
		if (navigator.plugins && navigator.plugins["Shockwave Flash"])
		{
			var desc = navigator.plugins["Shockwave Flash"].description;
			var vers = parseInt(desc.charAt(16));
			if (vers >= 3) gImageHandling = "swf";
		}
	}
			
	if (gUseQuickTime && gImageHandling == "none" && navigator.mimeTypes && navigator.mimeTypes["video/quicktime"] && navigator.mimeTypes["video/quicktime"].enabledPlugin)
	{
		// Navigator and Explorer ver 5 onwards
		var instPlugins = navigator.plugins
		for (var i = 0; i < instPlugins.length; i++)
		{
   			if (instPlugins[i].name.indexOf("QuickTime")>=0)
   			{
				var desc = navigator.plugins[i].name;
				var vers = parseInt(desc.charAt(18));
				if (vers >= 2) gImageHandling = "mov";
				i = instPlugins.length;
	   		}
		}
	}
			
	if (gImageHandling == "none" && navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 
	   && (navigator.userAgent.indexOf("Windows")>=0 || navigator.userAgent.indexOf("Win32")>=0))
	{
	   	// Explorer on a 32-bit PC
		document.write('<scr' + 'ipt language=VBSc' + 'ript\> \n');
		document.write('dim Obj\n');
		document.write('gImageHandling = "gif"\n');
		document.write('on error resume next \n');
		document.write('Set Obj = CreateObject("ShockwaveFlash.ShockwaveFlash.4")\n');
		document.write('if IsObject(Obj) = True then gImageHandling = "swf" \n');
		document.write('Set Obj = Null \n');
		document.write('</scr' + 'ipt\> \n');
	}
		
	if (gImageHandling == "none" && !(navigator.appName && navigator.appName.indexOf("Netscape")>=0 && navigator.appVersion.indexOf("2.")>=0))
	{
		// Anything else, other than Navigator ver 2 which will use <NOSCRIPT>
		gImageHandling = "gif";
	}
	
	//	document.write('<p>gImageHandling = ' + gImageHandling + '</p>');
}




// Insert a Flash movie or fallback GIF into the current page depending upon the setting
// of the gImageHandling variable.

function insert_flash(name, width, height, bgCol)
{
	if (gImageHandling == "")
	{
		// The variable has not been set so do a check.
		check_flash();
	}
		
	if (gImageHandling.indexOf("none") != -1)
	{
	}
	else if (gImageHandling.indexOf("swf") != -1)
	{
		document.write('<embed src="' + name + '.swf"');
		document.write(' swLiveConnect=false width=' + width + ' height=' + height);
		document.write(' loop=false quality=high scale=noborder bgcolor=' + bgCol);
		document.write(' type="application/x-shockwave-flash"\>');
		document.write('</embed\>');
		document.write('<noembed\><img src="' + name + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\></noembed\>');
	}
	else if (gImageHandling.indexOf("mov") != -1)
	{
		document.write('<embed src="' + name + '.mov"');
		document.write(' autoplay="true" controller="false" width="' + width + '" height="' + height + '"');
		document.write(' loop=false bgcolor=' + bgCol);
		document.write(' type="video/quicktime"\>');
		document.write('</embed\>');
		document.write('<noembed\><img src="' + name + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\></noembed\>');
	}
	else
	{
		document.write('<img src="' + name + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\>');
	} 
	
}



// Insert a Flash movie or fallback GIF into the current page depending upon the setting
// of the gImageHandling variable. If the browser is Mac Netscape then the fallback GIF is
// used instead to avoid the "Flash off the screen" bug.

function insert_flash_lowdown(name, width, height, bgCol)
{
	var imageHandling = gImageHandling;
	
	if (gImageHandling == "")
	{
		// The variable has not been set so do a check.
		check_flash();
		imageHandling = gImageHandling;
	}
	
	if (is_macnetscape()) imageHandling = "gif";

	if (imageHandling.indexOf("none") != -1)
	{
	}
	else if (imageHandling.indexOf("swf") != -1)
	{
		document.write('<embed src="' + name + '.swf"');
		document.write(' swLiveConnect=false width=' + width + ' height=' + height);
		document.write(' loop=false quality=high scale=noborder bgcolor=' + bgCol);
		document.write(' type="application/x-shockwave-flash"\>');
		document.write('</embed\>');
		document.write('<noembed\><img src="' + name + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\></noembed\>');
	}
	else if (imageHandling.indexOf("mov") != -1)
	{
		document.write('<embed src="' + name + '.mov"');
		document.write(' autoplay="true" controller="false" width="' + width + '" height="' + height + '"');
		document.write(' loop=false bgcolor=' + bgCol);
		document.write(' type="video/quicktime"\>');
		document.write('</embed\>');
		document.write('<noembed\><img src="' + name + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\></noembed\>');
	}
	else
	{
		document.write('<img src="' + name + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\>');
	} 
	
}



// Insert a random Flash movie or random fallback GIF into the current page depending upon
// the setting of the gImageHandling variable.

function insert_random_flash(imgPath,width,height,bgCol,numImages)
{
	if (gImageHandling == "")
	{
		// The variable has not been set so do a check.
		check_flash();
	}
		
	imgNum = (Math.floor((new Date()).getTime()/10)%numImages) + 1;
	imgNumStr = (new Number(imgNum)).toString();
	if (imgNum < 10) imgNumStr = '0' + imgNumStr;

	if (gImageHandling.indexOf("none") != -1)
	{
	}
	else if (gImageHandling.indexOf("swf") != -1)
	{
		document.write('<embed src="' + imgPath + imgNumStr + '.swf"');
		document.write(' swLiveConnect=false width=' + width + ' height=' + height);
		document.write(' loop=false quality=high scale=noborder bgcolor=' + bgCol);
		document.write(' type="application/x-shockwave-flash"\>');
		document.write('</embed\>');
		document.write('<noembed\><img src="' + imgPath + imgNumStr + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\></noembed\>');
	}
	else if (gImageHandling.indexOf("mov") != -1)
	{
		document.write('<embed src="' + imgPath + imgNumStr + '.mov"');
		document.write(' autoplay="true" controller="false" width="' + width + '" height="' + height + '"');
		document.write(' loop=false bgcolor=' + bgCol);
		document.write(' type="video/quicktime"\>');
		document.write('</embed\>');
		document.write('<noembed\><img src="' + imgPath + imgNumStr + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\></noembed\>');
	}
	else
	{
		document.write('<img src="' + imgPath + imgNumStr + '.gif" width=' + width + ' height=' + height + ' border=0 usemap="#' + name + '"\>');
	} 
	
}




// Insert a random GIF image into the current page depending upon the setting of the
// gImageHandling variable.

function insert_random_image(imgType,imgPath,imgWidth,imgHeight,imgHspace,imgVspace,numImages)
{
	var imgNum,imgNumStr="";
	
	if (gImageHandling == "")
	{
		// The variable has not been set so do a check.
		check_flash();
	}
		
	if (gImageHandling.indexOf("none") == -1)
	{
		imgNum = (Math.floor((new Date()).getTime()/10)%numImages) + 1;
		imgNumStr = (new Number(imgNum)).toString();
		if (imgNum < 10) imgNumStr = '0' + imgNumStr;
		document.write('<img src="' + imgPath + imgNumStr + '.' + imgType + '" width=' + imgWidth + ' height=' + imgHeight + ' vspace=' + imgVspace + ' hspace=' + imgHspace + '\>');
	}

}



// Insert a random GIF image into the current page along with the appropriate URL and ALT tags. The
// individual URLs and ALT tags are separated in the string by the '|' character.

function insert_random_image_plus(imgType,imgPath,imgWidth,imgHeight,imgHspace,imgVspace,numImages,urls,alts)
{
	var imgNum,imgNumStr="";
	var altTag = "";
	var url = "";
	
	if (gImageHandling == "")
	{
		// The variable has not been set so do a check.
		check_flash();
	}
		
	if (gImageHandling.indexOf("none") == -1)
	{
		var urlArray = mysplit(urls,'|');
		var altArray = mysplit(alts,'|');
		
		imgNum = (Math.floor((new Date()).getTime()/10)%numImages) + 1;
		url = urlArray[imgNum-1];
		altTag = altArray[imgNum-1];
		imgNumStr = (new Number(imgNum)).toString();
		if (imgNum < 10) imgNumStr = '0' + imgNumStr;
		document.write('<a href="' + url + '"\><img src="' + imgPath + imgNumStr + '.' + imgType + '" width=' + imgWidth + ' height=' + imgHeight + ' vspace=' + imgVspace + ' hspace=' + imgHspace + ' alt="' + altTag + '" border=0\></a\>');
	}

}


// Insert a random image into the current page along with the appropriate URL and ALT tags. The
// individual URLs and ALT tags are separated in the string by the '|' character.

function insert_random_image_HHMT(imgType,imgPath,numImages,urls,captions,alts)
{
	var imgNum,imgNumStr="";
	var altTag = "";
	var url = "";
	
	if (gImageHandling == "")
	{
		// The variable has not been set so do a check.
		check_flash();
	}
		
	if (gImageHandling.indexOf("none") == -1)
	{
		var urlArray = mysplit(urls,'|');
		var altArray = mysplit(alts,'|');
		var captionArray = mysplit(captions,'|');
		
		imgNum = (Math.floor((new Date()).getTime()/10)%numImages) + 1;
		url = urlArray[imgNum-1];
		altTag = altArray[imgNum-1];
		caption = captionArray[imgNum-1];
		imgNumStr = (new Number(imgNum)).toString();
		if (imgNum < 10) imgNumStr = '0' + imgNumStr;
		if (url != "") document.write('<a href="' + url + '"\>');
		document.write('<img src="' + imgPath + imgNumStr + '.' + imgType + '" width="161" height="161" alt="' + altTag + '" border=0\>');
		if (url != "") document.write('</a\>');
		document.write('<br\>\n');
		document.write('<img src="images/white.gif" width="161" height="1" alt=""\><br\>\n');
		document.write('<img src="images/transparent.gif" width="1" height="4" alt=""><br\>\n');
		document.write('<table cellpadding="10" cellspacing="0" border="0"\>\n');
		document.write('<tr\><td class="midgrey"\>' + caption + '</td\></tr\></table\>\n');
	}

}



// Rollover Utilities


var gRollovers = new Object();
var gStaticMenu = new Object();
var gRolloversPath = "*";

	
	
function find_element(name,layer)
{	
	if (gAgentVers < 4) return document[name];
	var currentLayer = layer ? layer.document : document;
	var element = currentLayer[name];
	if (!element)
	{
		for (var i=0;i<currentLayer.layers.length;i++)
		{
			element = find_element(name,currentLayer.layers[i]);
			if (element) return element;
		}
	}
	return element;
}



// This function locates a graphic element whose name parameter is set to "rollover_marker" and sets the
// path for rollovers to the path of that graphic element.

function set_rollovers_path()
{
	gRolloversPath = '';
	if (document.images)
	{
		var img = (!is_explorer()) ? find_element('rollover_marker',0) : document['rollover_marker'];
		if (img)
		{
			var src = img.src
			var lastOffset = src.lastIndexOf('/');
			if (lastOffset != -1)
			{
				gRolloversPath = src.substr(0,lastOffset+1);
			}
		}
	}
}


// Loads the normal and overlay versions of the button, but will not try to do so for the
// "rollover_marker" image or any image whose name begins with an underscore.

function load_rollover(button)
{
	//alert("Loading rollover images for " + gRolloversPath + button);
	if (document.images && button.charAt(0) != '_' && button.substr(0,15) != 'rollover_marker')
	{
		gRollovers[button] = new Object();
		gRollovers[button][0] = new Image();
		gRollovers[button][0].src = gRolloversPath + button + '-off.gif';
		gRollovers[button][1] = new Image();
		gRollovers[button][1].src = gRolloversPath + button + '-on.gif';
	}
}


// Loops through all the named images in the page and attempts to load the rollover images for them

function load_all_rollovers()
{
	set_rollovers_path();
	if (document.images && gRolloversPath != '*')
		{
		var numImages = document.images.length;
		if (numImages > 0)
		{
			for (var i=0;i<numImages;i++)
			{
				if (document.images[i])
				{
					if (document.images[i].name) load_rollover(document.images[i].name);
				}
			}
		}
		
/* 		gStaticMenu['downarrow'] = new Image(); */
/* 		gStaticMenu['downarrow'].src = gRolloversPath + 'downarrow.gif'; */
/* 		gStaticMenu['uparrow'] = new Image(); */
/* 		gStaticMenu['uparrow'].src = gRolloversPath + 'uparrow.gif'; */
/* 		gStaticMenu['uparrow_on'] = new Image(); */
/* 		gStaticMenu['uparrow_on'].src = gRolloversPath + 'uparrow_on.gif'; */
/* 		gStaticMenu['transparent'] = new Image(); */
/* 		gStaticMenu['transparent'].src = gRolloversPath + 'transparent.gif'; */
/* 		gStaticMenu['anchor'] = new Image(); */
/* 		gStaticMenu['anchor'].src = gRolloversPath + 'anchor.gif'; */
/* 		gStaticMenu['anchor_on'] = new Image(); */
/* 		gStaticMenu['anchor_on'].src = gRolloversPath + 'anchor_on.gif'; */
		}
}



function rollover(button,state)
{
	if (document.images && gRolloversPath != '*')
	{
		if (gRollovers[button])
		{
			var img = (!is_explorer()) ? find_element(button,0) : document[button];
			if (img) img.src = gRollovers[button][state].src;
			return true;
		}
	}
	return false;
}



function rollover_image(button,imageName)
{
	if (document.images && gRolloversPath != '*')
	{
		var img = (!is_explorer()) ? find_element(button,0) : document[button];
		if (img)
		{
			if (gStaticMenu[imageName])
			{
				img.src = gStaticMenu[imageName].src;
			}
			else
			{
				img.src = gRolloversPath + imageName + '.gif';
			}
			return true;
		}
	}
	return false;
}



// Miscellaneous Javascript Utilities

var gPopup = "none";




// Open a window in either the topleft or topright screen corner

function openWin(url,name,w,h,loc)
{
	var secs = new Date();

	closeWin();

	if (loc == 'topright')
	{
		gPopup=window.open(url,'popup'+secs.getTime(),'left='+(screen.width.valueOf()-(w+100))+',top=100,width='+w+',height='+h+',toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes')
	}
	else if (loc == 'topleft')
	{
		gPopup=window.open(url,'popup'+secs.getTime(),'left=100,top=100,width='+w+',height='+h+',toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes')
	}
}



// Open a window in either the topleft or topright screen corner

function openFixedWin(url,name,w,h,loc)
{
	var secs = new Date();

	closeWin();

	if (loc == 'topright')
	{
		gPopup=window.open(url,'popup'+secs.getTime(),'left='+(screen.width.valueOf()-(w+100))+',top=100,width='+w+',height='+h+',toolbar=no,location=no,status=no,scrollbars=no,resizable=no')
	}
	else if (loc == 'topleft')
	{
		gPopup=window.open(url,'popup'+secs.getTime(),'left=100,top=100,width='+w+',height='+h+',toolbar=no,location=no,status=no,scrollbars=no,resizable=no')
	}
}



// Close the popup window if it is open

function closeWin()
{	
	if (gPopup)
	{
		if (!is_macie4())
			{
				if (typeof(gPopup) == "object")
				{
					if (gPopup.closed == false)
					{
						gPopup.close();
					}
					gPopup="none";
				}
			}
		else
			{
				if (typeof(gPopup) == "object")
				{
					gPopup="none";
				}
			}
	}
}



// Change the URL of the main window, even if we are in the popup

function navigateMainWindow(url)
{
	if ((window.name.length >= 5) && (window.name.substring(0,5) == "popup"))
	{
		window.opener.location = url;
	}
	else
	{
		window.location = url;
	}
}



// Open a window for an image with optional caption either the topleft or topright screen corner

function openImageWin(title,imageUrl,imageW,imageH,caption,loc)
{
	var w = imageW+16;
	var h = imageH+16;
	var popupHTML = "";
	
	closeWin();
	   
	var lowerCaption = caption.toLowerCase();
	var captionArray = mySplit(lowerCaption,'<br>');
	var numberOfLines = captionArray.length;
	if (caption != "")
	{
		h += 8 + (14 * numberOfLines);
	}
	
	popupHTML += "<html><head><title>"+title+"</title>";
	if (caption != "")
	{
		popupHTML += "<style>";
		popupHTML += "<!--";
		popupHTML += ".small { color: #333; font-size: 10px; line-height: 14px; font-family: Arial, Helvetica, Geneva; }";
		popupHTML += ".body {color: #333; font-size: 11px; line-height: 14px; font-family: Arial, Helvetica, Geneva; }";
		popupHTML += ".body a:link { color: #666; text-decoration: none }";
		popupHTML += ".body a:active { color: #666; text-decoration: underline }";
		popupHTML += ".body a:visited { color: #666; text-decoration: none }";
		popupHTML += ".body a:hover { color: #666; text-decoration: underline }";
		popupHTML += "-->";
		popupHTML += "</style>";
	}
	popupHTML += "</head>";
	popupHTML += "<body bgcolor='#FFFFFF' leftmargin=8 topmargin=8 marhinheight=8 marginwidth=8>";
	popupHTML += "<table cellpadding=0 cellspacing=0 border=0>";
	popupHTML += "<tr><td><img src='" + imageUrl + "' width="+imageW+" height="+imageH+" border=0></td></tr>";
	if (caption != "")
	{
		popupHTML += "<tr><td valign=top align=left><table cellpadding=8 cellspacing=0 border=0><tr><td align=left valign=top class='body'>" + caption + "</td></tr></table></td></tr>";
	}
 	popupHTML += "</table>";
  	popupHTML += "</body></html>";
		
	var x = 0;
	var y = 0;
	
	// open the popup window
	if (loc == 'topright')
	{
		x=(screen.width.valueOf()-(w+100));
		y=100;
	}
	else if (loc == 'topleft')
	{
		x=100;
		y=100;
	}
	else if (loc == 'center')
	{
		x=Math.round((screen.width.valueOf()/2)-(w/2));
		y=100;
	}
	
	var secs = new Date();
			
	if (is_aol())
		{
		w = w+4;
		h = h+4;
		gPopup=window.open('','popup'+secs.getTime(),'width='+w+',height='+h+',toolbar=no,location=no,status=no,scrollbars=no,resizable=no');
		}
	else
		{
		gPopup=window.open('','popup'+secs.getTime(),'left='+x+',top='+y+',width='+w+',height='+h+',toolbar=no,location=no,status=no,scrollbars=no,resizable=no');
		gPopup.moveTo(x,y);
		}

	// write the contents into the window
	gPopup.document.open();
	gPopup.document.write(popupHTML);
	gPopup.document.close();
	gPopup.focus();
}



// Java 1.0 doesn't support a split method, so define one here

function mysplit (stringtoSplit, separator)
{
	var splitIndex = 0 ;
	var splitArray = new Array () ;

	while ((stringtoSplit.length > 0) && (separator.length > 0))
	{
		var i = stringtoSplit.indexOf (separator) ;
		if ((!i) && (separator != stringtoSplit.substring (0, separator.length)))
			break ;
		if (i == -1)
		{
			splitArray [splitIndex++] = stringtoSplit ;
			break ;
		}
		splitArray [splitIndex++] = stringtoSplit.substring (0,i) ;

		stringtoSplit = stringtoSplit.substring (i+separator.length, stringtoSplit.length) ;
	}

	splitArray.length = splitIndex; 
	return splitArray ;
}


