var timeOn = null;
var curMen ="";
document.onclick = menuOff;
window.onerror = null;

function menuOn() {
 clearTimeout(timeOn);
}
function menuOff() {
 timeOn = setTimeout("hideAllMenus()", 300);
}

function getStyleObject(objectId) {
 if(document.getElementById && document.getElementById(objectId)) return document.getElementById(objectId).style;
 else if (document.all && document.all(objectId)) return document.all(objectId).style;
 else if (document.layers && document.layers[objectId]) return document.layers[objectId];
 else return false;
}

function changeObjectVisibility(objectId, newVisibility, parentobj) {
 var styleObject = getStyleObject(objectId);
 if(styleObject) {
  if(parentobj!=""){
   styleObject.left = (getposOffset(parentobj, "left")-4) +"px";
   styleObject.top  = (getposOffset(parentobj, "top")+19) +"px";
  }
  styleObject.visibility = newVisibility; return true;
 }
 else return false;
}

function getposOffset(what, offsettype){
 var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
 var parentEl=what.offsetParent;
 while (parentEl!=null){
  totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
  parentEl=parentEl.offsetParent;
 }
 return totaloffset;
}

function showMenu(menuId, eventObj, parentobj) {
 hideAllMenus();
 eventObj.cancelBubble = true;
 if(changeObjectVisibility(menuId, 'visible', parentobj)){ menuOn(); curMen = menuId; return true; }
 else return false;
}

function hideAllMenus() { curmen=""; changeObjectVisibility(curMen,'hidden',""); }

