//pop-up menu - K.U.Leuven Internet Communicatie
//Getest voor IE, NS 4.x, NS 6.x, NS 7.x
//Werkt niet in Opera; alternatieve navigatie voorzien
//contacteer icm@kuleuven.be

var ie4 = document.all && navigator.userAgent.indexOf("Opera") == -1;
var ns6 = document.getElementById && !document.all;
var ns4 = document.layers;

function showmenu(e,tekst){
  if (!document.all && !document.getElementById && !document.layers)
    return;
  clearhidemenu();
  menuobj = (ie4? document.all.popmenu :
         ns6? document.getElementById("popmenu") :
         ns4? document.popmenu : "");
  menuobj.thestyle = (ie4||ns6)? menuobj.style : menuobj;
  if (ie4||ns6)
    menuobj.innerHTML = tekst;
  else {
    menuobj.document.write(
      '<layer name=gui bgColor=#F90 width=104 onmouseover="clearhidemenu()"'
      + ' onmouseout="hidemenu()">' + tekst + '</layer>');
    menuobj.document.close();
  }
  menuobj.contentwidth = ((ie4||ns6)? menuobj.offsetWidth :
              menuobj.document.gui.document.width);
  menuobj.contentheight = ((ie4||ns6)? menuobj.offsetHeight :
               menuobj.document.gui.document.height);
  eventX = ie4? event.clientX : ns6? e.clientX : e.x;
  eventY = ie4? event.clientY : ns6? e.clientY : e.y;
  //horizontal position of the menu
  menuobj.thestyle.left=138
  //vertical position of the menu
  hoogte = (ns4? 0 : ie4? document.body.scrollTop : window.pageYOffset)
       + eventY;
  menuobj.thestyle.top = 103 + 20*Math.floor((hoogte-104-2)/20);
  menuobj.thestyle.visibility = "visible";
  return false;
}

function contains_ns6(a, b) {
  while (b.parentNode)
    if ((b = b.parentNode) == a) return true;
  return false;
}

function hidemenu(){
  if (window.menuobj)
    menuobj.thestyle.visibility = (ie4||ns6)? "hidden" : "hide";
}

function dynamichide(e){
  if (ie4 && !menuobj.contains(e.toElement))
    hidemenu();
  else
    if (ns6 && e.currentTarget != e.relatedTarget
    && !contains_ns6(e.currentTarget, e.relatedTarget))
      hidemenu();
}

function delayhidemenu(){
  if (ie4 || ns6 || ns4)
    delayhide = setTimeout("hidemenu()", 500)
}

function clearhidemenu(){
  if (window.delayhide)
    clearTimeout(delayhide);
}

if (ie4 || ns6) document.onclick=hidemenu;
