//
// Navigation and menu scripts.
//


NUM_MAIN_MENUS = 6;
NUM_SUB_MENUS = 10;

var ns4;
var ie4;
var ns6;

function isBrowser(b,v)
{
	/*
	** Check if the current browser is compatible
	**  b  browser name
	**  v  version number (if 0 don't check version)
	** returns true if browser equals and version equals or greater
	*/
	browserOk = false;
	versionOk = false;
	
	browserOk = (navigator.appName.indexOf(b) != -1);
	if (v == 0) versionOk = true;
	else  versionOk = (v <= parseInt(navigator.appVersion));
	return browserOk && versionOk;
}


// Test for which browser
if (isBrowser('Netscape', 4)) ns4 = true;
if (document.all) ie4 = true;
if ((document.getElementById) && (!document.all)) ns6 = true;
if (ns6 == true) ns4 = false;
var ie=document.all;

// Number of seconds since last menu clear:
var menusCleared = 0;
// Number of seconds of idle time before clearing menus:
var MENU_START_TIME = 20;

var currentMenu = -1;


function checkClearMenus()
{
	if (menusCleared > 0) {
		menusCleared--;
		if (menusCleared == 0) {
			clearAll(currentMenu);
		}
	}
}

var windowTimerFunc = window.setInterval("checkClearMenus()", 1000);

function InitMenus(curMenu)
{
	// Save this for clearing purposes:
	currentMenu = curMenu;
}

function showLayer(which)
{
	if (ie4) {
		document.all[which].style.visibility = "visible";
	}
	if (ns6) {
		document.getElementById(which).style.visibility = "visible";
	}
	if (ns4) {
		document.layers[which].visibility = "show";
	}
}

function hideLayer(which)
{
	if (ie4) {
		document.all[which].style.visibility = "hidden";
	}
	if (ns6) {
		document.getElementById(which).style.visibility = "hidden";
	}
	if (ns4) {
		document.layers[which].visibility = "hide";
	}
}

function hideAllSubMenus()
{
	for (i = 0;  i < NUM_SUB_MENUS;  i++) {
		hideLayer("submenu_" + i);
	}
}

function clearAll(menuNum)
{
	hideAllSubMenus();
	menusCleared = 0;
}

function clearAllWithSubmenu(menuNum)
{
	hideAllSubMenus();
	menusCleared = 0;
}

function showSubMenu(menuNum)
{
	// First, unhilite the other menus and hide the sub-menus:
	clearAllWithSubmenu(menuNum);
	menusCleared = MENU_START_TIME;
	
	// Show the selected sub-menu:
	showLayer("submenu_" + menuNum);
}

function showSubSubMenu(menuNum)
{
	// Show the selected sub-menu:
	showLayer("submenu_" + menuNum);
}

function hideSubSubMenu(menuNum)
{
	// Show the selected sub-menu:
	hideLayer("submenu_" + menuNum);
}


var preloadFlag = false;

function newImage(arg)
{
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages()
{
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

function navItem(name, path)
{
	this.on = new Image();
	this.on.src = path + "media/buttons/" + name + "on.gif";
	this.off = new Image();
	this.off.src = path + "media/buttons/" + name + "off.gif";
}

function nav_new(name, path)
{
	navItem[name] = new navItem(name, path);
}

function img_act(imgName)
{
    if (document.images) document[imgName].src = navItem[imgName].on.src;
}

function img_inact(imgName)
{
    if (document.images) document[imgName].src = navItem[imgName].off.src;
}

function img_click(imgName)
{
    if (document.images) document [imgName].src = navItem[imgName].here.src;
}

function load_nav(name, num)
{
	for (i = 1; i <= num; i++) nav_new(name + i, "../");
}

function load_nav_path(name, num, path)
{
	for (i = 1; i <= num; i++) nav_new(name + i, path);
}

// This script opens a separate window. It allows the new window's size & scrollability to be set
function NewWindow(url, name, options)
{
	mynewwindow = window.open(url, name, options);
	mynewwindow.document.close();
}
