var W3CDOM = document.getElementById;
var openMenus = new Array();
var pressedNav = new Array();
var subMenus = new Array();
var timer, browser;
var ua = navigator.userAgent.toLowerCase();

subMenus[1] = 'solutions';
subMenus[2] = 'cases';
subMenus[3] = 'about';

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)',5000);
}

function display() {
  if (timer) clearTimeout(timer);
  var num = this.number;
  if (num <= 4) menuLvl = 1;
  if (num > 4) menuLvl = 2;

  if (openMenus[menuLvl] && openMenus[menuLvl] == subMenus[num]) return;
  if (openMenus[menuLvl]) closeAllMenus(menuLvl);
  if (!subMenus[num]) {}
  else {
      menuToShow = getObjStyle(subMenus[num]);
      menuToShow.visibility = 'visible';
  }
  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';
      }
      openMenus[i] = null;
      if (pressedNav[i]) {
      pressedNav[i].className = '';
      pressedNav[i] = null;
      }
  }
}

function detect(text) {
   stringposition = ua.indexOf(text) + 1;
   data = text;
   return stringposition;
}

if ((detect('msie 5.01')) && (detect('win')) || (detect('safari'))) {
    browser = "adjust";
}

function detectLocations() {
  var offsetLeftValue = 0;
  navItems[0].style.position = 'relative';
  offsetLeftValue += navItems[0].offsetLeft;

  var sub1 = getObjStyle('solutions');
  if (browser == 'adjust') sub1.left = offsetLeftValue + 142 + 'px';
  else sub1.left = offsetLeftValue + 130 + 'px';

  var sub2 = getObjStyle('cases');
  if (browser == 'adjust') sub2.left = offsetLeftValue + 279 + 'px';
  else sub2.left = offsetLeftValue + 274 + 'px';

  var sub3 = getObjStyle('about');
  if (browser == 'adjust') sub3.left = offsetLeftValue + 416 + 'px';
  else sub3.left = offsetLeftValue + 411 + 'px';
}

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

window.onresize = detectLocations;
