var timeOut=null;
var iCurrentID=0;

function PopupMenu(MenuID){
  if (iCurrentID!=MenuID){
    HideMenu();
    iCurrentID=MenuID;
    ShowMenu();
  }
}

function ShowMenu(){
    document.getElementById("Menu"+iCurrentID).style.width=event.srcElement.width;
    document.getElementById("MenuContainer"+iCurrentID).style.top=event.y-event.offsetY+22;
    document.getElementById("MenuContainer"+iCurrentID).style.left=event.x-event.offsetX-3;
    document.getElementById("MenuContainer"+iCurrentID).filters[0].Apply();
    document.getElementById("Menu"+iCurrentID).style.display="inline";
    document.getElementById("MenuContainer"+iCurrentID).filters[0].Play();
}

function HideMenu(){
    if (iCurrentID!=0) {
      document.getElementById("Menu"+iCurrentID).style.display="none";
      iCurrentID=0;
    }
}

function CheckMouseMove(){
  if (iCurrentID!=0){
    if (IsCurrentMenu(event.srcElement)) {
      if (timeOut!=null) {
	clearTimeout(timeOut);
	timeOut=null;
      }
    }
    else {
      if (timeOut==null){
	timeOut=setTimeout(HideMenu, 400);
      }
    }
  }
}

function IsCurrentMenu(objCurrent){
  var strTagName="";
  try
  {
    strTagName=objCurrent.tagName;
  }
  catch(e){
    return false;
  }
  if (strTagName=="BODY") return false
  else {
    try{
      if ((objCurrent.id=="MenuHeader"+iCurrentID)||(objCurrent.id=="Menu"+iCurrentID)) return true;
    }
    catch(e){
    }
  }
  return IsCurrentMenu(objCurrent.parentElement);
}

document.onmousemove=CheckMouseMove;
window.onresize=HideMenu;
