var currentMenuContainer = new Array();
var currentMenuRow = null;

function offsetTopx(obj)
{
	var top = 0;

	for (; obj; obj=obj.offsetParent)
		top = top + obj.offsetTop;
	return(top);
}

function offsetLeftx(obj)
{
	var left = 0;

	for (; obj && obj != document.body; obj=obj.offsetParent)
	{
		left = left + obj.offsetLeft;
	}
	return(left);
}

function loadMenuOuter(parentMenu)
{
	var menuContainer = document.getElementById("menuContainer" + parentMenu.id.substr(7));

	if (parentMenu.getAttribute("bgcolorOver"))
		parentMenu.style.backgroundColor = parentMenu.getAttribute("bgcolorOver");
	if (parentMenu.getAttribute("colorOver"))
		parentMenu.style.color = parentMenu.getAttribute("colorOver");

	if (currentMenuContainer.length)
		menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);

	if (menuContainer)
	{
		menuContainer.style.width = parentMenu.offsetWidth;
		//menuContainer.style.top = offsetTopx(parentMenu) - menuContainer.offsetHeight;
		menuContainer.style.top = offsetTopx(parentMenu) + parentMenu.offsetHeight-1;
		if (offsetLeftx(parentMenu) + menuContainer.offsetWidth > document.body.offsetWidth - 1)
			menuContainer.style.left = document.body.offsetWidth - menuContainer.offsetWidth - 1;
		else
		{
			if (document.body.currentStyle.direction == "rtl")
				menuContainer.style.left = offsetLeftx(parentMenu) + parentMenu.offsetWidth - menuContainer.offsetWidth;
			else
				menuContainer.style.left = offsetLeftx(parentMenu) -4;
		}
		menuContainer.firstChild.style.width = "100%";
		menuContainer.style.visibility = "visible";
		currentMenuContainer[currentMenuContainer.length] = menuContainer;
	}
}

function loadMenu(parentMenu)
{
	var menuContainer = document.getElementById("menuContainer" + parentMenu.id.substr(7));
	if (parentMenu.getAttribute("bgcolorOver"))
		parentMenu.style.backgroundColor = parentMenu.getAttribute("bgcolorOver");
	if (parentMenu.getAttribute("colorOver"))
		parentMenu.style.color = parentMenu.getAttribute("colorOver");

	if (currentMenuContainer.length)
		menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);

	if (menuContainer)
	{
		menuContainer.style.width = parentMenu.offsetWidth;
		menuContainer.style.top = offsetTopx(parentMenu) + parentMenu.offsetHeight;
		if (offsetLeftx(parentMenu) + menuContainer.offsetWidth > document.body.offsetWidth - 20)
			menuContainer.style.left = document.body.offsetWidth - menuContainer.offsetWidth - 30;
		else
			//menuContainer.style.left = offsetLeftx(parentMenu);
			menuContainer.style.left = offsetLeftx(parentMenu) + parentMenu.offsetWidth - menuContainer.offsetWidth;
		
		menuContainer.firstChild.style.width = "100%";
		menuContainer.style.visibility = "visible";
		currentMenuContainer[currentMenuContainer.length] = menuContainer;
	}
}

function loadSubMenu(parentMenuRow)
{
	var menuContainer = document.getElementById("menuContainer" + parentMenuRow.id.substr(7));
	var parentMenuContainer = document.getElementById("menuContainer" + parentMenuRow.parentID);
	var offsetTop;
	var offsetLeft;
	var shift;
	
	if (eval(menuContainer)) {
		menuContainer.style.visibility = "visible";
		if ( document.body.offsetWidth > 800 )
			shift =-100;
		else
			shift = -100;
		
		//alert(document.body.offsetWidth);
		//alert(parentMenuRow.offsetLeft + ' ' + parentMenuRow.offsetParent.offsetLeft);
		offsetTop = parentMenuRow.offsetParent.offsetParent.offsetTop;
		offsetLeft = parentMenuRow.offsetLeft + parentMenuRow.offsetParent.offsetLeft + parentMenuRow.offsetParent.offsetParent.offsetLeft;
		menuContainer.style.top = offsetTop+18;
		if (parentMenuRow.offsetLeft  + 1 < 0)
			menuContainer.style.left = parentMenuRow.offsetLeft + parentMenuRow.offsetWidth;
		else
		{
			if (document.body.currentStyle.direction == "rtl")
				menuContainer.style.left = offsetLeft - menuContainer.offsetWidth ;
			else {
				menuContainer.style.left = offsetLeft + parentMenuRow.offsetWidth + shift;
				//alert('menuContainer.style.left = ' + menuContainer.style.left + ', offsetLeft = ' + offsetLeft + ', parentMenuRow.offsetWidth = ' + parentMenuRow.offsetWidth + ', shift = ' + shift);
				}
		}
		currentMenuContainer[currentMenuContainer.length] = menuContainer;
	}
}

function menuContainerOut(menuContainer)
{
	var toHide = true;
	var menuSub;

	if (menuContainer)
	{
		if (menuContainer == currentMenuContainer[currentMenuContainer.length-1])
		{
			if (menuContainer.contains(event.toElement))
				toHide = false;
			else
			{
				if (currentMenuContainer[currentMenuContainer.length-1].contains(event.toElement))
					toHide = false;
			}

			if (toHide)
			{
				if (menuContainer.filters.blendTrans)
				{
					menuContainer.filters.blendTrans.apply();
					menuContainer.style.visibility = "hidden";
					menuContainer.filters.blendTrans.play();
				}
				else
				{
					menuContainer.style.visibility = "hidden";
				}
				currentMenuContainer.length--;
				if (currentMenuContainer.length)
					menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
			}
		}
		else
		{
			menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
		}
	}
}

function menuRowOver(menuRow)
{
	var menuImg = document.getElementById("divImg" + menuRow.parentID);

	if (eval(menuImg))
		menuImg.className="DivImgVis";
	if (menuRow.getAttribute("bgcolorOver"))
		menuRow.style.backgroundColor = menuRow.getAttribute("bgcolorOver");
	if (menuRow.getAttribute("colorOver"))
		menuRow.style.color = menuRow.getAttribute("colorOver");
}

function menuRowOut(menuRow)
{
	var menuImg = document.getElementById("divImg" + menuRow.parentID);

	if (eval(menuImg))
		menuImg.className="DivImg";
	if (menuRow.getAttribute("bgcolorOver"))
		menuRow.style.backgroundColor = "";
	if (menuRow.getAttribute("colorOver"))
		menuRow.style.color = "";
}

function clearMenu()
{
	if (currentMenuContainer.length)
		menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
}
