var pageLoaded = true;
var prevMenu = '-';
var prevSubMenu = '-';
var curHover = '-';
var curSubHover = '-';

function setupMenu(){
  var greatestWidth = 0;
  var menuDivs = document.getElementsByTagName('div');
  for(i = 0; i < menuDivs.length; i++){
    curMenuDiv = menuDivs[i];
    if(curMenuDiv.className == 'menudiv'){
      curWidth = curMenuDiv.offsetWidth;
      if(curWidth > greatestWidth){greatestWidth = curWidth;}
    }
  }
  for(i = 0; i < menuDivs.length; i++){
    curMenuDiv = menuDivs[i];
    if(curMenuDiv.className == 'menudiv'){
      curMenuDiv.style.width = greatestWidth + 'px';
      if(setMenuHeight){curMenuDiv.style.height = '307px';}
    }
  }
  if(!window.XMLHttpRequest){
    var menuLinks = document.getElementsByTagName('a');
    for(i = 0; i < menuLinks.length; i++){
      curMenuLink = menuLinks[i];
      if(curMenuLink.className == 'menulink' || curMenuLink.className == 'submenulink'){
        curMenuLink.style.width = greatestWidth + 'px';
      }
    }
  }

  pageLoaded = true;
}

window.onload = setupMenu;

function showMenu(menu, obj){
  if(pageLoaded){
    var curMenu = document.getElementById(menu);
    if(prevMenu != '-'){document.getElementById(prevMenu).style.visibility = 'hidden';}

    if(obj != null){
      curHover = obj;
      objTemp = obj;
      if(objTemp.offsetParent){
        menu_x = objTemp.offsetLeft;
        menu_y = objTemp.offsetTop;
        menu_w = objTemp.offsetWidth;
        menu_h = objTemp.offsetHeight;
        while(objTemp = objTemp.offsetParent){
          menu_x += objTemp.offsetLeft;
          menu_y += objTemp.offsetTop;
        }
      }
    }

    curMenu.style.visibility = 'visible';
    prevMenu = menu;

    var maintable = document.getElementById('main_admissions');
    var maintableobj = maintable;  
    if(maintableobj.offsetParent){
      maintable_x = maintableobj.offsetLeft;
      while(maintableobj = maintableobj.offsetParent){
        maintable_x += maintableobj.offsetLeft;
      }
    }

    var difWidth = curMenu.offsetWidth - menu_w;
    var difHalfWidth = difWidth / 2;
    var menuLeft = menu_x - difHalfWidth
    if(menuLeft < (maintable_x + 119)){
      menuLeft = maintable_x + 119;
    }
    if((curMenu.offsetWidth + menu_x) > (maintable_x + 726)){
      menuLeft = maintable_x + 726 - curMenu.offsetWidth;
    }

    curMenu.style.left = menuLeft + 'px';
    curMenu.style.top = menu_y + menu_h + 'px';
  }
}

function showSubMenu(menu, obj){
  if(pageLoaded){
    if(prevMenu != '-'){document.getElementById(prevMenu).style.visibility = 'visible';}
    var curSubMenu = document.getElementById(menu);
    prevSubMenu = menu;

    if(obj !== null){
      curSubHover = obj;
      prevMenuobj = obj;
      if(prevMenuobj.offsetParent){
        submenu_x = prevMenuobj.offsetLeft;
        submenu_y = prevMenuobj.offsetTop;
        submenu_w = prevMenuobj.offsetWidth;
        submenu_h = prevMenuobj.offsetHeight;
        while(prevMenuobj = prevMenuobj.offsetParent){
          submenu_x += prevMenuobj.offsetLeft;
          submenu_y += prevMenuobj.offsetTop;
        }
      }
    }
    if(curSubHover !== '-'){curSubHover.className = 'menulinkarrow_hover';}

    var maintable = document.getElementById('main_admissions');
    var maintableobj = maintable;
    if(maintableobj.offsetParent){
      maintable_x = maintableobj.offsetLeft;
      maintable_y = maintableobj.offsetTop;
      while(maintableobj = maintableobj.offsetParent){
        maintable_x += maintableobj.offsetLeft;
        maintable_y += maintableobj.offsetTop;
      }
    }

    var padSet = 12;
    subMenuLeft = submenu_x + submenu_w - padSet;
    /*
    if((submenu_x + submenu_w + curSubMenu.offsetWidth - padSet) > (maintable_x + 691)){
      subMenuLeft = submenu_x + padSet - 8 - curSubMenu.offsetWidth;
    }
    */
    curSubMenu.style.left = subMenuLeft + 'px';
    subMenuTop = submenu_y - (curSubMenu.offsetHeight / 2) + (submenu_h / 2);
    if(subMenuTop < 322){
      subMenuTop = 322;
    }
    curSubMenu.style.top = subMenuTop + 'px';

    curSubMenu.style.visibility = 'visible';
    prevSubMenu = menu;
  }
}

function hideMenu(menu){
  if(pageLoaded){
    if(curSubHover !== '-'){curSubHover.className = 'menulinkarrow';}

    var curMenu = document.getElementById(menu);
    curMenu.style.visibility = 'hidden';
    if(menu.search('submenu') > -1){
      document.getElementById(prevMenu).style.visibility = 'hidden';
    }
  }
}
