	
var menuwidth = '165px' //default menu width
var menubgcolor = 'lightblue'  //menu bgcolor
var disappeardelay = 250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick = "yes" //hide menu when user clicks within menu?
var objCall;

/////No further editting needed

var ie4 = document.all
var ns6 = document.getElementById&&!document.all

if (ie4 || ns6)
   document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function ResetHoverColor(obj)  {
   obj.style.color = '';
   obj.style.backgroundColor = '';
}

function SetHoverColor(obj)  {
   obj.style.color = '#FF0000';
   obj.style.backgroundColor = '#00AAFF';
}

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 showhide(obj, e, visible, hidden, menuwidth){
   if (ie4 || ns6)
      dropmenuobj.style.left = dropmenuobj.style.top=-500
      if (menuwidth != ""){
         dropmenuobj.widthobj = dropmenuobj.style
         dropmenuobj.widthobj.width = menuwidth
   }
   if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
      obj.visibility=visible
   else 
      if (e.type=="click")
         obj.visibility=hidden
}

function iecompattest(){
   return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
   var edgeoffset=0
   if (whichedge=="rightedge"){
      var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
      dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
      if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
         edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
   }
   else{
      var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
      var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
      dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
/*      var hlineoffset = dropmenudiv.document.getElementById("menuhline").offsetTop;*/
      if (windowedge - dropmenuobj.y + obj.offsetHeight - 10  < dropmenuobj.contentmeasure){ //move up?
         edgeoffset = dropmenuobj.contentmeasure - (windowedge - dropmenuobj.y + obj.offsetHeight - 10)
/*         edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
         if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
            edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge*/
      }
   }
   return edgeoffset
}

function populatemenu(what){
   if (ie4||ns6)
      dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth, bColor, fColor){
   if (objCall != undefined)  {
      objCall.style.backgroundColor = '';
      objCall.style.color = '';
   }
   obj.style.backgroundColor = bColor;
   obj.style.color = fColor;
   objCall = obj;

   if (window.event) 
      event.cancelBubble=true
   else 
      if (e.stopPropagation) 
         e.stopPropagation()

   clearhidemenu()
   dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
   populatemenu(menucontents)

   if (ie4||ns6){
      showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
      dropmenuobj.x=getposOffset(obj, "left")
      dropmenuobj.y=getposOffset(obj, "top")
      dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
      dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
   }

   return clickreturnvalue()
}

function dropsidemenu(obj, e, menucontents, menuwidth, bColor, fColor){
   if (objCall != undefined)  {
      objCall.style.backgroundColor = '';
      objCall.style.color = '';
   }
   obj.style.backgroundColor = bColor;
   obj.style.color = fColor;
   objCall = obj;
   if (window.event) 
      event.cancelBubble=true
   else 
      if (e.stopPropagation) 
         e.stopPropagation()

   clearhidemenu()
   dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
   populatemenu(menucontents)

   if (ie4||ns6){
      showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
      dropmenuobj.x=getposOffset(obj, "left")
      dropmenuobj.y=getposOffset(obj, "top")
      dropmenuobj.style.left=dropmenuobj.x - clearbrowseredge(obj, "rightedge") + obj.offsetWidth + 5 + "px"
      dropmenuobj.style.top=dropmenuobj.y - clearbrowseredge(obj, "bottomedge") + "px"
   }

   return clickreturnvalue()
}

function clickreturnvalue(){
   if (ie4||ns6) 
      return false
   else 
      return true
}

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"
         objCall.style.color = '';
         objCall.style.backgroundColor = '';
      }
   }
}

function delayhidemenu(){
   if (ie4||ns6)
      delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
   if (typeof delayhide!="undefined")
      clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
   document.onclick=hidemenu

