// JavaScript Document
	/************************************************************************************************************
	(C) www.dhtmlgoodies.com, November 2005
	
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	
	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.
	
	Thank you!
	
	www.dhtmlgoodies.com
	Alf Magne Kalleland
	
	************************************************************************************************************/
	
	// JOEL REWROTE MUCH OF THIS

	// config in another file
	
	/* Don't change anything below here */
	
	var activeSubMenuId = false;
	var activeMainMenuItem = false;
	var currentZIndex = 1000;		
	var autoHideTimer = 0;
	var submenuObjArray = new Array();
	var okToSlideInSub = new Array();
	var subPositioned = new Array();
	
	

	function stopAutoHide()
	{
		autoHideTimer = -1;
	}
	
	function initAutoHide()
	{
		autoHideTimer = 0;
		if(autoHideTimer>=0)autoHide();
	}
	

	
	function autoHide()
	{
		
		if(autoHideTimer>timeBeforeAutoHide)
		{
			
			if(activeMainMenuItem){
				activeMainMenuItem.className='';
				activeMainMenuItem = false;
			}
			
			if(activeSubMenuId){
				var obj = document.getElementById('subMenuDiv' + activeSubMenuId);
				showSub();
			}
		}else{
			if(autoHideTimer>=0){
				autoHideTimer+=50;
				setTimeout('autoHide()',50);
			}
		}
	}	
	
	function getTopPos(inputObj)
	{		
	  var returnValue = inputObj.offsetTop;
	  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetTop;
	  return 0;
//	  return returnValue;
	}
	
	function getLeftPos(inputObj)
	{
	  var returnValue = inputObj.offsetLeft;
	  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
	    return 0;
//	  return returnValue;
	}
	
	function showSub()
	{
		var subObj = false;		
		if(this && this.tagName){
			var numericId = this.parentNode.id.replace(/[^0-9]/g,'');
			okToSlideInSub[numericId] = false;
			var subObj = document.getElementById('subMenuDiv' + numericId);
			
			if(activeMainMenuItem)activeMainMenuItem.className='';
			
			if(subObj){
				if(!subPositioned[numericId]){
				/*	if(slideDirection=='right'){
						subObj.style.left = getLeftPos(submenuObjArray[numericId]['parentDiv']) + submenuObjArray[numericId]['parentDiv'].offsetWidth + xOffsetSubMenu + 'px';
					}else{
						subObj.style.top = getLeftPos(submenuObjArray[numericId]['parentDiv']) + xOffsetSubMenu + 'px';
						
					}
					submenuObjArray[numericId]['left'] = subObj.style.left.replace(/[^0-9]/g,'');
					subObj.style.top = getTopPos(submenuObjArray[numericId]['parentDiv']) + 'px';
					subPositioned[numericId] = true;
					*/
				}				
				subObj.style.visibility = 'visible';
				subObj.style.zIndex = currentZIndex;
				currentZIndex++;	
				
				this.className='activeMainMenuItem';
				activeMainMenuItem = this;
			}
		}else{
			var numericId = activeSubMenuId;
		}
		//alert (activeSubMenuId + ":" + numericId + ":" + activeSubMenuId + ":" + subObj);
		if(activeSubMenuId && (numericId!=activeSubMenuId || !subObj))newSlideMenu(activeSubMenuId,(slideSpeed_in*-1));
		
		if(numericId!=activeSubMenuId && this && subObj){
			if ((slideDirection=='left') || (slideDirection=='right')){ //J
				subObj.style.width = '0px';	
			} else {
				subObj.style.height = '0px';	
			}
			newSlideMenu(numericId,slideSpeed_out);
			activeSubMenuId = numericId;
		}else{
			if(numericId!=activeSubMenuId)activeSubMenuId = false;
		}
		if(showSubOnMouseOver)stopAutoHide();
	}
	
	function newShowSub(){
	
	}
	
	function newSlideMenu(menuIndex,step){
		var outerDiv = submenuObjArray[menuIndex]['divObj'];
		var innerUL = submenuObjArray[menuIndex]['ulObj'];
		var tempTop;
		var tempLeft;
		
		//if bottom or right, positive steps are out, negative in
		if ((slideDirection=='bottom') || (slideDirection=='right')){
			if (slideDirection=='bottom'){ //bottom			
				submenuObjArray[menuIndex]['heightTarget'] = submenuObjArray[menuIndex]['heightTarget'] + step;
				outerDiv.style.height = submenuObjArray[menuIndex]['heightTarget'] + 'px';							

				tempTop = submenuObjArray[menuIndex]['heightTarget'] - parseInt(submenuObjArray[menuIndex]['height']);												
				innerUL.style.top = tempTop + 'px';						
								
				if (step > 0){				
			//	alert (submenuObjArray[menuIndex]['heightTarget']+ ":" + submenuObjArray[menuIndex]['height']);
					if (submenuObjArray[menuIndex]['heightTarget'] < submenuObjArray[menuIndex]['height']){setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in); } else { okToSlideInSub[menuIndex] = true; } 
				} else {				
				//	alert (submenuObjArray[menuIndex]['heightTarget']+ ":" + submenuObjArray[menuIndex]['height']);
					if ((submenuObjArray[menuIndex]['heightTarget'] <= submenuObjArray[menuIndex]['height']) && submenuObjArray[menuIndex]['heightTarget']>0 ){ setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in);} else { okToSlideInSub[menuIndex] = true; 	if(activeSubMenuId==menuIndex)activeSubMenuId=false;outerDiv.style.visibility = 'hidden';}				
				}
			} else { //right			
				submenuObjArray[menuIndex]['widthTarget'] = submenuObjArray[menuIndex]['widthTarget'] + step;
				outerDiv.style.width = submenuObjArray[menuIndex]['widthTarget'] + 'px';	
				
				tempLeft = submenuObjArray[menuIndex]['widthTarget'] - parseInt(submenuObjArray[menuIndex]['width']);												
				innerUL.style.left = tempLeft + 'px';	
				if (step>0){
					if (submenuObjArray[menuIndex]['widthTarget'] < submenuObjArray[menuIndex]['width']){ setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in);} else { okToSlideInSub[menuIndex] = true; } 			
				} else{
					if ((submenuObjArray[menuIndex]['widthTarget'] <= submenuObjArray[menuIndex]['width'])  && submenuObjArray[menuIndex]['widthTarget']>0){ setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in);} else { okToSlideInSub[menuIndex] = true; if(activeSubMenuId==menuIndex)activeSubMenuId=false;	outerDiv.style.visibility = 'hidden';}					
				}
			
			}
		} else { //Top or left
			if (slideDirection=='top'){ //bottom
				submenuObjArray[menuIndex]['heightTarget'] = submenuObjArray[menuIndex]['heightTarget'] + step;
				tempTop = parseInt(submenuObjArray[menuIndex]['top']) - submenuObjArray[menuIndex]['heightTarget'];				
				outerDiv.style.top = tempTop + 'px';			
				outerDiv.style.height = submenuObjArray[menuIndex]['heightTarget'] + 'px';									
				if (step > 0){				
					if (submenuObjArray[menuIndex]['heightTarget'] < submenuObjArray[menuIndex]['height']){setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in);} else { okToSlideInSub[menuIndex] = true;} 			
				} else{							
					if ((submenuObjArray[menuIndex]['heightTarget'] <= submenuObjArray[menuIndex]['height']) && submenuObjArray[menuIndex]['heightTarget']>0){ setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in);}	else { okToSlideInSub[menuIndex] = true; if(activeSubMenuId==menuIndex)activeSubMenuId=false;	outerDiv.style.visibility = 'hidden';}								
				}
				
			} else { //left
				submenuObjArray[menuIndex]['widthTarget'] = submenuObjArray[menuIndex]['widthTarget'] + step;
				tempLeft = parseInt(submenuObjArray[menuIndex]['left']) - submenuObjArray[menuIndex]['widthTarget'];				
				outerDiv.style.left = tempLeft + 'px';			
				outerDiv.style.width = submenuObjArray[menuIndex]['widthTarget'] + 'px';		
				
				if (step>0){
					if (submenuObjArray[menuIndex]['widthTarget'] < submenuObjArray[menuIndex]['width']){ setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in);} else { okToSlideInSub[menuIndex] = true; } 			
				} else{
					if ((submenuObjArray[menuIndex]['widthTarget'] <= submenuObjArray[menuIndex]['width']) && submenuObjArray[menuIndex]['widthTarget']>0){ setTimeout('newSlideMenu(' + menuIndex + ',' + step + ')',slideTimeout_in);} else { okToSlideInSub[menuIndex] = true; if(activeSubMenuId==menuIndex)activeSubMenuId=false;	outerDiv.style.visibility = 'hidden';}							
				}
			
			}
		
		
		
		}
				
		
	}

	function resetPosition()
	{
		subPositioned.length = 0;
	}
			
	function initMenu()
	{
		var menuObj = document.getElementById('nav');
			var mainMenuItemArray = new Array();
	
		
		var mainMenuItem = menuObj.getElementsByTagName('LI')[0];
		while(mainMenuItem){
		
			if(mainMenuItem.tagName && mainMenuItem.tagName.toLowerCase()=='li'){
				mainMenuItemArray[mainMenuItemArray.length] = mainMenuItem;		
				var aTag = mainMenuItem.getElementsByTagName('A')[0];		
				if(showSubOnMouseOver)
					aTag.onmouseover = showSub;	
				else
					aTag.onclick = showSub;	
			}
			mainMenuItem = mainMenuItem.nextSibling;
		}		
		
		var lis = menuObj.getElementsByTagName('A');
		for(var no=0;no<lis.length;no++){		
			if(!showSubOnMouseOver)lis[no].onmouseover = stopAutoHide;
			
			lis[no].onmouseout = initAutoHide;
			lis[no].onmousemove = stopAutoHide;
		}
				
		for(var no=0;no<mainMenuItemArray.length;no++){
			var sub = mainMenuItemArray[no].getElementsByTagName('UL')[0];
			
			if(sub){
				mainMenuItemArray[no].id = 'mainMenuItem' + (no);				
				var div = document.createElement('DIV');
				div.className='Submenu';
				sub.parentNode.appendChild(div);
//				document.body.appendChild(div);
				div.appendChild(sub);
				
				if ((slideDirection=='left') || (slideDirection=='right')){ //J
					if(slideDirection=='right'){
						div.style.left =  xOffsetSubMenu + 'px';
					}else{
						div.style.left =  xOffsetSubMenu + 'px';
					}				
					div.style.top = '0px';
					
				} else {
					if(slideDirection=='bottom'){
						div.style.top =  yOffsetSubMenu + 'px';
					}else{
						div.style.top = yOffsetSubMenu + 'px';
					//	div.style.top = '-10px';
//						div.style.bottom = yOffsetSubMenu + 'px';
						
					}						
					div.style.left = '0px';
					
				
				}			

					div.id = 'subMenuDiv' + (no);
					sub.id = 'submenuUl' + (no);
					sub.style.position = 'relative';				
			
					submenuObjArray[no] = new Array();
					submenuObjArray[no]['parentDiv'] = mainMenuItemArray[no];
					submenuObjArray[no]['divObj'] = div;
					submenuObjArray[no]['ulObj'] = sub;
					submenuObjArray[no]['width'] = sub.offsetWidth;
					submenuObjArray[no]['widthTarget'] = 0;					
					submenuObjArray[no]['height'] = sub.offsetHeight;					
					submenuObjArray[no]['heightTarget'] = 0;					
					submenuObjArray[no]['left'] = div.style.left.replace(/[^0-9]/g,'');					
					submenuObjArray[no]['top'] = div.style.top.replace(/[^0-9]/g,'');					
					submenuObjArray[no]['bottom'] = div.style.bottom.replace(/[^0-9]/g,'');
				//	alert(submenuObjArray[no]['left']+":"+submenuObjArray[no]['top']+":"+submenuObjArray[no]['bottom']);
					

					if(fixedSubMenuWidth)submenuObjArray[no]['width'] = fixedSubMenuWidth;
					
				//if(!document.all)div.style.width = '1px';			
					
			}			
		}
		menuObj.style.visibility = 'visible';

		
		window.onresize = resetPosition;
	}

window.onload = initMenu;