// JavaScript Menu
var menu;  
   var currentZIndex = 1000; 
   var liIndex = 1; 
   var visibleMenus = new Array(); 
   var activeMenuItem = false; 
   var menuActive = true; 
   var hideTimer = 0; 
   var timeBeforeAutoHide = 500;  
   var menuLevelsArray = new Array(); 
   var menuParentOffsetLeft = false; 
   var permArray = new Array();   
       

   function showHideSub() 
   { 
     this.blur();
     for(i=0;i<permArray.length;i++) {  permArray[i].style.display='none'; }  
     if (this.tagName=='A') an = this.parentNode;
     else an = this;
     var attr = an.parentNode.getAttribute('lvl'); 
     if(!HasClassName(an,'perm')) AddClassName(an, 'over');
     if(activeMenuItem && activeMenuItem!=an) RemoveClassName(activeMenuItem,'over');
     activeMenuItem = an; 
     var numericIdThis = an.id.replace(/[^0-9]/g,''); 
     var exceptionArray = new Array(); 
     
     // Showing sub item of this LI 
     var sub = document.getElementById('subOf' + numericIdThis); 
     if(sub)
     { 
       visibleMenus.push(sub); 
       sub.style.display=''; 
       if (sub.parentNode.tagName!='DIV')
         AddClassName(sub.parentNode,'over');
       exceptionArray[sub.id] = true; 
     }    
        
     // Showing parent items of this one 
     var parent = an.parentNode; 
     while(parent && parent.id && parent.tagName=='UL')
     { 
       visibleMenus.push(parent); 
       exceptionArray[parent.id] = true; 
       parent.style.display=''; 
       var li = document.getElementById('itm' + parent.id.replace(/[^0-9]/g,''));
       if(!HasClassName(li,'perm'))
        AddClassName(li,'over',true);
        //         if(li.className.indexOf('over')<0)li.className = li.className + 'over'; 
       parent = li.parentNode; 
     } 
     hideMenuItems(exceptionArray); 
   } 

   function hideMenuItems(exceptionArray) 
   { 
     var newVisibleMenuArray = new Array(); 
     for(var no=0;no<visibleMenus.length;no++)
     { 
       if(visibleMenus[no].className!='ulLevel1' && visibleMenus[no].id)
       { 
         if(!exceptionArray[visibleMenus[no].id])
         { 
           //var el = visibleMenus[no].getElementsByTagName('A')[0]; 
           visibleMenus[no].style.display = 'none'; 
           var li = document.getElementById('itm' + visibleMenus[no].id.replace(/[^0-9]/g,'')); 
           if (HasClassName(li,'over'))
             RemoveClassName(li,'over');
         }
         else newVisibleMenuArray.push(visibleMenus[no]);  
       } 
     }      
     visibleMenus = newVisibleMenuArray;     
   } 
    
   function mouseOverMenu()
   { 
     menuActive = true;        
   } 
    
   function mouseOutMenu() 
   { 
     menuActive = false; 
     timerAutoHide();    
   } 
    
   function timerAutoHide() 
   { 
     if(menuActive)
     { 
       hideTimer = 0; 
       return; 
     } 
     if(hideTimer<timeBeforeAutoHide)
     { 
       hideTimer+=100; 
       setTimeout('timerAutoHide()',99); 
     }
     else
     { 
       hideTimer = 0; 
       autohideMenuItems();  
       for(i=0;i<permArray.length;i++) {  permArray[i].style.display='block'; }  
     } 
   } 
    
   function autohideMenuItems() 
   { 
     if(!menuActive)
     { 
       hideMenuItems(new Array());    
       if (activeMenuItem) RemoveClassName(activeMenuItem,'over');        
     } 
   } 
   
   
   function HasClassName(objElement, strClass)
   {
     if ( objElement.className )
     {
       var arrList = objElement.className.split(' ');
       var strClassUpper = strClass.toUpperCase();
       fnd = false;
       for ( var i = 0; i < arrList.length; i++ )
       {
         if ( arrList[i].toUpperCase() == strClassUpper ) fnd=true;
       }
       return(fnd);
     }
     else
     {
       return(false);
     }
   }
   
   
   function AddClassName(objElement, strClass, blnMayAlreadyExist)
   {
     if ( objElement.className )
     {
       var arrList = objElement.className.split(' ');
       if ( blnMayAlreadyExist )
       {
         var strClassUpper = strClass.toUpperCase();
         for ( var i = 0; i < arrList.length; i++ )
         {
           if ( arrList[i].toUpperCase() == strClassUpper )
           {
             arrList.splice(i, 1);
             i--;
           }
         }
       }
       arrList[arrList.length] = strClass;
       objElement.className = arrList.join(' ');
     }
     else
     {
       objElement.className = strClass;
     }
   }
   
   
   function RemoveClassName(objElement, strClass)
   {
     if ( objElement.className )
     {
       var arrList = objElement.className.split(' ');
       var strClassUpper = strClass.toUpperCase();
       for ( var i = 0; i < arrList.length; i++ )
       {
         if ( arrList[i].toUpperCase() == strClassUpper )
         {
           arrList.splice(i, 1);
           i--;
         }
       }
       objElement.className = arrList.join(' ');
     }
   }
      
    
   function initSubMenus(inputObj,initOffsetLeft,curLevel) 
   {    
     var subUl = inputObj.getElementsByTagName('UL');
     
     if(subUl.length>0)
     { 
       var ul = subUl[0]; 
       var st = ul.style.display; 
       ul.id = 'subOf' + inputObj.id.replace(/[^0-9]/g,''); 
       if (st=='block') permArray.push(ul);
       if (st=='') st = 'none';
       
       ul.setAttribute( 'lvl', curLevel ); 
       ul.lvl = curLevel; 
       ul.className='ulLevel' + curLevel; 
       ul.onmouseover = mouseOverMenu; 
       ul.onmouseout = mouseOutMenu; 
       currentZIndex+=1;
       ul.style.zIndex = currentZIndex; 
       
       var li = ul.getElementsByTagName('LI')[0];
       //if (inputObj.parentNode.className.indexOf('perm')>0) st='block';  
       //st='none'; 
       while(li)
       { 
         if(li.tagName=='LI')
         {    
           if (HasClassName(li,'perm')) st='';
           li.id = 'itm' + liIndex; 
           liIndex++;              
           var uls = li.getElementsByTagName('UL'); 
           li.onmouseover = showHideSub; 
           if(uls.length>0)
           { 
             initSubMenus(li,0,(curLevel+1));          
           }                
         } 
         li = li.nextSibling; 
       }       
       ul.style.display = st;
       ul = menu.appendChild(ul); 
       menuLevelsArray.push(ul); 
       if(!document.all) menu.appendChild(ul); 
     }
     return(st=='');    
   } 
    

   function initmenu() 
   { 
     menu = document.getElementById('menu'); 
     var menuLevel1 = menu.getElementsByTagName('UL')[0]; 
     menuLevel1.className='ulLevel1'; 
     menuLevel1.style.zIndex = currentZIndex;      menuLevel1.setAttribute('lvl' ,1); 
     menuLevel1.onmouseover = mouseOverMenu; 
     menuLevel1.onmouseout = mouseOutMenu;        

     var Level1Item = menuLevel1.getElementsByTagName('LI')[0]; 
     while(Level1Item)
     {   
       Level1Item.id = 'itm' + liIndex; 
              liIndex++;              
       if(Level1Item.tagName=='LI')
       { 
         var aTag = Level1Item.getElementsByTagName('A')[0]; 
           
         aTag.onmouseover = showHideSub;
         initSubMenus(Level1Item,0,2);
       }                  
       Level1Item = Level1Item.nextSibling;      
     }    
     menu.style.visibility = 'visible';   
   }

initmenu();