    function show_menu(menuNr)
    {
//    	log('show_menu: over_menu='+document.over_menu+' menuNr='+menuNr);

    	if((document.over_menu != document.last_over_menu)&&(document.over_menu == menuNr))
    	{
//	    	log('in show menu');	    	
	    	document.over_menu = menuNr;
	    	document.selected_folder = $('folder_'+menuNr);
	    	if(document.selected_folder.className.search('hover') == -1)
	    	{
	    		document.selected_folder.className += ' hover';
	    	}

	    	document.selected_menu = $('submenu_'+menuNr);
	    	document.selected_menu.style.visibility = 'hidden';
	    	document.selected_menu.style.display = 'block';
	    	
//	    	adjusting submenu width
			var maxAWidth = 0;
			var allA = document.selected_menu.getElementsByTagName('a');
			for(i = 0; i < allA.length; i++)
			{
				nextWidth = $('submenu_' + menuNr + '_link_' + i).getWidth();
				if(maxAWidth < nextWidth) maxAWidth = nextWidth;
			}
//			alert(maxAWidth);
			var newSubmenuWidth = maxAWidth + 10;
			document.selected_menu.style.width = (newSubmenuWidth) + 'px';
	    	
	    	folder_width = document.selected_folder.getWidth();
	    	submenu_width = document.selected_menu.getWidth();
//	    	alert(folder_width);
//	    	alert($('page').offsetLeft);
	    	minX = $('page').offsetLeft;
	    	maxX = minX + $('menu_wrapper').getWidth() - submenu_width;
	    	centerX = document.selected_folder.offsetLeft + folder_width/2 - submenu_width/2;
	    	if(navigator.appName == 'Microsoft Internet Explorer')
	    	{
	    		//centerX += minX;
	    	}
	    	newX = centerX;
	    	//if(maxX < newX)	newX = maxX;
	    	
//	    	to handle a strange bug in MSIE
	    	if(navigator.appName == 'Microsoft Internet Explorer')
	    	{
	    		var adjustment = 1;
	    		newX = newX - adjustment;
		    	document.selected_menu.style.width = (submenu_width + adjustment) + 'px';
	    	}
	    	//if(minX > newX) newX = minX;
//	    	alert(newX);
	    	document.selected_menu.style.left = newX + 'px';
	    	
	    	document.selected_menu.style.visibility = 'visible';
	    	document.last_over_menu = document.over_menu;
    	}
    	
    }
    function hide_menu(menuNr)
    {
//    	log('hide_menu: over_menu='+document.over_menu+' menuNr='+menuNr);

    	if(document.over_menu != menuNr)
    	{
//	    	log('in hide menu');	    	
	    	document.selected_folder = document.getElementById('folder_'+menuNr);

//	    	document.selected_folder.style.position = 'static';
	    	document.selected_menu = document.getElementById('submenu_'+menuNr);
//	    	document.selected_menu.style.position = 'static';
	    	document.selected_menu.style.display = 'none';
	    	document.last_over_menu = 'none';
	    	document.selected_folder.className = document.selected_folder.className.replace('hover', '');
    	}
    	
    }
    function log(message)
    {
    	document.getElementById('debug').innerHTML += message +' <br>';
    }