function highlightNavBar(obj, imagePath, status) {
  if (status) { 
    obj.style.background='url(images/bg_nav_Highlight.jpg) repeat-x';
    document.getElementById('navI').style.background='url(' + imagePath + ') no-repeat';      
  }
  else {
    obj.style.background='url(images/bg_nav.jpg) repeat-x';
    document.getElementById('navI').style.background='url(' + pageIcon + ') no-repeat';
  }               
}

function setCurrentPageNavIcon() {
  document.getElementById('navI').style.background='url(' + pageIcon + ') no-repeat';
}

function displayMenu(mID) {
  currentMenuDisplayed = mID;
  var menu = document.getElementById(mID);    
  menu.style.zIndex = 15;
  if (menu.style.display == 'none' || menu.style.display == '' || !isFullyDisplayed(mID)) {
    var menuItems = menu.getElementsByTagName('a');
    menu.style.display = 'block';     
    menu.style.backgroundColor = 'white';
    setOpacity(mID, 100);
    var i = 0;
    var x = 50; 
    for (i = 0; i < menuItems.length; i++) {
      var objMenu = menuItems[i].id.substring(0, menuItems[i].id.indexOf('_', 0) + 1) + (i + 1);
      var m = document.getElementById(objMenu);
      if (m.style.display == 'none' || m.style.display == '') {
        mTimerID = setTimeout("displayMenuItem('" + mID + "','" + m.id +"'," + i + ")", x);
        mTimerOn = 1;
        x += 70;
      }
    }
  }
}

function isFullyDisplayed(mID) {
  var menu = document.getElementById(mID);      
  var menuItems = menu.getElementsByTagName('a');
  var i = 0;
  for (i = 0; i < menuItems.length; i++) {
    if (menuItems[i].style.display == 'none') {
      return false;
    }
  }
  return true;
}

function displayMenuItem(mID, miID, miPos) {
  document.getElementById(miID).style.display = 'block';
  document.getElementById(miID).style.visibility = 'visible';
	setOpacity(miID, 100);
}

function hideMenu(mID) {
  var tID = setTimeout("hideMenuEx('" + mID + "')", 300);
}

function hideMenuEx(mID) {
  var menu = document.getElementById(mID);
  menu.style.zIndex = 10;
  if (menu.style.display != 'none' || !isFullyHidden(mID)) {
    var menuItems = menu.getElementsByTagName('a');
    var i = 0;
    var x = 50;
    for (i = menuItems.length - 1; i >= 0; i--) {
      var objMenu = menuItems[i].id.substring(0, menuItems[i].id.indexOf('_', 0) + 1) + (i + 1);
      var m = document.getElementById(objMenu);
      if (m.style.display != 'none') {
        var o = Math.round((i / (menuItems.length - 1)) * 100);   
        mTimerID1 = setTimeout("hideMenuItem('" + mID + "','" + m.id +"'," + o + "," + i + ")", x);
        mTimerOn1 = 1;
        x += 70;
      }
    }     
  }
}

function isFullyHidden(mID) {
  var menu = document.getElementById(mID);      
  var menuItems = menu.getElementsByTagName('a');
  var i = 0;
  for (i = 0; i < menuItems.length; i++) {
    if (menuItems[i].style.display != 'none') {
      return false;
    }
  }
  return true;
}

function hideMenuItem(mID, miID, miOp, miPos) {
  if (currentMenuDisplayed == mID) {
    return;
  }
  document.getElementById(mID).style.backgroundColor = '#65B11E';

  document.getElementById(miID).style.display = 'none';
  document.getElementById(miID).style.visibility = 'hidden';
  
  if (miOp > 0) {
    setOpacity(mID, miOp);
  }
  else { 
    if (miOp == 0 && miPos == 0) {
     // prevent flicker - bug identified: Opacity fall to 0 while hiding elements for some reason
     setOpacity(mID, miOp);
    }
  }

  if (miPos == 0) {
    document.getElementById(mID).style.display = 'none';    
  }
}

function setOpacity(mID, value) {
  if (typeof document.getElementById(mID).style.MozOpacity == "string") {
    // Firefox detection
    document.getElementById(mID).style.MozOpacity = value / 100;
  }
  else if (typeof document.getElementById(mID).style.KhtmlOpacity == "string") {
    // Safari / Khtml detection
    document.getElementById(mID).style.KhtmlOpacity = value / 100;
  }
  else if (typeof document.getElementById(mID).style.opacity == "string") {
    // Supposedly supported by most browsers
    document.getElementById(mID).style.opacity = value / 100;
  }
  else if (typeof document.getElementById(mID).style.filter == "string") {
    // IE detection
    document.getElementById(mID).style.filter = 'alpha(opacity=' + value + ')';
  }
}

