var lastMenu, showTimeoutID, hideTimeoutID;

function ShowMenu(strID) {
	clearTimeout(hideTimeoutID);
	showTimeoutID = setTimeout(function() {
		var menu = document.getElementById(strID);
		if (menu!=null) {
			if (lastMenu==menu)
				;
			else if(lastMenu!=null)
				lastMenu.style.display = "none";
			lastMenu = menu;
			if (menu.parentElement!=undefined) {
				menu.style.left = menu.parentElement.offsetLeft;
				menu.style.display = "";
			} else {
				alert(getElementPosition(menu.parentNode).left);
				menu.style.left = menu.parentNode.offsetLeft;
				menu.style.display = "";
			}
		}
	}, 150);
}

function ShowMenuEx(parent, strID) {

	var tmenu = document.getElementById(strID);
	if (tmenu)
	{
		clearTimeout(hideTimeoutID);
		showTimeoutID = setTimeout(function() {
			var menu = document.getElementById(strID);
			if (menu!=null) {
				if (lastMenu==menu)
					;
				else if(lastMenu!=null)
					lastMenu.style.display = "none";
				lastMenu = menu;
				menu.style.left = parent.offsetLeft+"px";
				menu.style.top = parent.offsetTop+parent.clientHeight+"px";
				menu.style.display = "";
			}
		}, 150);
	}
}

function HideMenu(strID) {
	//if (lastMenu==null)
	{
		clearTimeout(showTimeoutID);
	}
	hideTimeoutID = setTimeout(function() {
		var menu = document.getElementById(strID);
		if (menu!=null) {
            menu.style.display = "none";
		}
	}, 500);
}

function HideMenuSub(strID) {
//    if (navigator.userAgent.indexOf("IE") != -1) {
//		if (navigator.userAgent.indexOf("Opera") == -1)
//	        return;
//    }
	HideMenu(strID);
}

function getElementPosition(offsetTrail) {
    //var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}