/*
 * Menu handling utility functions.
 *
 * Conventions
 *   - For each menu item, there should be two images; xxOn.jpg and xxOff.jpg
 *   - For each menu item, there needs to be a stylesheet item of xxMenu
 */

// control variables
var delayMenu = 500;	// how long a menu should hang when mouse has moved on

// variable Declerations
var over = 'no';
var lastOne = ' ';

// simple browser sniffer. The new way
var isNav4 = false;
var isIE4 = false;
var isGecko = false;
if (document.layers) {
   navigator.family = "nn4"
   isNav4 = true;
}
if (document.all) {
   navigator.family = "ie4"
   isIE4 = true;
}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {
   navigator.family = "gecko"
   isGecko = true;
}

function onMenu(pic) 
{
   if (document.images) {
      over = 'yes';

      if (isNav4)  {
        // if on main page, we dont display for ns4 because of flash
        var fo = document.images.mainPage;
        if (fo != null) {
           over = 'no';
           return;
        }

        if (lastOne != ' ')  {
          eval('document.' + lastOne + 'Menu.visibility = "hidden"');
        }
        eval('document.' + pic + 'Menu.visibility = "visible"');

      } else if (isIE4) {
        if (lastOne != ' ')  {
          eval(lastOne + 'Menu.style.visibility = "hidden"');
        }
         eval(pic + 'Menu.style.visibility = "visible"');

      } else {
        //gecko
        if (lastOne != ' ')  {
          var objTmp = getObj( lastOne + 'Menu');
          objTmp.visibility = "hidden";
        }
        var obj2 = getObj( pic + 'Menu');
        obj2.visibility = "visible";
     }
   }
}

// when mouse is over/off nav layers 
function navOver() {over = 'yes';}

function navOut(pic) {
   lastOne = pic;
   over = 'no';
   setTimeout("offMenu()", delayMenu);
}

function offMenu() {
   if (document.images) {
      if (over == 'no')  {
        if (isNav4)  {
            eval('document.' + lastOne + 'Menu.visibility = "hidden"');
        } else if (isGecko)  {
            var obj = getObj(lastOne + 'Menu');
            obj.visibility = "hidden";
        } else {
            eval(lastOne + 'Menu.style.visibility = "hidden"');
        }
      }
   }
}

function getObj(name)
{
  if (document.getElementById)
  {
    return document.getElementById(name).style;
  }
  else if (document.all)
  {
    return document.all[name].style;
  }
  else if (document.layers)
  {
    return document.layers[name];
  }
  else return false;
}
