var tid = new Array();
var lastMenu = new Array();

function show(menuName) 
{
	var actMenu = new Array();
	var subName = "";
	var subMenus = menuName.split("_");
	var addWidth = false; var addHeight = true;
	for (var m = 0; m < subMenus.length; m++) {
		if (m == 0) {
			subName = subMenus[m];
		} else {
			subName += "_" + subMenus[m];
			addWidth = true; var addHeight = false;
		}
		var parentMenu = document.getElementById("m_" + subName);
		var subMenu = document.getElementById("sm_" + subName);

		if (subMenu) {
			actMenu["sm_" + subName] = 1;
			subMenu.style.top = findPosY(parentMenu, addHeight) + "px";
			subMenu.style.left = findPosX(parentMenu, addWidth) + "px";
			subMenu.style.display='block';
			if (tid[subName]) {
				clearTimeout(tid[subName]);
				tid[subName] = "";
			}
		}
	}

	for (menuName in lastMenu) {
		if (!actMenu[menuName]) {
			var menuObj = document.getElementById(menuName);
			menuObj.style.display = "none";
			if (menuObj && menuObj.style.display == "block") {
			}
		}
	}
	lastMenu = actMenu;

}

function hide(menuName)
{
	var subMenus = menuName.split("_");
	for (var m = 0; m < subMenus.length; m++) {
		if (m == 0) {
			subName = subMenus[m];
		} else {
			subName += "_" + subMenus[m];
		}
		tid[subName] = setTimeout("hideMenu('" + subName + "')", 700);
	}
}

function hideMenu(menuName)
{
	var subMenu = document.getElementById("sm_" + menuName);
	if (subMenu) {
		subMenu.style.display='none';
	}
}

function findPosX(obj, addWidth)
{
	var curleft = 0;
	if (addWidth) {
		curleft += obj.offsetWidth;
	}
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj, addHeight)
{
	var curtop = 0;
	if (addHeight) {
		curtop += obj.offsetHeight;
	}
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}