var highlightColor = 0x770000;
var normalColor = 0x990000;


function focusIndividualMenu(menuId)
{
   if(document.getElementById)
   {
      menu = document.getElementById(menuId);
      menu.style.backgroundColor=highlightColor;
   }
}


function unfocusIndividualMenu(menuId)
{
   if(document.getElementById)
   {
      menu = document.getElementById(menuId);
      menu.style.backgroundColor=normalColor;
   }
}






function showSecondLevelMenu(topLevelId, secondLevelId)
{
   if(document.getElementById)
   {
      topLevelMenu = document.getElementById(topLevelId);
      
      secondLevelMenu = document.getElementById(secondLevelId);
      secondLevelMenu.style.position='absolute';

      var currentLeft = 0;
      var currentTop = topLevelMenu.offsetHeight;
      var obj = topLevelMenu;
      if (obj.offsetParent) 
      {
         currentLeft += obj.offsetLeft;
         currentTop += obj.offsetTop;
         while (obj = obj.offsetParent) 
         {
            currentLeft += obj.offsetLeft
            currentTop += obj.offsetTop
         }
      }
      secondLevelMenu.style.top=currentTop + 'px';
      secondLevelMenu.style.left=currentLeft + 'px';
      
      secondLevelMenu.style.visibility='visible';
   }
}


function hideSecondLevelMenu(secondLevelId)
{
   if(document.getElementById)
   {
      secondLevelMenu = document.getElementById(secondLevelId);
      secondLevelMenu.style.visibility='hidden';
   }
}



function showThirdLevelMenu(topLevelId, secondLevelCellId, thirdLevelId)
{
   if(document.getElementById)
   {
      secondLevelCell = document.getElementById(secondLevelCellId);

      thirdLevelMenu = document.getElementById(thirdLevelId);
      thirdLevelMenu.style.position='absolute';
            
      var currentLeft = secondLevelCell.offsetWidth;
      var currentTop = 0;
      var obj = secondLevelCell;
      if (obj.offsetParent) 
      {
         currentLeft += obj.offsetLeft;
         currentTop += obj.offsetTop;
         while (obj = obj.offsetParent) 
         {
            currentLeft += obj.offsetLeft
            currentTop += obj.offsetTop
         }
      }
      thirdLevelMenu.style.top=currentTop + 'px';
      thirdLevelMenu.style.left=currentLeft + 'px';
      
      thirdLevelMenu.style.visibility='visible';
   }
}


function hideThirdLevelMenu(thirdLevelId)
{
   if (thirdLevelId == "empty")
   {
      return;
   }

   if(document.getElementById)
   {
      thirdLevelMenu = document.getElementById(thirdLevelId);
      thirdLevelMenu.style.visibility='hidden';
   }
}



function mouseOverTopLevelMenu(topLevelId, secondLevelId)
{
   focusIndividualMenu(topLevelId);
   
   if (secondLevelId != "empty")
   {
      showSecondLevelMenu(topLevelId, secondLevelId);
   }
}


function mouseOutTopLevelMenu(topLevelId, secondLevelId)
{
   unfocusIndividualMenu(topLevelId);
   
   if (secondLevelId != "empty")
   {
      hideSecondLevelMenu(secondLevelId);
   }
}


function mouseOverSecondLevelMenu(topLevelId, secondLevelId, secondLevelCellId, thirdLevelId)
{
   focusIndividualMenu(secondLevelCellId);
      
   if (thirdLevelId != "empty")
   {
      showSecondLevelMenu(topLevelId, secondLevelId);
      showThirdLevelMenu(topLevelId, secondLevelCellId, thirdLevelId)
      focusIndividualMenu(secondLevelCellId);
   }
}


function mouseOutSecondLevelMenu(secondLevelId, thirdLevelId)
{
   unfocusIndividualMenu(secondLevelId);
   
   if (thirdLevelId == "empty")
   {
      return;
   }

   if(document.getElementById)
   {
      thirdLevelMenu = document.getElementById(thirdLevelId);
      thirdLevelMenu.style.visibility='hidden';
   }
}



function mouseOverThirdLevelMenu(topLevelId, secondLevelId, secondLevelCellId, thirdLevelId, thirdLevelCellId)
{
   if(document.getElementById)
   {
      showSecondLevelMenu(topLevelId, secondLevelId);
      showThirdLevelMenu(topLevelId, secondLevelCellId, thirdLevelId)
      unfocusIndividualMenu(secondLevelCellId);
      focusIndividualMenu(thirdLevelCellId);
   }
}


function mouseOutThirdLevelMenu(secondLevelId, thirdLevelId, thirdLevelCellId)
{
   unfocusIndividualMenu(thirdLevelCellId);
   
   if (thirdLevelId == "empty")
   {
      return;
   }

   if(document.getElementById)
   {
      thirdLevelMenu = document.getElementById(thirdLevelId);
      thirdLevelMenu.style.visibility='hidden';
      
      hideSecondLevelMenu(secondLevelId);
   }
}



