menu_focus = null;
menu_blur = null;

function initNav() {
  var n = $('nav-body');
  var li = n ? n.getElementsByTagName('LI') : [];
  for (var i=0; i<li.length; i++) {
    if (!_empty(li[i].className) && li[i].className.indexOf('nav') > -1) {
      li[i].onmouseover = function(evt) { menu_over(this, evt); }
      li[i].onmouseout = function(evt) { menu_out(this, evt); }
    }
  }
  $('sidebar').onmouseout = blurNav;
  $('content').onmouseover = blurNav;
  $('header').onmouseover = blurNav;
}

function blurNav() {
  blurMenu();
  if (!_empty(menu_focus)) {
    menu_blur = menu_focus;
    menu_focus = null;
    blurMenu();
  }
}

function menu_over(obj, evt) {
  _kill(evt);

  if (_empty(obj.id))
    return false;

  if (obj.id == menu_focus)
    return false;

  if (obj.id == menu_blur) {
    menu_blur = null;
    return false;
  }

  blurMenu();
  if (!_empty(menu_focus)) {
    menu_blur = menu_focus;
    menu_focus = null;
    blurMenu();
  }

  menu_focus = obj.id;
  focusMenu();
  return false;
}

function menu_out(obj, evt) {
  _kill(evt);

  menu_blur = obj.id;
  return false;
}

function focusMenu() {
  if (!_empty(menu_focus)) {
    var o = $(menu_focus);
    if (o)
      o.className = o.className + ' hover';
  }
}

function blurMenu() {
  if (!_empty(menu_blur)) {
    var o = $(menu_blur);
    if (o)
      o.className = 'nav';
    menu_blur = null;
  }
}

function getSubmenu(obj) {
  var s = obj.getElementsByTagName('ul');
  return s && s.length ? s[0] : null;
}

_load(initNav);
