﻿//	<![CDATA[

	var dhtmlgoodies_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 dhtmlgoodies_menu_arrow = 'inc/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];
	}	//	getStyle()



	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=='dhtmlgoodies_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; 
	}	//	getTopPos()



	function getLeftPos(inputObj){
		var returnValue = inputObj.offsetLeft; 
		var topOfMenuReached = false; 
		while((inputObj = inputObj.offsetParent) != null){
			if(inputObj.parentNode.id=='dhtmlgoodies_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;
	}	//	getLeftPos()



	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('dhtmlgoodies_listItem' + parent.id.replace(/[^0-9]/g,''));
			if(li.className.indexOf('over')<0)li.className = li.className + 'over'; 
			parent = li.parentNode; 
		}

		hideMenuItems(exceptionArray);
	}	//	showHideSub()



	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('dhtmlgoodies_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;
	}	//	hideMenuItems()



	var menuActive = true; 
	var hideTimer = 0;


	function mouseOverMenu(){
		menuActive = true;
	}	//	mouseOverMenu()



	function mouseOutMenu(){
		menuActive = false;
		timerAutoHide();
	}	//	mouseOutMenu()



	function timerAutoHide(){
		if(menuActive){
			hideTimer = 0;
			return;
		}

		if(hideTimer<timeBeforeAutoHide){
			hideTimer+=100;
			setTimeout('timerAutoHide()',99);
		}else{
			hideTimer = 0;
			autohideMenuItems();
		}
	}	//	timerAutoHide()



	function autohideMenuItems(){
		if(!menuActive){
			hideMenuItems(new Array());
			if(activeMenuItem)activeMenuItem.className=activeMenuItem.className.replace(/over/,'');
		}
	}	//	autohideMenuItems()



	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 = dhtmlgoodies_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 = 'dhtmlgoodies_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){ 
				//dhtmlgoodies_menuObj.appendChild(ul); 
			}
		}
	}	//	initSubMenus(


	function resizeMenu(){
		var offsetParent = getLeftPos(dhtmlgoodies_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; 
	}	//	resizeMenu()




	//	Initializing menu

	function initDhtmlGoodiesMenu(){
		dhtmlgoodies_menuObj = document.getElementById('dhtmlgoodies_menu'); 

		var aTags = dhtmlgoodies_menuObj.getElementsByTagName('A'); 
		var no=0;

		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 != 'dhtmlgoodies_menu'){ 
				var img = document.createElement('IMG'); 
				img.src = dhtmlgoodies_menu_arrow;
				aTags[no].appendChild(img);
			}
		}

		var mainMenu = dhtmlgoodies_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'; 
		mainMenu.style.height = '50px'; 

		while(mainMenuItem){ 
			mainMenuItem.className='currentDepth1'; 
			mainMenuItem.id = 'dhtmlgoodies_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(dhtmlgoodies_menuObj);
		window.onresize = resizeMenu;
		dhtmlgoodies_menuObj.style.visibility = 'visible';
	}	//	initDhtmlGoodiesMenu()



	//window.onload = initDhtmlGoodiesMenu;

//	]]>
