ready = false;
justHiding = false;

function showSubmenu(el) {
  if (document.getElementById) {
    if (justHiding) {
      clearTimeout(justHiding);
      justHiding = false;
      document.getElementById("submenucontainer").style.overflow = "visible";
      document.getElementById("submenucontainer").style.display = "none";
      document.getElementById("submenucontainer").style.width = "auto";
      document.getElementById("submenucontainer").style.height = "auto";
    }
    subM = el.getElementsByTagName("ul")[0].innerHTML;
    posX = 0;
	  //el = el.parentNode;
    while(el) {
      posX += el.offsetLeft;
      el = el.offsetParent;
    }
    if (ready) {
      document.getElementById("submenucontainer").style.left = (posX + 1)+"px";
      document.getElementById("submenucontainer").style.top = "127px";
      document.getElementById("submenucontainer").innerHTML = subM;
      document.getElementById("submenucontainer").style.display = "block";
    
      // ueberwachungsbereich einrichten
      // wenn die maus den bereich verlaesst, wird das menue zugeklappt
      ueberwachungLeft = document.getElementById("submenucontainer").offsetLeft -10;
      ueberwachungTop = 20;
      ueberwachungRight = ueberwachungLeft + document.getElementById("submenucontainer").offsetWidth +20;
      ueberwachungBottom = document.getElementById("submenucontainer").offsetTop + document.getElementById("submenucontainer").offsetHeight +10;
    }
  }
}
function hideSubmenu() {
  if (justHiding == false) {
    subWidth = document.getElementById("submenucontainer").offsetWidth - 2;
    document.getElementById("submenucontainer").style.overflow = "hidden";
    document.getElementById("submenucontainer").style.width = subWidth + "px";
  }
  document.getElementById("submenucontainer").style.height = (document.getElementById("submenucontainer").offsetHeight - 8) + "px";
  if (document.getElementById("submenucontainer").offsetHeight >= 8) {
    justHiding = setTimeout("hideSubmenu()",20);
  }
  else {
    justHiding = false;
    document.getElementById("submenucontainer").style.overflow = "visible";
    document.getElementById("submenucontainer").style.display = "none";
    document.getElementById("submenucontainer").style.width = "auto";
    document.getElementById("submenucontainer").style.height = "auto";
  }
}
function mausMovePos(ereignis) {
  if (ready && !justHiding && document.getElementById("submenucontainer").style.display == "block") {
    posx = document.all ? window.event.clientX + document.documentElement.scrollLeft : ereignis.pageX;
    posy = document.all ? window.event.clientY + document.documentElement.scrollTop : ereignis.pageY;
    if (posx < ueberwachungLeft || posx > ueberwachungRight || posy < ueberwachungTop || posy > ueberwachungBottom) {
      hideSubmenu();
    }
  }
}

document.onmousemove = mausMovePos;