// JavaScript Document
		
 var hor_menuObj;   // Reference to the menu div 
 var currentZIndex = 1000; 
 var liIndex = 0; 
 var visibleMenus = new Array(); 
 var activeMenuItem = false; 
 var timeBeforeAutoHide = 1200; // Microseconds from mouse leaves menu to auto hide. 
 var hor_menu_arrow = 'img/arrow.gif'; 
	
 var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false; 
 var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox')>=0?true:false; 
 var navigatorVersion = navigator.appVersion.replace(/.*?MSIE ([0-9]\.[0-9]).*/g,'$1')/1; 
 var menuBlockArray = new Array(); 
 var menuParentOffsetLeft = false;    


	// {{{ getStyle() 
 /** 
 * Return specific style attribute for an element 
 * 
 * @param Object el = Reference to HTML element 
 * @param String property = Css property 
 * @private 
 */        
 function getStyle(el,property) 
 {        

		if (document.defaultView && document.defaultView.getComputedStyle) { 

			 var retVal = null;              
			 var comp = document.defaultView.getComputedStyle(el, ''); 
			 if (comp){ 
					retVal = comp[property]; 
						
					if(!retVal){ 
						 var comp = document.defaultView.getComputedStyle(el, null); 
						 retVal = comp.getPropertyCSSValue(property); 
					}          
			 }    

			 if(retVal==null)retVal=''; 
				
			 return el.style[property] || retVal; 
		} 
		if (document.documentElement.currentStyle && MSIE){    
			 var value = el.currentStyle ? el.currentStyle[property] : null; 
			 return ( el.style[property] || value ); 
																						
		} 
		return el.style[property];              
 } 
		
 function getTopPos(inputObj) 
 { 
	var origInputObj = inputObj;

	 var returnValue = inputObj.offsetTop; 
	 if(inputObj.tagName=='LI' && inputObj.parentNode.className=='menuBlock1'){    
			var aTag = inputObj.getElementsByTagName('A')[0]; 
			if(aTag)returnValue += aTag.parentNode.offsetHeight; 
	 } 
	 var topOfMenuReached = false; 
	 while((inputObj = inputObj.offsetParent) != null){ 
			if(inputObj.parentNode.id=='hor_menu')topOfMenuReached=true; 
			if(topOfMenuReached && !inputObj.className.match(/menuBlock/gi) || (!MSIE && origInputObj.parentNode.className=='menuBlock1')){ 
				 var style = getStyle(inputObj,'position'); 
				 if(style=='absolute' || style=='relative'){                
						return returnValue;            
				 } 
			} 
				
			returnValue += inputObj.offsetTop;          
	 } 

	 return returnValue; 
 } 
	
 function getLeftPos(inputObj) 
 { 
	 var returnValue = inputObj.offsetLeft; 
		
	 var topOfMenuReached = false; 
	 while((inputObj = inputObj.offsetParent) != null){ 
		 if(inputObj.parentNode.id=='hor_menu')topOfMenuReached=true; 
			if(topOfMenuReached && !inputObj.className.match(/menuBlock/gi)){ 
				 var style = getStyle(inputObj,'position'); 
				 if(style=='absolute' || style=='relative')return returnValue; 
			} 
		
			returnValue += inputObj.offsetLeft; 
	 } 
	 return returnValue; 
 } 


	
 function showHideSub() 
 { 

		var attr = this.parentNode.getAttribute('currentDepth'); 
		if(navigator.userAgent.indexOf('Opera')>=0){ 
			 attr = this.parentNode.currentDepth; 
		} 
			
		this.className = 'currentDepth' + attr + 'over'; 
			
		if(activeMenuItem && activeMenuItem!=this){ 
			 activeMenuItem.className=activeMenuItem.className.replace(/over/,''); 
		} 
		activeMenuItem = this; 
	
		var numericIdThis = this.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=''; 
			 sub.parentNode.className = sub.parentNode.className + 'over'; 
			 exceptionArray[sub.id] = true; 
		}    
			
		// Showing parent items of this one 
			
		var parent = this.parentNode; 
		while(parent && parent.id && parent.tagName=='UL'){ 
			 visibleMenus.push(parent); 
			 exceptionArray[parent.id] = true; 
			 parent.style.display=''; 
				
			 var li = document.getElementById('My_Menu_listItem' + parent.id.replace(/[^0-9]/g,'')); 
			 if(li.className.indexOf('over')<0)li.className = li.className + 'over'; 
			 parent = li.parentNode; 
				
		} 

				
		hideMenuItems(exceptionArray); 



 } 

 function hideMenuItems(exceptionArray) 
 { 
		/* 
		Hiding visible menu items 
		*/ 
		var newVisibleMenuArray = new Array(); 
		for(var no=0;no<visibleMenus.length;no++){ 
			 if(visibleMenus[no].className!='menuBlock1' && visibleMenus[no].id){ 
					if(!exceptionArray[visibleMenus[no].id]){ 
						 var el = visibleMenus[no].getElementsByTagName('A')[0]; 
						 visibleMenus[no].style.display = 'none'; 
						 var li = document.getElementById('My_Menu_listItem' + visibleMenus[no].id.replace(/[^0-9]/g,'')); 
						 if(li.className.indexOf('over')>0)li.className = li.className.replace(/over/,''); 
					}else{              
						 newVisibleMenuArray.push(visibleMenus[no]); 
					} 
			 } 
		}        
		visibleMenus = newVisibleMenuArray;        
 } 
	
	
	
 var menuActive = true; 
 var hideTimer = 0; 
 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();    
		} 
 } 
	
 function autohideMenuItems() 
 { 
		if(!menuActive){ 
			 hideMenuItems(new Array());    
			 if(activeMenuItem)activeMenuItem.className=activeMenuItem.className.replace(/over/,'');        
		} 
 } 
	
	
 function initSubMenus(inputObj,initOffsetLeft,currentDepth) 
 {    
		var subUl = inputObj.getElementsByTagName('UL'); 
		if(subUl.length>0){ 
			 var ul = subUl[0]; 
				
			 ul.id = 'subOf' + inputObj.id.replace(/[^0-9]/g,''); 
			 ul.setAttribute('currentDepth' ,currentDepth); 
			 ul.currentDepth = currentDepth; 
			 ul.className='menuBlock' + currentDepth; 
			 ul.onmouseover = mouseOverMenu; 
			 ul.onmouseout = mouseOutMenu; 
			 currentZIndex+=1; 
			 ul.style.zIndex = currentZIndex; 
			 menuBlockArray.push(ul); 
			 ul = hor_menuObj.appendChild(ul); 
			 var topPos = getTopPos(inputObj); 
			 var leftPos = getLeftPos(inputObj)/1 + initOffsetLeft/1;          
			 
			 ul.style.position = 'absolute'; 
			 ul.style.left = leftPos + 'px'; 
			 ul.style.top = topPos + 'px'; 
			 var li = ul.getElementsByTagName('LI')[0]; 
			 while(li){ 
					if(li.tagName=='LI'){    
						 li.className='currentDepth' + currentDepth;                
						 li.id = 'My_Menu_listItem' + liIndex; 
						 liIndex++;              
						 var uls = li.getElementsByTagName('UL'); 
						 li.onmouseover = showHideSub; 

						 if(uls.length>0){ 
								var offsetToFunction = li.getElementsByTagName('A')[0].offsetWidth+2; 
								if(navigatorVersion<6 && MSIE)offsetToFunction+=15;   // MSIE 5.x fix 
								initSubMenus(li,offsetToFunction,(currentDepth+1)); 
						 }    
						 if(MSIE){ 
								var a = li.getElementsByTagName('A')[0]; 
								a.style.width=li.offsetWidth+'px'; 
								a.style.display='block'; 
						 }                
					} 
					li = li.nextSibling; 
			 } 
			 ul.style.display = 'none';    
			 if(!document.all){ 
					//hor_menuObj.appendChild(ul); 
			 } 
		}    
 } 


 function resizeMenu() 
 { 
		var offsetParent = getLeftPos(hor_menuObj); 
			
		for(var no=0;no<menuBlockArray.length;no++){ 
			 var leftPos = menuBlockArray[no].style.left.replace('px','')/1; 
			 menuBlockArray[no].style.left = leftPos + offsetParent - menuParentOffsetLeft + 'px'; 
		} 
		menuParentOffsetLeft = offsetParent; 
 } 
	
 /* 
 Initializing menu 
 */ 
 function initMy_Menu() 
 { 
		hor_menuObj = document.getElementById('hor_menu'); 
			
		var aTags = hor_menuObj.getElementsByTagName('A'); 

		for(var no=0;no<aTags.length;no++){          
			 var subUl = aTags[no].parentNode.getElementsByTagName('UL'); 
//			 if(subUl.length>0 && aTags[no].parentNode.parentNode.parentNode.id != 'hor_menu'){ 
//					var img = document.createElement('IMG'); 
//					img.src = hor_menu_arrow; 
//					aTags[no].appendChild(img);              
//			 } 

		} 
						
		var mainMenu = hor_menuObj.getElementsByTagName('UL')[0]; 
		mainMenu.className='menuBlock1'; 
		mainMenu.style.zIndex = currentZIndex; 
		mainMenu.setAttribute('currentDepth' ,1); 
		mainMenu.currentDepth = '1'; 
		mainMenu.onmouseover = mouseOverMenu; 
		mainMenu.onmouseout = mouseOutMenu;        

		var mainMenuItemsArray = new Array(); 
		var mainMenuItem = mainMenu.getElementsByTagName('LI')[0]; 
		mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px'; 
		while(mainMenuItem){ 
				
			 mainMenuItem.className='currentDepth1'; 
			 mainMenuItem.id = 'My_Menu_listItem' + liIndex; 
			 mainMenuItem.onmouseover = showHideSub; 
			 liIndex++;              
			 if(mainMenuItem.tagName=='LI'){ 
					mainMenuItem.style.cssText = 'float:left;';    
					mainMenuItem.style.styleFloat = 'left'; 
					mainMenuItemsArray[mainMenuItemsArray.length] = mainMenuItem; 
					initSubMenus(mainMenuItem,0,2); 
			 }          
				
			 mainMenuItem = mainMenuItem.nextSibling; 
				
		} 

		for(var no=0;no<mainMenuItemsArray.length;no++){ 
			 initSubMenus(mainMenuItemsArray[no],0,2);          
		} 
			
		menuParentOffsetLeft = getLeftPos(hor_menuObj);    
		window.onresize = resizeMenu;    
		hor_menuObj.style.visibility = 'visible';    
 } 
window.onload = initMy_Menu;

