var nav_menus = new Array();
var nav_menus_loaded = false;
var nav_menu_offset_left = 0;
var nav_menu_offset_top = ((navigator.userAgent.indexOf("Firefox") == -1) && (navigator.userAgent.indexOf("Safari") == -1)) ? 30 : 12;
var cur_on_menu = false;
var last_roll_class = new Object();

var ALIGN_MENUS_RIGHT = false; // can be overridden
var MENU_ON = "visible";
var MENU_OFF = "hidden";


function placeMenus() {
	// There is undoubtedly a CSS fix for this somewhere
	nav_menu_offset_top = (navigator.userAgent.indexOf("MSIE 8.0") != -1)
		? 0 : nav_menu_offset_top;

	try {
		for (var nm in nav_menus) {
			if (nav_menus[nm][1] != null) {
				var navEl = document.getElementById(nav_menus[nm][0]);
				var navMenuEl = document.getElementById(nav_menus[nm][1]);
				if (ALIGN_MENUS_RIGHT) {
					nav_menu_offset_left = 0;
					navMenuEl.style.left = ((navEl.offsetLeft + navEl.offsetWidth) - navMenuEl.offsetWidth + nav_menu_offset_left) + "px";
				} else {
					navMenuEl.style.left = (navEl.offsetLeft + nav_menu_offset_left) + "px";
				}
				navMenuEl.style.top = (navEl.offsetTop + nav_menu_offset_top) + "px";
			}
	    }
	} catch (err) {}
	nav_menus_loaded = true;
}

function showHideNavMenu(parent, status, rollStatus) {
	if (! nav_menus_loaded) {
		return;
	}
	// parent rollover
	imgRoll(parent, rollStatus);
	
	// change class name of nav el
	var menuImg = document.getElementById(parent);
	if (status == MENU_ON) {
		var cur_roll_class = menuImg.className;
		menuImg.className = "menu_image_over";
		last_roll_class[parent] = cur_roll_class;
	} else {
		menuImg.className = last_roll_class[parent];
		last_roll_class[parent] = null;
	}
	// sub nav
	if (nav_menus[parent][1] != null) {
		// now the menu
		var menuEl = document.getElementById(nav_menus[parent][1]);
	    if (! cur_on_menu) {
	        // clear any currently showing menu
	        this.clearAllMenus();
	    }
	    clearOtherMenus(menuEl.id);
		document.getElementById(nav_menus[parent][1]).style.visibility = status;
	}
}

function clearOtherMenus(menu) {
	for (var nm in nav_menus) {
        if ((nm != menu) && (nav_menus[nm][1] != null)) {
            document.getElementById(nav_menus[nm][1]).style.visibility = MENU_OFF;
        }
    }
}

function clearAllMenus() {
	for (var nm in nav_menus) {
		if (nav_menus[nm][1] != null) {
	        document.getElementById(nav_menus[nm][1]).style.visibility = MENU_OFF;
	    }
	}
}
