var newWin = null;
var platform = navigator.appVersion;
var bName = navigator.appName;
var flashInstalled = false;
var flash = "no";
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;

if (isIE && isWin) {
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('flashInstalled = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
	document.write('</SCR' + 'IPT\> \n'); 
}

function detectFlash()
{
	var loc = (window.location.href);
		loc = loc.toLowerCase();
		
	if (navigator.plugins) {								
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {		
			var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
			var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
			
			flashInstalled = flashVersion == 5;
		}
	}
	
	if (flashInstalled) {
		flash = "yes";
	}
	else {
		alert('This site requires Flash 5.  You can download the Flash 5 Player from www.macromedia.com.');
		window.open("http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash");
	}
}

function validateArg(arg)
{
	if ((arg == "undefined") || (arg == null)) return false;
	else return true;
}

function openAWindow(URL, windowName, windowWidth, windowHeight, center)
{
	var xposition = 400; 
	var yposition = 300;
	
    if ((parseInt(navigator.appVersion) >= 4 )) {
        xposition = (screen.width - windowWidth) / 2;
        yposition = (screen.height - windowHeight) / 2;
    }
    var args = "width=" + windowWidth + ","
	    	+ "height=" + windowHeight + ","
	    	+ "location=0,"
		    + "menubar=0,"
		    + "scrollbars=0,"
		    + "status=0,"
		    + "titlebar=0,"
		    + "hotkeys=0,"
		    + "screenx=" + xposition + ","  // NN Only
		    + "screeny=" + yposition + ","  // NN Only
		    + "left=" + xposition + ","     // IE Only
		    + "top=" + yposition;           // IE Only
		
	if (newWin != null && !newWin.closed) {
		newWin.close();
	}
	newWin = window.open(URL, windowName, args);
	
	newWin.focus();
}

function parseLayers(obj, name, type)
{
	var typeObj = null;
	for (var i = 0; i < obj.layers.length; i++) {
		if (type == 'images') typeObj = obj.layers[i].document.images;
		else if (type == 'anchors') typeObj = obj.layers[i].document.anchors;
		for (var j = 0; j < typeObj.length; j++) {
			if (typeObj[j].name == name) {
				return typeObj[j];
				break;
			}
		}
		parseLayers(obj.layers[i], name, type);
	} 
}

function swapImg(imgName, imgPath, msg) // rollover script
{
	if (document.images) {
		if ((document.layers) && (!validateArg(document.images[imgName]))) {
			var obj = parseLayers(document, imgName, 'images');
			obj.src = imgPath;
		}
		else {
			if (document.images[imgName]) {
				document.images[imgName].src = imgPath;
			}
		}
		window.status = msg;
	}
}

function forceReload()
{
	location.reload(true);
}

function doNothing() {};

function handleSelectOnChange(obj) {
	var objOptionValue = obj.options[obj.selectedIndex].value;
    if (objOptionValue != "null") {
    	window.location = objOptionValue;
	}
}

var navigationTimeoutId = 0;

function returnDhtmlFeature(layerId)
{
	if (document.all) return (document.all(layerId)) ? (document.all(layerId).style) : false;  // IE 4/5
	else if (document.layers) return (document.layers[layerId]) ? document.layers[layerId] : false;  // N4
	else if (document.getElementById) return (document.getElementById(layerId)) ? document.getElementById(layerId).style : false;  // N6
}

function setVisibilityName(state)
{
	var visibilityName = state;
	if (document.layers) { // N4
		if (state == "visible") visibilityName = 'show';
		else visibilityName = 'hide';
	}
	return visibilityName;
}

function toggleFlash(state)
{
	if (returnDhtmlFeature("flash"))
	{
		var element = returnDhtmlFeature("flash")
		element.visibility = setVisibilityName(state);
	}
}

function showLayer(layerId)
{
	if (validateArg(layerId)) {
		window.clearTimeout(navigationTimeoutId);
		var element = returnDhtmlFeature(layerId); // dynamic menu
		element.visibility = setVisibilityName("visible"); // show
		
		toggleFlash("hidden");
	}
}

function hideLayer()
{
	var layerId = 'navigation';
	element = returnDhtmlFeature(layerId); // dynamic menu
	element.visibility = setVisibilityName("hidden"); // hide if visible
	
	var layerId = 'subNavigation';
	element = returnDhtmlFeature(layerId); // dynamic menu
	element.visibility = setVisibilityName("hidden"); // hide if visible
	
	toggleFlash("visible");
}

function handleElementTimeout()
{
	this.navigationTimeoutId = window.setTimeout("hideLayer();", 2000);
}

var beginRow = '<tr>\n';
var endRow = '</tr>\n';
var beginCol = '<td>';
var endCol = '</td>\n';
var endTable = '</table>';

function createSpacerImg(width, height) // creates spacer gif
{
	var imgWidth = (validateArg(width)) ? width : 1;
	var imgHeight = (validateArg(height)) ? height : 1;
	var spacerImg = '<img src="../images/dot_clear.gif" width="' + imgWidth + '" height="' + imgHeight + '" border="0" alt="">';
	return spacerImg;
}
	
function buildDynamicMenu(obj, layerId, bgColor) // build menu HTML
{
	var menuHTML = '', outerHTML = '', innerHTML = '', spacerRow = '', spacerCol = ''; // declare HTML vars
	
	spacerRow += beginRow;
	spacerRow += '<td height="7" colspan="3" bgcolor="' + bgColor + '">' + createSpacerImg(1, 7) + '</td>\n';
	spacerRow += endRow;
	
	spacerCol += '<td width="7" align="left" valign="top" bgcolor="' + bgColor + '">' + createSpacerImg(7, 1) + '</td>\n';

	outerHTML += '<table cellpadding="0" cellspacing="0" border="0" bgcolor="' + bgColor + '">\n';
	
	outerHTML += spacerRow;

	outerHTML += beginRow;
	outerHTML += spacerCol;
	outerHTML += beginCol;
	
	for (var i = 0; i < obj.options.length; i++) // build innerHTML
	{
		innerHTML += '<a href="' + obj.links[i] + '" target="_top" class="menuOptions" ' +
				'onmouseover="showLayer(\'' + layerId + '\');window.status=\'' + obj.options[i] +  '\';return true" ' +
				'onmouseout="handleElementTimeout();window.status=\'\'">';
		innerHTML += obj.options[i];
		innerHTML += '</a><br>';
	}
	
	outerHTML += innerHTML;
	
	outerHTML += endCol;
	outerHTML += spacerCol;
	outerHTML += endRow;
	
	outerHTML += spacerRow
	outerHTML += endTable;
	
	menuHTML = outerHTML;

	return menuHTML;
}

function writeToLayer(id, HTML)
{
	if (document.all) {
		document.all[id].innerHTML = HTML;
	}
	else if (document.layers) {
		document.layers[id].document.open();
		document.layers[id].document.write(HTML);
		document.layers[id].document.close();
	}
	else if (document.getElementById) {
		document.getElementById(id).innerHTML = HTML;
	}
}

function positionSubNav(index)
{
	var navigationWidth;
	if (document.layers) {
		navigationWidth = document.layers['navigation'].document.images['subNavSpacer'].width;
	}
	else {
		navigationWidth = document.images['subNavSpacer'].width;
	}
	var element = returnDhtmlFeature('subNavigation');
	element.left = parseInt(navigationWidth + 58);
	
	var inc = (index == 1) ? 12 : 14;
	
	element.top = parseInt(13 + index * inc);
}

function displaySubNav(index)
{
	var subNavHTML = '<table cellpadding="0" cellspacing="0" border="0" bgcolor="#000000">\n' +
		'<tr>\n' +
		'<td height="2" colspan="3"><img src="../images/dot_clear.gif" width="" height="2" alt="" border="0"></td>\n' +
		'</tr>\n' +
		'<tr>\n' +
		'<td width="3"><img src="../images/dot_clear.gif" width="3" height="1" alt="" border="0"></td>\n' +
		'<td align="left" valign="top">' +
		subNavigation[index] +
		'</td>\n' +
		'<td width="2"><img src="../images/dot_clear.gif" width="2" height="1" alt="" border="0"></td>\n' +
		'</tr>\n' +
		'<tr>\n' +
		'<td height="4" colspan="3"><img src="../images/dot_clear.gif" width="100%" height="4" alt="" border="0"></td>\n' +
		'<tr>\n' +
		'</table>\n';
	positionSubNav(index);
	writeToLayer('subNavigation', subNavHTML);
	showLayer('subNavigation');
}

function dynamicMenu() // create custom object
{
	this.options = new Array();
	this.links = new Array();
	for (var i = 0; i < arguments.length; i++) { // loop through args and build object arrays
		this.options[i] = arguments[i][0];
		this.links[i] = arguments[i][1];
	}
}