var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0; var HideMenuTimer=null;

function DHTML_init()
{
   if (window.opera)
      OP = 1

   if(document.all && !OP)
   {
      DHTML = 1
      MS = 1
   }

   if(document.getElementById)
   {
      DHTML = 1
      DOM = 1
   }

   if (window.netscape && window.screen && !DOM && !OP)
   {
      DHTML = 1
      NS = 1
   }
}

function getElem(ID)
{
   var Elem
   if(DOM)     Elem = document.getElementById(ID)
   else if(MS) Elem = document.all[ID]
   else if(NS) Elem = document[ID]

   return (typeof Elem == "object") ? Elem : void(0)
}

function getAttr(Elem, AttrName)
{
   if (typeof Elem != "object") return void(0)
   if (DOM || MS) return Elem.getAttribute(AttrName)
   else           return Elem[AttrName]
}

function Do(obj)
{
   window.location.href = getAttr(getElem(obj), "cmd")
}

function InitMenu()
{
   DHTML_init()

   var bar = getElem("menuBar").getElementsByTagName("DIV")

   for(var i=0; i<bar.length; i++)
   {
      barID = getAttr(bar[i], "Id")
      bar[i].onmouseover = new Function("ShowMenu(\""+barID+"\")")
      bar[i].onmouseout = new Function("StartMenuTimer()")

      if(getAttr(bar[i], "cmd") != null)
         bar[i].onclick = new Function("Do(\""+barID+"\")")

      menuName = getAttr(bar[i], "menu")
      if (menuName)
         FindSubMenu(getElem(menuName))
   }
}

function FindSubMenu(menu)
{
   if (typeof menu != "object") menu = getElem(menu)
   menu.style.visibility = "hidden"

   var Items = menu.getElementsByTagName("DIV")
   for(var j=0; j<Items.length; j++)
   {
      var itemName = getAttr(Items[j], "Id")
      var menuItem = getElem(itemName)
      var menuID   = getAttr(menuItem, "Id")

      menuItem.onmouseover = new Function("Highlight(\""+itemName+"\")")
      menuItem.onmouseout = new Function("StartMenuTimer()")

      if(getAttr(menuItem, "cmd") != null)
         menuItem.onclick = new Function("Do(\""+menuID+"\")")

      var SubItem = getElem(getAttr(menuItem, "menu"))
      if(SubItem != null)
      {
         menuItem.innerHTML += "&nbsp»"
         FindSubMenu(SubItem)
      }
   }
}

function totalElementXOffset(obj)
{
   var xOffset = (obj.offsetLeft) ? obj.offsetLeft : 0;
   var elParent = obj.offsetParent;
   while(elParent)
   {
      xOffset += (elParent.offsetLeft) ? elParent.offsetLeft : 0;
      elParent = elParent.offsetParent;
   }
   return xOffset;
}

function totalElementYOffset(obj)
{
   var yOffset = (obj.offsetTop) ? obj.offsetTop : 0;
   var elParent = obj.offsetParent;
   while(elParent)
   {
      yOffset += (elParent.offsetTop) ? elParent.offsetTop : 0;
      elParent = elParent.offsetParent;
   }
   return yOffset;
}

function ShowMenu(obj)
{
   ClearMenuTimer()
   if (typeof obj != "object") obj = getElem(obj)
   HideMenu("menuBar")
   var menu = getElem(getAttr(obj, "menu"))
   var bar  = getElem(getAttr(obj, "Id"))
   bar.className = "barOver"
   if(menu != null)
   {
      menu.style.visibility = "visible"
      var Body = getElem("Bdy")
      menu.style.left = totalElementXOffset(obj)
      menu.style.top =  totalElementYOffset(obj) + obj.offsetHeight
   }
}

function ShowSubMenu(obj)
{
   ClearMenuTimer()
   if (typeof obj != "object") obj = getElem(obj)
   PMenu = getElem(getAttr(obj.parentNode, "Id"))
   HideMenu(PMenu)
   var menu = getElem(getAttr(obj, "menu"))
   if(menu != null)
   {
      menu.style.visibility = "visible"
      var Body = getElem("Bdy")
      menu.style.left = totalElementXOffset(obj) + obj.offsetWidth
      menu.style.top  = totalElementYOffset(obj)
   }
}

function HideMenu(obj)
{
   if (typeof obj != "object") obj = getElem(obj)
   if(obj.hasChildNodes()==true)
   {
      var children = obj.getElementsByTagName("DIV")
      for(var j=0; j<children.length; j++)
      {
         if (children[j].className == "barOver")
         {
            var bar = getElem(getAttr(children[j], "Id"))
            bar.className="Bar"
         }

         var childMenu = getElem(getAttr(children[j], "menu"))
         if (childMenu != null)
         {
            if (childMenu.hasChildNodes()==true)
               HideMenu(childMenu)

            childMenu.style.visibility = "hidden"
         }
      }
   }
}

function Highlight(obj)
{
   ClearMenuTimer()
   if (typeof obj != "object") obj = getElem(obj)
   PElementName = getAttr(obj.parentNode, "Id")
   var PElement = getElem(getAttr(obj.parentNode, "Id"))
   if(PElement.hasChildNodes() == true)
   {
      var Elements = PElement.getElementsByTagName("DIV")
      for(var i=0; i<Elements.length; i++)
      {
         TE = getElem(getAttr(Elements[i], "Id"))
         TE.className = "menuItem"
      }
   }
   obj.className = "ItemMouseOver"
   window.defaultStatus = obj.title
   var SubItem = getAttr(obj, "menu")
   if (SubItem) ShowSubMenu(obj)
}

function ClearMenuTimer()
{
   if (HideMenuTimer)
      clearTimeout(HideMenuTimer)
   HideMenuTimer = null
}

function StartMenuTimer()
{
   HideMenuTimer = setTimeout("HideMenu(\"menuBar\")", 2000)
}

