  //
// Menu navigation
//

var ns4;
var ie4;
var ns6;

NUM_MAIN_MENUS = 7;
menu_img_on = new Array();
menu_img_off = new Array();
menu_img_sel = new Array();

NUM_SUB_MENUS = 7;
sub_img_on = new Array();
sub_img_off = new Array();

var currentMenu = -1;

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;

// Number of seconds since last menu clear:
var menusCleared = 0;
// Number of seconds of idle time before clearing menus:
var MENU_START_TIME = 5;

function checkClearMenus()
{
	if (menusCleared > 0) {
		menusCleared--;
		if (menusCleared == 0) {
			clearAll(currentMenu);
		}
	}
}

function NewMenuImage(arg)
{
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function InitMenus(path, curMenu)
{
	// Save this for clearing purposes:
	currentMenu = curMenu;
	
	// Main menus:
	for (i = 0;  i < NUM_MAIN_MENUS;  i++) {
		menu_img_on[i] = NewMenuImage(path + "media/menus/nav" + i + "_over.gif");
		menu_img_off[i] = NewMenuImage(path + "media/menus/nav" + i + ".gif");
		menu_img_sel[i] = NewMenuImage(path + "media/menus/nav" + i + "_here.gif");
	}
	
	// Submenus:
	sub_img_on[0] = new Array();
	sub_img_off[0] = new Array();
	for (i = 0;  i < 4;  i++) {
		sub_img_on[0][i] = NewMenuImage(path + "media/menus/nav0_" + i + "_over.gif");
		sub_img_off[0][i] = NewMenuImage(path + "media/menus/nav0_" + i + ".gif");
	}

	sub_img_on[1] = new Array();
	sub_img_off[1] = new Array();
	for (i = 0;  i < 4;  i++) {
		sub_img_on[1][i] = NewMenuImage(path + "media/menus/nav1_" + i + "_over.gif");
		sub_img_off[1][i] = NewMenuImage(path + "media/menus/nav1_" + i + ".gif");
	}

	sub_img_on[2] = new Array();
	sub_img_off[2] = new Array();
	for (i = 0;  i < 5;  i++) {
		sub_img_on[2][i] = NewMenuImage(path + "media/menus/nav2_" + i + "_over.gif");
		sub_img_off[2][i] = NewMenuImage(path + "media/menus/nav2_" + i + ".gif");
	}

	sub_img_on[3] = new Array();
	sub_img_off[3] = new Array();
	for (i = 0;  i < 3;  i++) {
		sub_img_on[3][i] = NewMenuImage(path + "media/menus/nav3_" + i + "_over.gif");
		sub_img_off[3][i] = NewMenuImage(path + "media/menus/nav3_" + i + ".gif");
	}

	sub_img_on[4] = new Array();
	sub_img_off[4] = new Array();

	sub_img_on[5] = new Array();
	sub_img_off[5] = new Array();

	sub_img_on[6] = new Array();
	sub_img_off[6] = new Array();

	selectMenu(curMenu);
}

var windowTimerFunc = window.setInterval("checkClearMenus()", 1000);

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 unHiliteAllMenus()
{
	if (ns4) {
		for (i = 0;  i < NUM_MAIN_MENUS;  i++) {
			document["nav" + i].src = menu_img_off[i].src;
		}
	} else {
		for (i = 0;  i < NUM_MAIN_MENUS;  i++) {
			document["nav" + i].src = menu_img_off[i].src;
		}
	}
}

function unHiliteSubMenus(menuNum)
{
	len = sub_img_on[menuNum].length;
	if (ns4) {
		for (i = 0;  i < len;  i++) {
			document['submenu_' + menuNum].document["submenu" + menuNum + "_" + i].src = sub_img_off[menuNum][i].src;
		}
	} else {
		for (i = 0;  i < len;  i++) {
			document["submenu" + menuNum + "_" + i].src = sub_img_off[menuNum][i].src;
		}
	}
}

function hideAllSubMenus()
{
	for (i = 0;  i < NUM_SUB_MENUS;  i++) {
		hideLayer("submenu_" + i);
	}
}

function hiliteMenu(menuNum)
{
	if (menuNum >= 0) {
		// Hilite the selected menu:
		if (ns4) {
			document["nav" + menuNum].src = menu_img_on[menuNum].src;
		} else {
			document["nav" + menuNum].src = menu_img_on[menuNum].src;
		}
	}
}

function selectMenu(menuNum)
{
	if (menuNum >= 0) {
		// Hilite the selected menu:
		if (ns4) {
			document["nav" + menuNum].src = menu_img_sel[menuNum].src;
		} else {
			document["nav" + menuNum].src = menu_img_sel[menuNum].src;
		}
	}
}

function clearAll(menuNum)
{
	unHiliteAllMenus();
	selectMenu(menuNum);
	hideAllSubMenus();
	menusCleared = 0;
}

function clearAllWithSubmenu(menuNum)
{
	unHiliteAllMenus();
	hiliteMenu(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);

	// Unhilite the sub-menus:
	unHiliteSubMenus(menuNum);
}

function hiliteSubMenu(mainMenu, subMenu)
{
	// First, unhilite the other sub-menus:
	unHiliteSubMenus(mainMenu);
	menusCleared = MENU_START_TIME;

	// Hilite the selected menu:
	if (ns4) {
		document['submenu_' + mainMenu].document["submenu" + mainMenu + "_" + subMenu].src = sub_img_on[mainMenu][subMenu].src;
	} else {
		document["submenu" + mainMenu + "_" + subMenu].src = sub_img_on[mainMenu][subMenu].src;
	}
}
