// JavaScript Document

    var expandFirstItemAutomatically=1;
	var initMenuIdToExpand = false;	// Id of menu item that should be initially expanded. the id is defined in the li tag.
	var expandMenuItemByUrl = false;	// Menu will automatically expand by url - i.e. if the href of the menu item is in the current location, it will expand
	
	
	var initialMenuItemAlwaysExpanded = true;	// NOT IMPLEMENTED YET
	
	var delux_slmenuObj;
	var divToScroll = false;
	var ulToScroll = false;	
	var divCounter = 1;
	var otherDivsToScroll = new Array();
	var divToHide = false;
	var parentDivToHide = new Array();
	var ulToHide = false;
	var offsetOpera = 0;
	if(navigator.userAgent.indexOf('Opera')>=0)offsetOpera=1;	
	var slideMenuHeightOfCurrentBox = 0;
	var objectsToExpand = new Array();
	var initExpandIndex = 0;
	var alwaysExpanedItems = new Array();
		
	function popMenusToShow()
	{
		var obj = divToScroll;
		var endArray = new Array();
		while(obj && obj.tagName!='BODY'){
			if(obj.tagName=='DIV' && obj.id.indexOf('slideDiv')>=0){
				var objFound = -1;
				for(var no=0;no<otherDivsToScroll.length;no++){
					if(otherDivsToScroll[no]==obj){
						objFound = no;		
					}					
				}	
				if(objFound>=0){
					otherDivsToScroll.splice(objFound,1);	
				}		
			}	
			obj = obj.parentNode;
		}	
	}

	function showSubMenu(e,inputObj)
	{

		if(this && this.tagName)inputObj = this.parentNode;
		if(inputObj && inputObj.tagName=='LI'){
			divToScroll = inputObj.getElementsByTagName('DIV')[0];
			for(var no=0;no<otherDivsToScroll.length;no++){
				if(otherDivsToScroll[no]==divToScroll)return;
			}			
		}
		hidingInProcess = false;
		if(otherDivsToScroll.length>0){
			if(divToScroll){				
				if(otherDivsToScroll.length>0){
					popMenusToShow();
				}
				if(otherDivsToScroll.length>0){	
					autoHideMenus();
					hidingInProcess = true;
				}
			}	
		}		
		if(divToScroll && !hidingInProcess){
			divToScroll.style.display='';
			otherDivsToScroll.length = 0;
			otherDivToScroll = divToScroll.parentNode;
			otherDivsToScroll.push(divToScroll);	
			while(otherDivToScroll && otherDivToScroll.tagName!='BODY'){
				if(otherDivToScroll.tagName=='DIV' && otherDivToScroll.id.indexOf('slideDiv')>=0){
					otherDivsToScroll.push(otherDivToScroll);					
				}
				otherDivToScroll = otherDivToScroll.parentNode;
			}			
			ulToScroll = divToScroll.getElementsByTagName('UL')[0];
			if(divToScroll.style.height.replace('px','')/1<=1)scrollDownSub();
		}	
		

	}
	
	

	function autoHideMenus()
	{
		if(otherDivsToScroll.length>0){
			divToHide = otherDivsToScroll[otherDivsToScroll.length-1];
			parentDivToHide.length=0;
			var obj = divToHide.parentNode.parentNode.parentNode;
			while(obj && obj.tagName=='DIV'){			
				if(obj.id.indexOf('slideDiv')>=0)parentDivToHide.push(obj);
				obj = obj.parentNode.parentNode.parentNode;
			}
			var tmpHeight = (divToHide.style.height.replace('px','')/1 - slideMenuHeightOfCurrentBox);
			if(tmpHeight<0)tmpHeight=0;
			if(slideMenuHeightOfCurrentBox)divToHide.style.height = tmpHeight  + 'px';
			ulToHide = divToHide.getElementsByTagName('UL')[0];
			slideMenuHeightOfCurrentBox = ulToHide.offsetHeight;
			scrollUpMenu();		
		}else{
			slideMenuHeightOfCurrentBox = 0;
			showSubMenu();			
		}
	}

	
	function scrollUpMenu()
	{

		var height = divToHide.offsetHeight;
		height-=15;
		if(height<0)height=0;
		divToHide.style.height = height + 'px';
	
		for(var no=0;no<parentDivToHide.length;no++){	
			parentDivToHide[no].style.height = parentDivToHide[no].getElementsByTagName('UL')[0].offsetHeight + 'px';
		}
		if(height>0){
			setTimeout('scrollUpMenu()',5);
		}else{
			divToHide.style.display='none';
			otherDivsToScroll.length = otherDivsToScroll.length-1;
			autoHideMenus();			
		}
	}	
	
	function scrollDownSub()
	{
		if(divToScroll){			
			var height = divToScroll.offsetHeight/1;
			var offsetMove =Math.min(15,(ulToScroll.offsetHeight - height));
			height = height +offsetMove ;
			divToScroll.style.height = height + 'px';
			
			for(var no=1;no<otherDivsToScroll.length;no++){
				var tmpHeight = otherDivsToScroll[no].offsetHeight/1 + offsetMove;
				otherDivsToScroll[no].style.height = tmpHeight + 'px';
			}			
			if(height<ulToScroll.offsetHeight)setTimeout('scrollDownSub()',5); else {
				divToScroll = false;
				ulToScroll = false;
				if(objectsToExpand.length>0 && initExpandIndex<(objectsToExpand.length-1)){
					initExpandIndex++;
					
					showSubMenu(false,objectsToExpand[initExpandIndex]);
				}
			}
		}
	}
		
	function initSubItems(inputObj,currentDepth)
	{		
		divCounter++;		
		var div = document.createElement('DIV');	// Creating new div		
		div.style.overflow = 'hidden';	
		div.style.position = 'relative';
		div.style.display='none';
		div.style.height = '1px';
		div.id = 'slideDiv' + divCounter;
		div.className = 'slideMenuDiv' + currentDepth;		
		inputObj.parentNode.appendChild(div);	// Appending DIV as child element of <LI> that is parent of input <UL>		
		div.appendChild(inputObj);	// Appending <UL> to the div
		var menuItem = inputObj.getElementsByTagName('LI')[0];
		while(menuItem){
			if(menuItem.tagName=='LI'){
				var aTag = menuItem.getElementsByTagName('A')[0];
				aTag.className='slMenuItem_depth'+currentDepth;	
				var subUl = menuItem.getElementsByTagName('UL');
				if(subUl.length>0){
					initSubItems(subUl[0],currentDepth+1);					
				}
				aTag.onclick = showSubMenu;				
			}			
			menuItem = menuItem.nextSibling;						
		}		
	}
	
	function initSlideDownMenu()
	{
		delux_slmenuObj = document.getElementById('delux_slidedown_menu');
		delux_slmenuObj.style.visibility='visible';
		var mainUl = delux_slmenuObj.getElementsByTagName('UL')[0];		
		var mainMenuItem = mainUl.getElementsByTagName('LI')[0];
		mainItemCounter = 1;
		while(mainMenuItem){			
			if(mainMenuItem.tagName=='LI'){
				var aTag = mainMenuItem.getElementsByTagName('A')[0];
				aTag.className='slMenuItem_depth1';	
				var subUl = mainMenuItem.getElementsByTagName('UL');
				if(subUl.length>0){
					mainMenuItem.id = 'mainMenuItem' + mainItemCounter;
					initSubItems(subUl[0],2);
					aTag.onclick = showSubMenu;
					mainItemCounter++;
				}				
			}			
			mainMenuItem = mainMenuItem.nextSibling;	
		}		
		
		if(location.search.indexOf('mainMenuItemToSlide')>=0){
			var items = location.search.split('&');
			for(var no=0;no<items.length;no++){
				if(items[no].indexOf('mainMenuItemToSlide')>=0){
					values = items[no].split('=');
					showSubMenu(false,document.getElementById('mainMenuItem' + values[1]));	
					initMenuIdToExpand = false;				
				}
			}			
		}else if(expandFirstItemAutomatically>0){
			if(document.getElementById('mainMenuItem' + expandFirstItemAutomatically)){
				showSubMenu(false,document.getElementById('mainMenuItem' + expandFirstItemAutomatically));
				initMenuIdToExpand = false;
			}
		}

		if(expandMenuItemByUrl)
		{
			var aTags = delux_slmenuObj.getElementsByTagName('A');
			for(var no=0;no<aTags.length;no++){
				var hrefToCheckOn = aTags[no].href;				
				if(location.href.indexOf(hrefToCheckOn)>=0 && hrefToCheckOn.indexOf('#')<hrefToCheckOn.length-1){
					initMenuIdToExpand = false;
					var obj = aTags[no].parentNode;
					while(obj && obj.id!='delux_slidedown_menu'){
						if(obj.tagName=='LI'){							
							var subUl = obj.getElementsByTagName('UL');
							if(initialMenuItemAlwaysExpanded)alwaysExpanedItems[obj.parentNode] = true;
							if(subUl.length>0){								
								objectsToExpand.unshift(obj);
							}
						}
						obj = obj.parentNode;	
					}
					showSubMenu(false,objectsToExpand[0]);
					break;					
				}			
			}
		}
				
		if(initMenuIdToExpand)
		{
			objectsToExpand = new Array();
			var obj = document.getElementById(initMenuIdToExpand)
			while(obj && obj.id!='delux_slidedown_menu'){
				if(obj.tagName=='LI'){
					var subUl = obj.getElementsByTagName('UL');
					if(initialMenuItemAlwaysExpanded)alwaysExpanedItems[obj.parentNode] = true;
					if(subUl.length>0){						
						objectsToExpand.unshift(obj);
					}
				}
				obj = obj.parentNode;	
			}
			
			showSubMenu(false,objectsToExpand[0]);

		}
		

			
	}

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_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_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); 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];}
}
//-->
