var menuItem = new Array ();
var menuTime = new Array ();
var waitThisLong = 300;


function menuClear(id)
{
  if (menuTime[id])
  {
    clearTimeout(menuTime[id]);
    menuTime[id] = null;
  }
} // end menuClear


function menuHide(id)
{
  menuClear(id);
  document.getElementById(id).style.display = 'none';
} // end menuHide


function menuShow(id)
{
  for (var i = 0; i < menuItem.length; i++)
  {
    if (document.getElementById(menuItem[i]).style.display != 'none')
    {
      if (menuItem[i] != id)
        menuHide(menuItem[i]);
      else
        menuClear(menuItem[i]);
    }
  }

  document.getElementById(id).style.display = 'block';
} // end menuShow


function menuBlur(id)
{
  menuTime[id] = setTimeout('menuHide(\'' + id + '\');', waitThisLong);
} // end menuBlur


function menuInit(theList, listClass)
{
  theList = (isW3C) ? document.getElementById(theList).getElementsByTagName('ul') : null;

  if (theList)
  {
    var i, j, listItemId, listOfAncors, showListItem, blurListItem;
    var MenuItemPointer = menuItem.length;
    for (i = 0; i < theList.length; i++)
    {
      if (listItemId = theList[i].getAttribute('id'))
      {
        menuItem[MenuItemPointer] = listItemId;
        listItemId = theList[i].parentNode;
        listItemId.className = listClass;
        showListItem = new Function('menuShow(\'' + menuItem[MenuItemPointer] + '\');');
        blurListItem = new Function('menuBlur(\'' + menuItem[MenuItemPointer] + '\');');
        listItemId.onmouseover = showListItem;
        listItemId.onmouseout = blurListItem;
        listOfAncors = listItemId.getElementsByTagName('a');
        for (j = 0; j < listOfAncors.length; j++)
        {
          listOfAncors[j].onfocus = showListItem;
          listOfAncors[j].onblur = blurListItem;
        }

        MenuItemPointer++;
      }
    }
  }
}


