activeMenu = false;
menuTimerRunning = false;
function toggleMenu(id, toggle) {
	if(document.getElementById) {
		if(id && toggle) {
			element = document.getElementById(id);
			status = element.style.display;
			if (!status || status == 'undefined' || status == 'none') {
				posLeft = getObjectPosLeft(toggle) + 10;
				element.style.left = posLeft + 'px';
				element.style.top = '0px';
				element.style.display = 'block';
				
				posTop = getObjectPosTop(toggle) - element.offsetHeight - 10;
				
				element.style.top = posTop + 'px';
				element.onmouseover = checkMenuTimer;
				element.onmouseout = startMenuTimer;
				activeMenu = id;
			}
			else {
				element.style.display = 'none';
				activeMenu = false;
			}
		}
		else if(activeMenu) {
			checkMenuTimer();
  			document.getElementById(activeMenu).style.display = 'none';
			activeMenu = false;
  		}
	}	
}

function toggleISMenu(id, toggle) {
    if(document.getElementById) {
        if(id && toggle) {
            element = document.getElementById(id);
            status = element.style.display;
            if (!status || status == 'undefined' || status == 'none') {
                posLeft = getObjectPosLeft(toggle) + 10;
                element.style.left = posLeft + 'px';
                element.style.top = '0px';
                element.style.display = 'block';
                
                posTop = getObjectPosTop(toggle) - element.offsetHeight - 10;
                
                element.style.top = posTop + 'px';
                activeMenu = id;
            }
            else {
                element.style.display = 'none';
                activeMenu = false;
            }
        }
        else if(activeMenu) {
            checkMenuTimer();
              document.getElementById(activeMenu).style.display = 'none';
            activeMenu = false;
          }
    }    
}

function getObjectPosLeft(element) {
	var left = element.offsetLeft;
	while((element = element.offsetParent) != null)	{
		left += element.offsetLeft;
	}
	return left;
}
function getObjectPosTop(element) {
	var top = element.offsetTop;
	while((element = element.offsetParent) != null)	{
		top += element.offsetTop;
	}
	return top;
}
function checkMenuTimer() {
	if(menuTimerRunning)  {
		clearTimeout(menuTimerRunning);
		menuTimerRunning = false;
	}
}
function startMenuTimer() {
	menuTimerRunning = setTimeout("toggleMenu();", 500);
}
