
 var fadeTimeoutTime = 150;

 //var menu1HiColor = '#A9A9A9';
 //var menu1LoColor = '#A9A9A9';

 //var menu2HiColor = '#A9A9A9';
 //var menu2LoColor = '#A9A9A9';

 var menu3HiColor = '#cccccc';
 var menu3LoColor = '#dddddd';

 var selectedMenu1 = null;
 var objectToHilightPrev1 = null;
 var selectedMenu2 = null;
 var objectToHilightPrev2 = null;
 var menuVisible2 = null;
 var shownMenu2 = null;

 var selectedMenu3 = null;
 var objectToHilightPrev3 = null;
 var menuVisible3 = null;
 var shownMenu3 = null;

 var fadeTimeout2 = null;

 function setObjectVisibility(objectName, isVisible)
 {
  switch (navigator.family)
  {
   case 'nn4':
   		value = ((isVisible) ? "show" : "hide");
   		objectPtr = eval('document["' + objectName + '"]');
   		break;
   case 'ie4':
   case 'opera':
        value = ((isVisible) ? "visible" : "hidden");
        objectPtr = eval('document.all["' + objectName + '"].style');
   		break;
   case 'gecko':
        value = ((isVisible) ? "visible" : "hidden");
   		objectPtr = eval('document.getElementById("' + objectName + '").style');
   		break;
   default:
   		break;
  }
  objectPtr.visibility = value;
 }

 function setObjectBgColor(objectName, objectColor)
 {
  switch (navigator.family)
  {
   case 'nn4':
     	document[objectName].bgColor = objectColor;
     	break;
   case 'ie4':
   case 'opera':
        document.all[objectName].bgColor = objectColor;
     	break;
   case 'gecko':
     	document.getElementById(objectName).bgColor = objectColor;
     	break;
   default:
   		break;
  }
 }

function hideSubMenu()
{
  if (objectToHilightPrev3 != null)
  {
   setObjectBgColor(objectToHilightPrev3, menu3LoColor);
   objectToHilightPrev3 = null;
  }
  if (objectToHilightPrev2 != null)
  {
   //setObjectBgColor(objectToHilightPrev2, menu2LoColor);
   objectToHilightPrev2 = null;
  }
  if (objectToHilightPrev1 != null)
  {
   //setObjectBgColor(objectToHilightPrev1, menu1LoColor);
   objectToHilightPrev1 = null;
  }
  if (menuVisible3 != null)
  {
   setObjectVisibility(menuVisible3, false);
   menuVisible3 = null;
  }
  if (menuVisible2 != null)
  {
   setObjectVisibility(menuVisible2, false);
   menuVisible2 = null;
  }
 }

function sM2(menu_id, cell_id, name_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu = 'showMenu2(\'' + menu_id + '\', \'' + cell_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function hM2(cell_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu = 'hideMenu2(\'' + cell_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function pM2(menu_id, name_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu='processMenu2(\'' + menu_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function dM2(cell_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu= 'doneMenu2(\'' + cell_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function sM3(menu_id, cell_id, name_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu='showMenu3(\'' + menu_id + '\', \'' + cell_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function hM3(cell_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu='hideMenu3(\'' + cell_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function pM3(menu_id, name_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu='processMenu3(\'' + menu_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function dM3(cell_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu= 'doneMenu3(\'' + cell_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function pM4(menu_id, name_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu='processMenu4(\'' + menu_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function dM4(cell_id)
{
	clearTimeout(fadeTimeout2);
	dynamic_menu= 'doneMenu4(\'' + cell_id + '\')';
	fadeTimeout2=setTimeout("eval(dynamic_menu)", fadeTimeoutTime);
}

function processMenu2(objectToHilight)
 {
  hideSubMenu();
  //setObjectBgColor(objectToHilight, menu1HiColor);
  objectToHilightPrev1=objectToHilight;
 }

 function doneMenu2(objectToLolight)
 {
  //setObjectBgColor(objectToLolight, menu1LoColor);
  hideSubMenu();
  showCurrentMenu();
 }

 function showMenu2(menuLayerName, objectToHilight)
 {
  processMenu2(objectToHilight)
  setObjectVisibility(menuLayerName, true);
  menuVisible2 = menuLayerName;
 }

 function hideMenu2(objectToLolight)
 {
  doneMenu2(objectToLolight);
 }

 function processMenu3(objectToHilight)
 {
  if (objectToHilightPrev3 != null)
  {
   setObjectBgColor(objectToHilightPrev3, menu3LoColor);
   objectToHilightPrev3 = null;
  }
  if (objectToHilightPrev2 != null)
  {
   //setObjectBgColor(objectToHilightPrev2, menu2LoColor);
   objectToHilightPrev2 = null;
  }
  if (menuVisible3 != null)
  {
   setObjectVisibility(menuVisible3, false);
   menuVisible3 = null;
  }
  //setObjectBgColor(objectToHilight, menu2HiColor);
  objectToHilightPrev2 = objectToHilight;
 }

 function doneMenu3(objectToLolight)
 {
  //setObjectBgColor(objectToLolight, menu2LoColor);
  hideSubMenu();
  showCurrentMenu();
 }

 function showMenu3(menuLayerName, objectToHilight)
 {
  processMenu3(objectToHilight);
  setObjectVisibility(menuLayerName, true);
  menuVisible3 = menuLayerName;
 }

 function hideMenu3(objectToLolight)
 {
  doneMenu3(objectToLolight);
 }

 function processMenu4(objectToHilight)
 {
  if (objectToHilightPrev3 != null)
  {
   setObjectBgColor(objectToHilightPrev3, menu3LoColor);
   objectToHilightPrev3 = null;
  }
  setObjectBgColor(objectToHilight, menu3HiColor);
  objectToHilightPrev3 = objectToHilight;
 }

  function doneMenu4(objectToLolight)
 {
  setObjectBgColor(objectToLolight, menu3LoColor);
  hideSubMenu();
  showCurrentMenu();
 }

 function showCurrentMenu()
 {
  if (selectedMenu1 != null)
 {
   //setObjectBgColor(selectedMenu1, menu1HiColor);
   objectToHilightPrev1 = selectedMenu1;
  }

  if (shownMenu2 != null)
 {
   setObjectVisibility(shownMenu2, true);
   menuVisible2 = shownMenu2;
  }

  if (selectedMenu2 != null)
  {
   //setObjectBgColor(selectedMenu2, menu2HiColor);
   objectToHilightPrev2 = selectedMenu2;
  }

  if (shownMenu3 != null)
  {
   setObjectVisibility(shownMenu3, true);
   menuVisible3 = shownMenu3;
  }

  if (selectedMenu3 != null)
  {
   setObjectBgColor(selectedMenu3, menu3HiColor);
   objectToHilightPrev3 = selectedMenu3;
  }
 }

