//	menu.js - SWL Group web site menu functions
//	Copyright (c) 2009 SWL Group Ltd

var menuTimeOut=null;

function menuMouseOver(nLevel,nIndex)
{
 clearTimeout(menuTimeOut);
 menuHide(nLevel+1);
 var strHTML="";
 for(var i=0;i<menuItems.length;i++)
 {	 
   if(menuItems[i][0]==nIndex)
   {
    var obj=document.getElementById('menuEntry'+nIndex);
	if(obj!=null)
     obj.className=menuItems[i][4]+'active';
   }
// alert('Submenu '+menuItems[i][0]+' '+menuItems[i][1]+' '+menuItems[i][2]+' '+menuItems[i][3]+' '+menuItems[i][4]);
   if(menuItems[i][1]==nIndex)
   {
//  alert('Menu entry '+menuItems[i][0]);
    strHTML+="<tr><td id=\"menuEntry"+menuItems[i][0]+"\"";
    if(menuItems[i][4]!="")
     strHTML+=" class=\""+menuItems[i][4]+"\"";
    if(menuItems[i][3]!="")
     strHTML+=" onclick=\"javascript:menuClick("+menuItems[i][0]+")\"";
    strHTML+=" onmouseover='javascript:menuMouseOver("+(nLevel+1)+","+menuItems[i][0]+")' onmouseout='javascript:menuMouseOut("+(nLevel+1)+","+menuItems[i][0]+")' nowrap='nowrap'>";
    strHTML+=menuItems[i][2]+"<\/td><\/tr>";
   }
 }
 if(strHTML!="")
 {
  var obj2=document.getElementById('menuDiv'+(nLevel+1));
  if(obj2!=null)
  {
   strHTML="<table id='menuTable"+nLevel+"' class='menu' cellpadding='0' cellspacing='0'>"+strHTML+"<\/table>";
//   if(nLevel==2)
//     alert('menu'+nLevel+' HTML:'+strHTML);
   var navObj=document.getElementById("menuEntry"+nIndex);
   if(navObj==null)
     alert('Failed to find menuEntry'+nIndex);
   obj2.innerHTML=strHTML;
   if(nLevel==1)
   {
    obj2.style.left=parseInt(menuGetX(navObj),10)+"px";
    obj2.style.top=(parseInt(menuGetY(navObj),10)+parseInt(navObj.offsetHeight,10)-1)+"px";
   }
   else
   {
    obj2.style.left=(parseInt(menuGetX(navObj),10)+parseInt(navObj.offsetWidth,10)-1)+"px";
    obj2.style.top=parseInt(menuGetY(navObj),10)+"px";
   }
   obj2.style.display="block";
   obj2.style.zIndex=menuGetZ();
   obj2.style.visibility="visible";
  }
//  else
//   alert("Can't find menu div "+nLevel);
 }
 else
 {
  menuTimeOut=setTimeout("menuHide()",menuDelay);
 }
}

function menuMouseOut(nLevel,nIndex)
{
 for(var i=0;i<menuItems.length;i++)
 {	 
   if(menuItems[i][0]==nIndex)
   {
    var obj=document.getElementById('menuEntry'+nIndex);
	if(obj!=null)
     obj.className=menuItems[i][4];
   }
 }
 menuTimeOut=setTimeout('menuHide(1)',menuDelay);
}

function menuClick(nIndex)
{
 for(var i=0;i<menuItems.length;i++)
 {
  if(menuItems[i][0]==nIndex)
  {
// alert('Click '+menuItems[i][0]);
   document.location=menuItems[i][3];
   return;
  }
 }
}

function menuHide(nLevel)
{
 var obj=document.getElementById('menuDiv'+nLevel);
 if(obj!=null)
 {
  obj.style.display="none";
  obj.style.visibility="hidden";
  menuHide(nLevel+1);
 }
}

function menuGetX(e)
{
 var x=0;
 var outer;
 while(e)
 {
  if(e.offsetLeft!=null)
  {
   if((e.offsetLeft>0)&&(e.id=="body"))
   {
    outer=e.offsetLeft;
   }
   x+=e.offsetLeft;
  }
  e=e.offsetParent;
 }
 return x;
}

function menuGetY(e)
{
 var x=0;
 while(e)
 {
  x+=e.offsetTop;
  e=e.offsetParent;
 }
 return x;
}

function menuGetZ()
{
 if(document.getElementsByTagName)
 {
  return document.getElementsByTagName("div").length+1000;
 }
 else
  if(document.all)
  {
   return document.body.all.tags("div").length+1000;
  }
  else
   if (document.layers)
   {
    return document.layers.length+1000;
   }
 return 999999999;
}
