var timer, i, ns4_menuFunction, justVisibleMenuId = 0, may_hideMenu = true;

var dom = document.getElementById ? true : false;
var ie4 = ((document.all) && (!dom)) ? true : false;
var ns4 = document.layers ? true : false;
var opera = navigator.userAgent.indexOf('Opera') != -1 ? true : false;
var dhtml = dom ? true : ie4 ? true : ns4 ? true : false;

function setVisibility(element,newVisibility)
{
  if (dhtml)
  {
    if (dom) document.getElementById(element).style.visibility = newVisibility;
    else if (ie4) document.all[element].style.visibility = newVisibility;
    else if (ns4) eval('document.' + element + '.visibility = newVisibility');
  }
}

function menu()
{
  if (dhtml)
  {
    if (ns4)
    {
      for (i = 1; i <= 3; i++)
      {
        ns4_menuFunction = eval('ns4_moveMenu' + i);
        document.menu.document.layers['visible' + i].document.captureEvents(Event.MOUSEDOWN);
        document.menu.document.layers['visible' + i].document.onmousedown = ns4_menuFunction;
      }
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown = hideMenu;
    }
    if (opera) for (i = 1; i <= 3; i++) document.getElementById('hidden' + i).style.top = 20;
    if (ie4) for (i = 1; i <= 3; i++) document.all['hidden' + i].style.top = 18;
    setVisibility('menu','visible');
  }
}

function moveMenu(id)
{
  if (dhtml)
  {
    if (justVisibleMenuId == 0)
    {
      setVisibility((ns4 ? 'menu.document.' : '') + 'hidden' + id,'visible');
      justVisibleMenuId = id;
    }
    else
    {
      setVisibility((ns4 ? 'menu.document.' : '') + 'hidden' + justVisibleMenuId,'hidden');
      if (justVisibleMenuId != id)
      {
        setVisibility((ns4 ? 'menu.document.' : '') + 'hidden' + id,'visible');
         justVisibleMenuId = id;
      }
      else justVisibleMenuId = 0;
    }
    may_hideMenu = false;
    setTimeout('may_hideMenu = true',50);
  }
}

function hideMenu(e)
{
  if (dhtml)
  {
    if ((justVisibleMenuId != 0) && (may_hideMenu))
    {
      setVisibility((ns4 ? 'menu.document.' : '') + 'hidden' + justVisibleMenuId,'hidden');
      justVisibleMenuId = 0;
    }
    if (ns4) routeEvent(e);
  }
}

function ns4_moveMenu1(){moveMenu(1);}
function ns4_moveMenu2(){moveMenu(2);}
function ns4_moveMenu3(){moveMenu(3);}
function ns4_moveMenu4(){moveMenu(4);}