var W3CDOM = document.getElementById;
var openMenus = new Array();
var pressedNav = new Array();
var subMenus = new Array();
var timer;

subMenus[0] = 'about';
subMenus[1] = 'programs';
subMenus[5] = 'mhome';

function getObj(idvalue) {
  return document.getElementById(idvalue);
}

function getObjStyle(idvalue) {
  return document.getElementById(idvalue).style;
}

function setTimer() {
  if (timer) clearTimeout(timer);
  timer = setTimeout('closeAllMenus(1)',500);
}

function disp() {
	
  var lvl_1_min = 0; 	//about nsms
  var lvl_1_max = 6;	//contact us
  
  var lvl_2_min = 7;
  var lvl_2_max = 37;

  if (timer) clearTimeout(timer);
  var num = this.number;
  
  //top level, the 7 main menu's, number 0 - 6
  if (num >= lvl_1_min && num <= lvl_1_max) menuLvl = 1;
  
  //sub menu's, numbered top-bottom, left-right
  if ((num >= lvl_2_min) && (num <= lvl_2_max)) menuLvl = 2;
  
  //if multiple sub menu's are desired, modifiy this code
  //if ((num > 28)&& (num <= 34)) menuLvl = 3;
  //if (num > 35) menuLvl = 4;

  if (openMenus[menuLvl] && openMenus[menuLvl] == subMenus[num]) return;
  if (openMenus[menuLvl]) closeAllMenus(menuLvl);
  if (!subMenus[num]) {}
  else {
      menuToShow = getObjStyle(subMenus[num]);
      //menuToShow.visibility = 'visible';
      menuToShow.display = '';
  }
  openMenus[menuLvl] = subMenus[num];
  if (this.className) return;
  this.className = 'over';
  if (pressedNav[menuLvl]) pressedNav[menuLvl].className = '';
  pressedNav[menuLvl] = this;
}

function closeAllMenus(lvl) {

  for (i=openMenus.length - 1; i>=lvl; i--) {
      if (openMenus[i]) {
          menuToHide = getObjStyle(openMenus[i]);
          //menuToHide.visibility = 'hidden';
          menuToHide.display = 'none';
      }
      openMenus[i] = null;
      if (pressedNav[i]) {
	  pressedNav[i].className = '';
	  pressedNav[i] = null;
      }
  }
}

window.onload = function() {
  if (!W3CDOM) return;
  var navHolder = getObj('navbar');
  var navItems = navHolder.getElementsByTagName('a');
  for (i=0; i<navItems.length; i++) {
      	navItems[i].onmouseover = disp;
	navItems[i].onmouseout = setTimer;
	navItems[i].number = i;
  }
}
