
var timerId;
var currentMenuItem;
var activeMenu;
var currentLevel = 0;
var lastLevel = 0;
var stack = new Array();
var yBase = 122 + 35;
var defaultHeight = 20;
var aux = '';
var _url = "http://" + document.location.host;

function highlight(menuItem)
{
	yBase = 122 + 35 - document.body.scrollTop;
	//alert('ok');
	//alert(BaseMenu.scrollTop);
	var menuItemX = getMenuItemX(menuItem);
	var menuItemY = getMenuItemY(menuItem);
	var menuItemW = getMenuItemW(menuItem);

	var childName = menuItem.ChildMenu;
	
	var level = parseInt(menuItem.parentNode.parentNode.parentNode.parentNode.Level);
	var menuContainerYT = menuItem.parentNode.parentNode.parentNode.parentNode.offsetTop;
	
	if(timerId)
	{
		clearTimeout(timerId);
		setItemNormal2(menuItem);
	}
	
	if(childName != '')
	{
		var childMenu = document.all[menuItem.ChildMenu];
		var childMenuStyle = childMenu.style;
	}

	currentMenuItem = menuItem;
	menuItem.className = 'itemSelected';
	if(childName != '')
	{
		childMenuStyle.left = menuItemX + menuItemW;
		if(level > 0)
			childMenuStyle.top = menuItemY - yBase - BaseMenu.offsetTop + menuContainerYT;
		else childMenuStyle.top = menuItemY - yBase - BaseMenu.offsetTop;
		childMenuStyle.visibility = "visible";
	}
}

function setNormal(menuItem)
{
	timerId = setTimeout('setItemNormal()', 500);
}

function setItemNormal()
{
	var menuItem = currentMenuItem;
	var currMenu = menuItem.parentNode.parentNode.parentNode.parentNode;
	var level = parseInt(currMenu.Level);
	
	if(menuItem.ChildMenu != '')
	{
		var childMenu = document.all[menuItem.ChildMenu];
		childMenu.style.visibility = 'hidden';
	}

	menuItem.className = 'itemNormal';

	if(level > 0)
	{
		notbase = true;
		currentMenuItem = document.all[aux + menuItem.parentNode.parentNode.parentNode.parentNode.ParentItem];
		setItemNormal();
	}
}

function setItemNormal2(sMenu)
{
	//currently selected
	var menuItem = currentMenuItem;
	var currMenu = menuItem.parentNode.parentNode.parentNode.parentNode;
	var level = parseInt(currMenu.Level);
	//new to select
	var sMenuItem = sMenu;
	var sCurrMenu = sMenuItem.parentNode.parentNode.parentNode.parentNode;
	var sLevel = parseInt(sCurrMenu.Level);

	if(currMenu == sCurrMenu || (sLevel < level && sMenu == document.all[currMenu.ParentItem]))
	{
		if(menuItem.ChildMenu != '')
		{
			var childMenu = document.all[menuItem.ChildMenu];
			childMenu.style.visibility = 'hidden';
		}

		menuItem.className = 'itemNormal';
	}
	else if(sLevel < level && sMenu != document.all[currMenu.ParentItem])
	{
		if(menuItem.ChildMenu != '')
		{
			var childMenu = document.all[menuItem.ChildMenu];
			childMenu.style.visibility = 'hidden';
		}

		menuItem.className = 'itemNormal';
		currMenu.style.visibility = 'hidden';
		document.all[currMenu.ParentItem].className = 'itemNormal';
	}
}

function addActiveMenu(menu)
{
	var level = parseInt(menu.Level);
	stack[level] = menu;
	currentLevel = level;
	activeMenu = menu;
}

function removeActiveMenu(menu)
{
	/*var x = window.event.clientX - 3;
	var y = window.event.clientY - 3;
	var menuX = menu.offsetLeft;
	var menuY = menu.offsetTop + yBase;
	
	if(x <= menuX || y < menuY)
	{
		menu.style.visibility = 'hidden';
		closeAll(document.all[aux + menu.ParentItem]);
	}*/

	lastLevel = parseInt(menu.Level);
	stack.pop();
}

//Auxiliary methods
function getMenuItemX(menuItem)
{
	var x = menuItem.parentNode.parentNode.parentNode.parentNode.offsetLeft;

	return x;
}

function getMenuItemY(menuItem)
{
	var y = yBase + menuItem.parentNode.offsetTop + BaseMenu.offsetTop;// + menuItem.parentNode.parentNode.parentNode.parentNode.offsetTop;

	return y;
}

function getMenuItemW(menuItem)
{
	var w = menuItem.clientWidth;

	return w;
}

function goToURL(url)
{
	window.navigate(_url + url);
}

function closeAll(menuItem)
{
	menuItem.className = 'itemNormal';
	var level = parseInt(menuItem.parentNode.parentNode.parentNode.parentNode.Level);
	//alert(level);
	var menuContainer = menuItem.parentNode.parentNode.parentNode.parentNode;
	if(level > 0)
	{
		menuContainer.style.visibility = 'hidden';
		closeAll(document.all[aux + menuContainer.ParentItem]);
	}
}