// New Sub menu functions
var useFrame = false;
var closeMenuDelay = 500;
if (window.navigator && window.navigator.userAgent.toLowerCase().indexOf('msie')!=-1)
{
  useFrame =true;
}
// Submenu holder object
function SubMenu(menuClass, activeRowClass, inactiveRowClass, linkClass)
{
  var menuData= "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n<tbody>\n";
  if (useFrame==true)
  {
      var menuData= "<iframe frameborder=\"0\" src='javascript:\"\"' style='position: absolute; filter:Alpha(Opacity=0);'></iframe>\n"+menuData;
  }
  var active=  activeRowClass;
  var inactive=  inactiveRowClass;
  var link= linkClass;
  var aHolder = null;
  //Add submenu item  
  this.add=function(url, label)
  {
      menuData+="<tr><td class=\""+inactive+"\" onmouseover='this.className=\""+active+"\";' onmouseout='this.className=\""+inactive+"\";' onclick='top.document.location.href=\""+url+"\";'>";
      menuData+="<a class=\"subMainMenuLink\" href=\""+url+"\" target=\"_top\">"+label+"</a>";
      menuData+="</td></tr>\n";
  }
  // Show submenu
  this.show=function(aMenu, menuHolder)
  {
    var cur= aMenu;
    var x= 0; 
    var y= cur.offsetHeight;
    while (cur!=null)
    {
      x+=cur.offsetLeft;
      y+=cur.offsetTop;
      cur=cur.offsetParent;
    }
    if (aHolder==null)
    {
      aHolder= window.document.createElement('DIV');
      aHolder.style.position= "absolute";
      aHolder.className=  menuClass;  
      aHolder.innerHTML = this.getHTML();
    }
    var aSMenu= aHolder.getElementsByTagName('TABLE')[0];
    aHolder.style.position= "absolute";
    aHolder.style.display= "none";
    aHolder.style.left= x+"px";
    aHolder.style.top= y+"px";
    aHolder.style.display= "block";
    menuHolder.appendChild(aHolder);
    if (useFrame==true)
    {
       var aFrame= aHolder.getElementsByTagName('IFRAME')[0];
      aFrame.style.position= "absolute";
      aFrame.style.zIndex= aSMenu.style.zIndex - 1;
      aFrame.style.display= "none";
      aFrame.style.left= aSMenu.offsetLeft+"px";
      aFrame.style.top= aSMenu.offsetTop+"px";
      aFrame.style.height= aSMenu.offsetHeight+"px";
      aFrame.style.width= aSMenu.offsetWidth+"px";
      aFrame.style.display= "block";
    }
    return aHolder;
  }
  // Get submenu html
  this.getHTML=function()
  {
      return menuData+"</tbody></table>";
  }
}

// Menu holder object
function Menu(holderId, activeLinkClass, inactiveLinkClass)
{
  document.write('<div id="'+holderId+'"></div>');
  // Sub menus array
  var submenus=new Array();
  // Active display element holder
  var aHolder = null;
  var menuHolder = document.getElementById(holderId);
  // Active menu object
  var aMenu = null;
  // Hide menu timer
  var mTimer = null;
  // Link classes
  var active=  activeLinkClass;
  var inactive= inactiveLinkClass;

  // Add sub menu object to the menu
  this.addSubMenu=function(id, subMenu)
  {
    submenus[id]= subMenu;
  }
  
  // Home menu function
  this.showMenu=function(obj)
  {
    if (obj==aMenu)
    {
      clearTimeout(mTimer);
      return;
    }
    closeMenu();
    aMenu= obj;
    setLinkClass(active);
    var submenu = submenus[obj.id];
    if (!submenu) 
        return; 
    var menuObject = this;
    aHolder= submenu.show(aMenu, menuHolder);
    aHolder.onmouseover=function(){menuObject.showMenu(aMenu);};
    aHolder.onmouseout=function(){menuObject.hideMenu(aMenu);}; 
  }
  
  // Close active menu function
  closeMenu=function()
  {
    clearTimeout(mTimer);
    setLinkClass(inactive);
    if (aHolder!=null)
    {
       aHolder.onmouseover=null;
       aHolder.onmouseout=null; 
       menuHolder.removeChild(aHolder);
    }
    aHolder= null;
    aMenu= null;
  }
  
  // Set link class value
  setLinkClass=function(className)  
  {
    if (aMenu!=null)
    {
        var links= aMenu.getElementsByTagName('A');
        if (links && links.length>0) 
        { 
          links[0].className= className;
        }
    }
  }
  // Call timer to close menu
  this.hideMenu=function()
  {
    mTimer = setTimeout("closeMenu()",closeMenuDelay);
  }
}


/* ----------------- pre-load & swap images function -------------------------------*/

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

