var subMenuVisible = false;

var curMenu = '';
var curSubMenu = '';

function subMenuCheck(e)
{
  var x = event.x + document.body.scrollLeft;
  var y = event.y + document.body.scrollTop;

  if (subMenuVisible) {
    var menu = document.getElementById('menu_pointer'+curMenu);
    mx = menu.offsetLeft;
    my = menu.offsetTop;
    var menu = document.getElementById('menu'+curMenu);
    mw = menu.offsetWidth;
    mh = menu.offsetHeight;
    var submenu = document.getElementById('subMenu_'+curSubMenu);
    sx = submenu.offsetLeft;
    sy = submenu.offsetTop;
    sw = submenu.offsetWidth;
    sh = submenu.offsetHeight;
//    alert('mouse: '+x+' '+y+'\nmenu: '+mx+'+'+mw+', '+my+'+'+mh+'\nsubmenu: '+sx+'+'+sw+', '+sy+'+'+sh);

    if (!(
          ((x >= mx) && (y >= my) && (x <= mx+mw) && (y <= my+mh))
            || 
          ((x >= sx) && (y >= sy-10) && (x <= sx+sw+10) && (y <= sy+sh+10))
       )) {
      submenu.style.visibility = 'hidden';
      subMenuVisible = false;
    }
  }

}

function showSubMenu(cell, m, sm)
{
  if (curMenu && curSubMenu) {
    if (curSubMenu!=sm) {
      el = document.getElementById('subMenu_'+curSubMenu),
      el.style.visibility = 'hidden';
      subMenuVisible = false;

      curMenu = m;
      curSubMenu = sm;
    }
  } else {
    curMenu = m;
    curSubMenu = sm;
  }

  mel = document.getElementById('menu_pointer'+m);
  el = document.getElementById('subMenu_'+curSubMenu);

  if ((m=='W') || (m=='P')) {
    el.style.left = mel.offsetLeft;
    el.style.top = mel.offsetTop+cell.offsetTop+47;
  } else {
    el.style.left = mel.offsetLeft+121;
    el.style.top = mel.offsetTop+cell.offsetTop+1;
  }
  el.style.visibility = 'visible';
  subMenuVisible = true;
}

document.onmousemove = subMenuCheck;
