var menuwidth='75px'; //default menu width
var menubgcolor='lightyellow';  //menu bgcolor
var disappeardelay=250;  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="no"; //hide menu when user clicks within menu?

var ie4=document.all;
var ns6=document.getElementById&&!document.all;

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="z-index:10;position:absolute;visibility:hidden;overflow:automatic;height:250px;width:'+menuwidth+';" onMouseover="clearhidemenu();" onMouseout="dynamichide(event);"></div>');

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 dropdownmenu(obj, e, menucontents, hOffset) {
  if (window.event) 
    event.cancelBubble=true;
  else if (e.stopPropagation) 
    e.stopPropagation();
  clearhidemenu();
  dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv;

  if (ie4||ns6){
    //dropmenuobj.innerHTML=menucontents.join("<br /><hr />");
    dropmenuobj.innerHTML=menucontents.join("");
    //dropmenuobj.style.left=dropmenuobj.style.top="-500px";
    dropmenuobj.style.left=getPosOffset(obj, "left")+ obj.offsetWidth-hOffset+"px";
    //alert(dropmenuobj.style.left);
    dropmenuobj.style.top=getPosOffset(obj, "top")+25+"px";
    //alert(dropmenuobj.style.top);
    //dropmenuobj.style.float="left";

  }
  
  dropmenuobj.style.width=menuwidth;
  dropmenuobj.style.visibility="visible";
  return clickreturnvalue();
}

function clickreturnvalue() {
  if (ie4||ns6) 
    return false;
  else 
    return true;
}

// test if a contains b
function contains_ns6(a, b) {
  while (b.parentNode)
    if ((b = b.parentNode) == a)
      return true;
  return false;
}

function dynamichide(e) {
  if (ie4&&!dropmenuobj.contains(e.toElement))
    delayhidemenu();
  else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
    delayhidemenu();
}

function hidemenu(e){
  if (typeof dropmenuobj!="undefined") {
    if (ie4||ns6)
      dropmenuobj.style.visibility="hidden";
  }
}

function delayhidemenu() {
  if (ie4||ns6)
    delayhide=setTimeout("hidemenu()",disappeardelay);
}

function clearhidemenu() {
  if (typeof delayhide!="undefined")
    clearTimeout(delayhide);
}

if (hidemenu_onclick=="yes")
  document.onclick=hidemenu;

