var curElement;
var curPage;
var menuTimeout = 500;

function displayMenu(triggerID, divID) {
  if(document.getElementById(divID)) {
    var el = document.getElementById(divID);
    el.style.left = cumulativeOffset(triggerID)[0]+"px";
    el.style.top = cumulativeOffset(triggerID)[1]+"px";
    el.style.display="block";
    triggerID.style.backgroundPosition = "0 -41px";
    curElement = triggerID;
    menuOver = true;
  }
}

function hideMenu(divID) {
  if(document.getElementById(divID)) {
    menuOver=false;
    setTimeout("hideMenuNow('"+divID+"')",menuTimeout);
  }
}

function hideMenuNow(divID) {
  if(document.getElementById(divID)) {
    if(menuOver) {
      setTimeout("hideMenuNow('"+divID+"')",menuTimeout);
    } else {
      document.getElementById(divID).style.display="none";
      if(curPage==divID.substring(0,divID.length - 4))
        curElement.style.backgroundPosition = "0 -4px";
      else
        curElement.style.backgroundPosition = "0 0";
    }
  }
}

function cumulativeOffset(element) {
  var valueT = element.offsetHeight, valueL = 0;
  do {
    valueT += element.offsetTop  || 0;
    valueL += element.offsetLeft || 0;
    element = element.offsetParent;
  } while (element);
  return [valueL, valueT];
};

