last_id=0;
menupos=0;

function menu_init()
  {
  for(ID=0;ID<100;ID++)
    {
    div=document.getElementById("sm_"+ID);
    link=document.getElementById("m_"+ID);
    if(div && link)
      {
      div.style.display="block";
      if(div.clientWidth+4-link.clientWidth>0)
        {
        div.style.marginLeft=0;
        div.style.left=(link.offsetLeft-(div.clientWidth+4-link.clientWidth)/2)+"px";
        }
      else
        {
        div.style.marginLeft=0;
        div.style.left=link.offsetLeft+"px";
        div.style.width=link.clientWidth;
        }
      for(x=0;x<10;x++)
        {
        sub=document.getElementById("sb_"+ID+"_"+x);
        if(sub)
          {          sub.style.width=div.clientWidth-10+"px";
          }

        }
      div.style.display="none";
      }
    }
  }

function ShowSub(ID,event)
  {
  if(ID!=last_id)
    {
//    alert(ID+" "+last_id);
    hidesub(event);
    }

  div=document.getElementById("sm_"+ID);
  link=document.getElementById("m_"+ID);

  if(div && link)
    {
    if(div.style.display!="block")
      {
      div.style.display="block";
      link.style.backgroundPosition="0px -46px";
      menupos=1;
      div.style.maxHeight="1px";
      t = setInterval('rollMenu('+ID+')', 2);
      last_id=ID;
      }
    }
  }

function hidesub(event)
  {
  div=document.getElementById("sm_"+last_id);
  link=document.getElementById("m_"+last_id);
  if(div && link)
    {
    if(!(defPosition(event).x>absPosition(div).x && defPosition(event).x<absPosition(div).x+div.clientWidth && defPosition(event).y>absPosition(div).y && defPosition(event).y<absPosition(div).y+div.clientHeight) && !(defPosition(event).x>absPosition(link).x && defPosition(event).x<absPosition(link).x+link.clientWidth && defPosition(event).y>absPosition(link).y-link.clientHeight && defPosition(event).y<absPosition(link).y+link.clientHeight))
      {
      link.style.backgroundPosition="0px 0px";
      div.style.display="none";
      clearInterval(t);
      }
    }
  }

function defPosition(event)
  {
  var x = y = 0;
  if (document.attachEvent != null)
    { // Internet Explorer & Opera
    x = window.event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    y = window.event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
    }
  else if (!document.attachEvent && document.addEventListener)
    { // Gecko
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
    }
  else
    {
      // Do nothing
    }
  return {x:x, y:y};
  }

function absPosition(obj)
  {
  var x = y = 0;
  while(obj)
    {
    x += obj.offsetLeft;
    y += obj.offsetTop;
    obj = obj.offsetParent;
    }
  return {x:x, y:y};
  }

function rollMenu(ID)
  {
  div=document.getElementById("sm_"+ID);

  if(div)
    {
    if(menupos>div.clientHeight)
      {
      clearInterval(t);
      return;
      }

    menupos+=5;
    div.style.maxHeight=menupos+"px";

    }
  }

