var menuPosX = new Array();
var menuPosY = new Array();

var reallyHide = 0;  // FF#1 fix related (fixes lame way, overflow scrollbars work in current version of FireFox)

// Detect if the browser is IE or not.   
var IE = document.all?true:false;
IE = IE && (navigator.userAgent.indexOf("Opera")==-1); // make sure not opera

function showSubMenu(i)
{
   var menu    = document.getElementById('menu'+i);
   var subMenu = document.getElementById('subMenu'+i);
   
   hideAllSubMenus(i);
   subMenu.style.display = 'block'; 
   fixSubMenuPosition(i);   
   reallyHide = 0; // FF#1 fix related
}

function hideSubMenu(i)
{
   var subMenu = document.getElementById('subMenu'+i);
   if (subMenu) // submenu found
   {
      if ( subMenu.id == 'subMenu2')
      {
         reallyHide = 1;
         setTimeout("hideSubMenuFF("+i+")", 200);
      }
      else 
      {
         subMenu.style.display = 'none'; 
      }
      
   }
      
   // fix selectbox'es appearing on top of menu
   if (IE)
   {
      var fixDDs = document.getElementById('fixDropDowns');
      fixDDs.style.display = 'none'; 
   }
}

function hideAllSubMenus(i)
{

   // hides all subMenus except for given
   j = 0;
   var subMenu = 1;
   while(subMenu) 
   {
      j++;
      if ( i != j ) 
      {
         subMenu = document.getElementById('subMenu'+j);
         if (subMenu) // submenu found
         {
            subMenu.style.display = 'none'; 
         }
      }
   }
   
   // fix selectbox'es appearing on top of menu
   if (IE)
   {
      var fixDDs = document.getElementById('fixDropDowns');
      fixDDs.style.display = 'none'; 
   }
}

// FF#1 fix related
function hideSubMenuFF(i)
{

   if (reallyHide)
   {
      subMenu = document.getElementById('subMenu'+i);
      subMenu.style.display = 'none'; 
      reallyHide = 0;
   }
}

function fixSubMenuPosition(i)
{
   var menu    = document.getElementById('menu'+i);
   var subMenu = document.getElementById('subMenu'+i);

   if (menuPosX[i] == null) 
   {  
      menuPosX[i] = findPosX(menu);
      menuPosY[i] = findPosY(menu);
      
      subMenu.style.left = menuPosX[i];
      subMenu.style.top  = menuPosY[i] + 27;
   }
   
   
   // fix selectbox'es appearing on top of menu
   if (IE && i < 4 ) // only these have submenus
   {
      var fixDDs = document.getElementById('fixDropDowns');
      if (fixDDs && subMenu)
      {         
         fixDDs.style.top     = subMenu.style.top;
         fixDDs.style.left    = subMenu.style.left;
         fixDDs.style.width   = subMenu.offsetWidth;
         fixDDs.style.height  = subMenu.offsetHeight;
         fixDDs.style.display = 'block'; 
      }
   }
}


////////////////////////////////////////////////////////////
//////////////////// Finding positions of element
////////////////////////////////////////////////////////////

function findPosX(obj)
{
   var curleft = 0;
   if(obj.offsetParent)
      while(1) 
      {
         curleft += obj.offsetLeft;
         if(!obj.offsetParent)
            break;
         obj = obj.offsetParent;
      }
   else if(obj.x)
      curleft += obj.x;
   return curleft;
}

function findPosY(obj)
{
   var curtop = 0;
   if(obj.offsetParent)
      while(1)
      {
         curtop += obj.offsetTop;
         if(!obj.offsetParent)
            break;
         obj = obj.offsetParent;
      }
   else if(obj.y)
     curtop += obj.y;
   return curtop;
}


////////////////////////////////////////////////////////////
//////////////////// Mouse related
////////////////////////////////////////////////////////////

/*
function mouseIsOverObject(e, obj, tolerance) 
{
   mouseXY = getMouseXY();
   x = mouseXY[0];
   y = mouseXY[1];
   
   if ( x < ( findPosX(obj) - tolerance )                    )   
      return false;
   if ( x > ( findPosX(obj) + tolerance + obj.width )        )
      return false;
   if ( y < ( findPosY(obj) - tolerance )                    )
      return false;
   if ( y > ( findPosY(obj) + tolerance + obj.height )       )
      return false;
      
   return true;
}

// function to retrieve mouse x-y pos
function getMouseXY(e) 
{
   // Detect if the browser is IE or not.   
   var IE = document.all?true:false
	
   if (!e)
		var e = window.event||window.Event;   

   var x = 0
   var y = 0

   if (IE) 
   { 
      x = event.clientX + document.body.scrollLeft;
      y = event.clientY + document.body.scrollTop;
   } 
   else 
   {  
      x = e.pageX
      y = e.pageY
   }  

   return new Array (x, y);
}
*/