
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	return curtop;
}

function topmenu_setObjMouseOver(obj)
{
	obj.onmouseover = function()
	{
		this.className += " over";
		menu_iframe = document.getElementById("topmenu_iframe");
		for (var i = 0; i < this.childNodes.length; i++)
		{
			var subobj = this.childNodes[i];
			if (subobj.nodeName == "UL")
			{
				menu_iframe.style.display = "block";
				menu_iframe.style.left = findPosX(subobj) + "px";
				menu_iframe.style.top = findPosY(subobj) + "px";
				menu_iframe.style.width = subobj.offsetWidth;
				menu_iframe.style.height = subobj.offsetHeight;
			}
		}
	};
	obj.onmouseout = function()
	{
		this.className = this.className.replace(" over", "");
		menu_iframe = document.getElementById("topmenu_iframe");
		menu_iframe.style.display = "none";		
		menu_iframe.style.left = "0px";
		menu_iframe.style.top = "0px";
	};
}

function topmenu_setLiChildrenMouseOver(obj)
{
	for (var i = 0; i < obj.childNodes.length; i++)
	{
		var node = obj.childNodes[i];
		if (node.nodeName == "LI")
		{
			topmenu_setObjMouseOver(node);
			for (var j = 0; j < node.childNodes.length; j++)
			{
				var subnode = node.childNodes[j];
				if (subnode.nodeName == "UL")
				{
					topmenu_setLiChildrenMouseOver(subnode);
				}
			}
		}
	}
}

function topmenu_setMouseOver()
{
	// only for IE
	if (document.all && document.getElementById)
	{
		topmenuRoot = document.getElementById("topmenu");
		topmenu_setLiChildrenMouseOver(topmenuRoot);
	}
}

window.onload = topmenu_setMouseOver;

