    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 = 'images/arrow.gif';
    
    var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
    var navigatorVersion = navigator.appVersion.replace(/.*?MSIE ([0-9]\.[0-9]).*/g,'$1')/1;
    var menuBlockArray = new Array();
    var menuParentOffsetLeft = false;	
    function getTopPos(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;

      }	  
      while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetTop;

      return returnValue;
    }
    
    function getLeftPos(inputObj)
    {
      var returnValue = inputObj.offsetLeft;
      while((inputObj = inputObj.offsetParent) != null)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('dhtmlgoodies_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('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;		
    }
    
    
    
    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);
	    var topPos = getTopPos(inputObj) - 62;
	    var leftPos = getLeftPos(inputObj)/1 + initOffsetLeft/1-275;			
	    ul = dhtmlgoodies_menuObj.appendChild(ul);
	    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);
	    }
	}	
    }


    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;
    }
    
    /* 
    Initializing menu 
    */
    function initDhtmlGoodiesMenu()
    {
	dhtmlgoodies_menuObj = document.getElementById('dhtmlgoodies_menu');
	
	
	var aTags = dhtmlgoodies_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 != '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';
	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';	
    }