/*
nav.js
DHTML Navigation
Requires 'useragent.js'
v2.3.1 - 2004/07/15
*/

var MTO; // menu Timeout

// global boolean value that indicates whether the script is allowed to perform its menu rollover effects
// ie. this should be set to false when a nav item is clicked so that no other menu actions are fired while the new page is being loaded (fixes a problem in Firefox)
var allowActions = true; 

function clrMTO () {
	clearTimeout(MTO);
}

function setMenu (menuID, showSubmenu) {
	clrMTO();

	var ua = new uaSniffer();
	var s = "";
	if (ua.isCool) {
		var currentTab = document.getElementById("tab" + menuID);
		var currentMenu = document.getElementById("menu" + menuID);

		if(currentTab != null && currentMenu != null){
			hideMenus();		
			currentMenu.style.visibility = "visible";
	
			var leftPos = findPosX(currentTab);
			var topPos = findPosY(currentTab);
			currentMenu.style.left = leftPos + 'px';
			currentMenu.style.top = (topPos + 36) + 'px';
		}
	}
}

function showMenu (tab) {
	clrMTO();

	var menuID = tab.id.substr(3);
	if(allowActions){
		MTO = setTimeout("setMenu('" + menuID + "', true)",100);
	}
}

function showSubMenu (tab) {
	clrMTO();

	var menuID = tab.id.substr(3);
	if(allowActions){
		MTO = setTimeout("setSubMenu('" + menuID + "', true)",100);
	}
}

function setSubMenu (menuID, showSubmenu) {
	clrMTO();

	var ua = new uaSniffer();
	var s = "";
	if (ua.isCool) {
		var currentTab = document.getElementById("tab" + menuID);
		var currentMenu = document.getElementById("subMenu" + menuID);
		
		if(currentTab != null && currentMenu != null){
			hideSubMenus();
			currentMenu.style.visibility = "visible";
	
			var leftPos = findPosX(currentTab);
			var topPos = findPosY(currentTab);
			var width = findWidth(currentTab);
			currentMenu.style.left = (leftPos + width + 1) + 'px';
			currentMenu.style.top = topPos + 'px';
		}
	}
}

function showDefMenu () {
	clrMTO();
	if(allowActions){
		MTO = setTimeout("hideMenus()",1000);
	}
}

function setProductFamily (menuID) {
	var ua = new uaSniffer();
	if (ua.isCool) {
		document.getElementById("familymenu" + menuID).className = "selected";
	}	
}

function navClicked(){
	allowActions = false;
}

function setHeaderWidth () {
	document.getElementById("header").style.width = String(document.getElementById("content").offsetWidth) + "px";
}


function init () {
	//document.getElementById("tab" + defaultMenu).style.backgroundPosition = "0px -42px";
	//document.getElementById("tab" + defaultMenu).style.color = "#B76F44";
	//setMenu(defaultMenu, false);
}

function hideMenus(){
	for (var i = 0; i < menuArr.length; i++) {
		var elem = document.getElementById("menu" + menuArr[i]);
		if(elem != null) elem.style.visibility = "hidden"
	}
	for (var i = 0; i < subMenuArr.length; i++) {
		var elem = document.getElementById("subMenu" + subMenuArr[i]);
		if(elem != null) elem.style.visibility = "hidden"
	}
}

function hideSubMenus(){
	for (var i = 0; i < subMenuArr.length; i++) {
		var elem = document.getElementById("subMenu" + subMenuArr[i]);
		if(elem != null) elem.style.visibility = "hidden"
	}
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function findWidth(obj)
{
	return obj.offsetWidth;
}
