var menus = new Array();
var timer = null;
/*
function getAbsolutePos(oNode, posName)
{
  var pos = 0;
  for (; !oNode.tagName.match(/^body$/i); oNode = oNode.offsetParent)
    pos += oNode.getAttribute(posName);
  return pos;
}*/

function ShowMenu(e)
{
  var e = e || event;

  var oMenu = e.target || e.srcElement;
  var oSubMenu = document.getElementById(menus[oMenu.id]);
  clearTimeout(timer);
  if (oMenu.id == 'menu1'
    //|| oMenu.id == 'menu2'
    || oMenu.id == 'menu3'
    || oMenu.id == 'menu4'
    //|| oMenu.id == 'menu5'
    || oMenu.id == 'menu6'
    || oMenu.id == 'menu7')
    HideAllMenusImpl();
  if (oSubMenu) {
//    oSubMenu.style.top = getAbsolutePos(oMenu, 'offsetTop') - 2;
//    oSubMenu.style.left = getAbsolutePos(oMenu, 'offsetLeft') + oMenu.offsetWidth + 4;
    oSubMenu.style.display = 'block';
  }
  return true;
}

function HideAllMenus()
{
  clearTimeout(timer);
  timer = setTimeout('HideAllMenusImpl()', 100);
  return false;
}

function HideAllMenusImpl()
{
  for (mId in menus) {
    var sm = document.getElementById(menus[mId]);
    if (sm.style.display != 'none')
      sm.style.display = 'none';
  }
  return false;
}

function initMenu(id)
{
  // TODO: 1) автоматический поиск подменю 2) древовидная структура 3) независимость от id
  menus['menu1'] = 'submenu1';
  //menus['menu2'] = 'submenu2';
  menus['menu3'] = 'submenu3';
  menus['menu4'] = 'submenu4';
  //menus['menu5'] = 'submenu5';
  menus['menu6'] = 'submenu6';
  menus['menu7'] = 'submenu7';

  for (mId in menus) {
    var m = document.getElementById(mId);
    var sm = document.getElementById(menus[mId]);
    m.onmouseover = ShowMenu;
    m.onmouseout  = HideAllMenus;
    sm.onmouseover = ShowMenu;
    sm.onmouseout  = HideAllMenus;
  }
}

window.onload = function()
{
  initMenu('menu');
  /*
  var aImages = document.getElementsByTag('img');
    alert(aImages);
  for (oImage in aImages) {
    alert(oImage);
    if (oImage.witdh)
      alert(oImage.witdh);
    //oImage.witdh = oImage.witdh;
  }
  */
}

