function Node(obRef)
{
  this.obRef=obRef;
  this.timeRef=null;
}
myNodes=new Array();
         
function isParent(kind, ouder)
{
  oudere=kind.parentNode;
  do
  {
    oudere=oudere.parentNode;
    if (oudere==ouder)
    {
      return true;
    }
  }
  while (oudere.nodeName!='BODY')
  return false;
}
         
function showSub(showNode)
{
  if (isNaN(showNode.rIndex))
  {
    showNode.rIndex=myNodes.length;
    myNodes[showNode.rIndex]=new Node(showNode);
  }
  else
  {
    clearTimeout(myNodes[showNode.rIndex].timeRef);
  }
  temp='';
  for (i in myNodes)
  {
    if (!isParent(myNodes[i].obRef, showNode))
    {
      clearTimeout(myNodes[i].timeRef);
      doHide(myNodes[i].obRef);
    }
  }
  for (i in showNode.childNodes)
  {
    if (showNode.childNodes[i].nodeType==1)
    {
      showNode.childNodes[i].style.display='block';
    }
  }
}
         
function hideSub(hideNode)
{
  myNodes[hideNode.rIndex].timeRef=setTimeout('doHide(myNodes['+hideNode.rIndex+'].obRef)', 300);
}
         
function doHide(doNode)
{
  for (i in doNode.childNodes)
  {
    if (doNode.childNodes[i].nodeType==1 && doNode.childNodes[i].nodeName=='UL')
    {
      doNode.childNodes[i].style.display='none';
    }
  }
}
window.onload=function()
{
  if (document.getElementById('menu')){
    var li = document.getElementById('menu').getElementsByTagName('li');
    var ul;
    for (i in li)
    {
      if(!isNaN(i))
      {
        ul = li[i].childNodes;
        for(j in ul)
        {
          if(ul[j].nodeName == 'UL')
          {
            ul[j].className = li[i].className = 'sub';
            li[i].onmouseover = function ()
            {
              showSub(this);
            }
            li[i].onmouseout = function ()
            {
              hideSub(this);
            }
          }
        }
      }
    }
  }
  if (document.getElementById('shopmenu')){
    li = document.getElementById('shopmenu').getElementsByTagName('li');
    for (i in li)
    {
      if(!isNaN(i))
      {
        ul = li[i].childNodes;
        for(j in ul)
        {
          if(ul[j].nodeName == 'UL')
          {
            ul[j].className = li[i].className = 'sub';
            li[i].onmouseover = function ()
            {
              showSub(this);
            }
            li[i].onmouseout = function ()
            {
              hideSub(this);
            }
          }
        }
      }
    }
  }
}    
