	    var expandFirstItemAutomatically = false;	// Expand first menu item automatically ?
        var initMenuIdToExpand = false;	// Id of menu item that should be initially expanded. the id is defined in the <li> tag.
        var expandMenuItemByUrl = true;	// Menu will automatically expand by url - i.e. if the href of the menu item is in the current location, it will expand

        var inProgress = false;
        var nCount = 1;
        
        var initialMenuItemAlwaysExpanded = true;	// NOT IMPLEMENTED YET

        var dhtmlgoodies_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 (inProgress == false){
           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-= 10;
	        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()',60);
	        }else{
		        divToHide.style.display='none';
		        otherDivsToScroll.length = otherDivsToScroll.length-1;
		        autoHideMenus();			
	        }
        }	

        function scrollDownSub()
        {
            
            
			if(divToScroll){
			    var height = divToScroll.offsetHeight/1;
		        var offsetMove =Math.min(100,(ulToScroll.offsetHeight - height));
		        
		        height = height + 7 //offsetMove;
		        divToScroll.style.height = height + 'px';
        		
		        for(var no=1;no<otherDivsToScroll.length;no++){
			        var tmpHeight = otherDivsToScroll[no].offsetHeight/1 + 7 //offsetMove;
			        otherDivsToScroll[no].style.height = tmpHeight + 'px';
		        }			
		        
		        if(height<ulToScroll.offsetHeight)
		        {
		            inProgress = true;
		            setTimeout('scrollDownSub()',60); 
		        }else {
		            inProgress = false;
			        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.onmouseover = showSubMenu;	
			        //aTag.onmouseout = autoHideMenus;			
		        }			
		        menuItem = menuItem.nextSibling;						
	        }		
        }

        function initSlideDownMenu()
        {
	        dhtmlgoodies_slmenuObj = document.getElementById('dhtmlgoodies_slidedown_menu');
	        dhtmlgoodies_slmenuObj.style.visibility='visible';
	        var mainUl = dhtmlgoodies_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.onmouseover = showSubMenu;
				        //aTag.onmouseout = autoHideMenus;
				        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 = dhtmlgoodies_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!='dhtmlgoodies_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!='dhtmlgoodies_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]);

	        }
        }
	    window.onload = initSlideDownMenu;

