var timeout = 200;
var duration = 300;

	function opensubmenu(id)
	{
		obj = document.getElementById(id);
		if(obj && obj.isactive)
		{
		
		var divnodes = obj.getElementsByTagName("div");
		var ulnodes = obj.getElementsByTagName("ul");
		
		obj.isactive = true;
		
		if(divnodes[0] && ulnodes[0] && obj.className != "active")
		{
			
			startpoint = 0;
			endpoint = ulnodes[0].offsetHeight;
			
			obj.className = "active";
			divnodes[0].id = 'submenu';
			ulnodes[0].id = 'ulsubmenu';
			var mydivEffects = new fx.Styles('submenu', {duration: duration}); 
			mydivEffects.custom({'height': [startpoint, endpoint]});
			var myulEffects = new fx.Styles('ulsubmenu', {duration: duration,
				onComplete: function(){
					//obj.isactive = true;
				}}); 
			myulEffects.custom({'top': [(-1)*endpoint, 0]});
			divnodes[0].id = '';
			ulnodes[0].id = '';
		}
		
		}

	}
	
	function closesubmenu(id)
	{

		var obj = document.getElementById(id);
		if(obj && !obj.isactive)
		{
		
		var divnodes = obj.getElementsByTagName("div");
		var ulnodes = obj.getElementsByTagName("ul");
		
		if(divnodes[0] && ulnodes[0] && obj.className == "active")
		{
			
			startpoint = 0;
			endpoint = ulnodes[0].offsetHeight;
			
			obj.className = "";
			divnodes[0].id = 'submenu';
			ulnodes[0].id = 'ulsubmenu';
			var mydivEffects = new fx.Styles('submenu', {duration: duration}); 
			mydivEffects.custom({'height': [endpoint, startpoint]});
			var myulEffects = new fx.Styles('ulsubmenu', {duration: duration,
				onComplete: function(){
					//obj.isactive = false;
				}}); 
			myulEffects.custom({'top': [0, (-1)*endpoint]});
			divnodes[0].id = '';
			ulnodes[0].id = '';
		}
		
		}
	}

	function __closesubmenu()
	{
		this.isactive = false;
		setTimeout("closesubmenu('"+this.id+"')",timeout);
	}	
	
	function __opensubmenu()
	{
		this.isactive = true;
		setTimeout("opensubmenu('"+this.id+"')",timeout);
	}
	
	function initPage()
	{
		nav = document.getElementById('menu');
		if(nav)
		{
			var navs = nav.getElementsByTagName("li");

			for(var i=0; i < navs.length; i++)
			{
				var uls = navs[i].getElementsByTagName("ul");
				for(var j=0; j < uls.length; j++){
					if (uls[j].className.indexOf("sub") != -1) uls[j].parentNode.style.width = uls[j].offsetWidth + "px";
				}
				elem = navs[i];
				if(elem.id != "")
				{
					elem.onmouseover = __opensubmenu;
					elem.onmouseout = __closesubmenu;
				}
			}
		}	
	}

	if (window.addEventListener)
		window.addEventListener("load", initPage, false);
	else if (window.attachEvent)
		window.attachEvent("onload", initPage);
	