var menuids=["treemenu1"] 

var hid_sub = null;
var TimeID = new Array();

function hidesmenu()
{ 
  hid_sub.style.visibility="hidden";
  mlSetOpacity(hid_sub,0);
}

function buildsubmenus_horizontal(){
for (var i=0; i<menuids.length; i++){
  var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
    for (var t=0; t<ultags.length; t++){
		if (ultags[t].parentNode.parentNode.id==menuids[i]){ //if this is a first level submenu
			ultags[t].style.top=ultags[t].parentNode.offsetHeight+"px" //dynamically position first level submenus to be height of main menu item
			ultags[t].parentNode.getElementsByTagName("a")[0].className="mainfoldericon"
		}
		else{ //else if this is a sub level menu (ul)
		  ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
    	ultags[t].parentNode.getElementsByTagName("a")[0].className="subfoldericon"
		}
    ultags[t].parentNode.onmouseover=function(){
      if(TimeID[this.offsetLeft] != 0)
	  {
		  this.getElementsByTagName("ul")[0].style.visibility="visible";
		  clearTimeout(TimeID[this.offsetLeft]); 
		  TimeID[this.offsetLeft] = 0;
		  mlEffectOver(this.getElementsByTagName("ul")[0],this);
	  }
    }
	
    ultags[t].parentNode.onmouseout=function(){   
	  hid_sub = this.getElementsByTagName("ul")[0];
	  TimeID[this.offsetLeft] = setTimeout('hidesmenu()', 900);	  
    }
	
	 mlSetOpacity(ultags[t],0); // Run at start for ALL
    }
  }
}

if (window.addEventListener)
window.addEventListener("load", buildsubmenus_horizontal, false)
else if (window.attachEvent)
window.attachEvent("onload", buildsubmenus_horizontal)





			function mlEffectOver(ob,parent)
			{
				for(var i = 1;i<=10;i++){
					setTimeout(function(){mlIncreaseOpacity(ob)},i*50);
				}
				setTimeout(function(){ob.style.filter = ''},600);
			}
			

			function mlSetOpacity(ob,level){
				if(ob){
					var standard = level/10;
					//need to convert to 0-100 scale for IE filter
					var ie = level*10;
					ob.style.opacity = standard;
					ob.style.filter = "alpha(opacity="+ie+")"
				}
			}
			function mlIncreaseOpacity(ob){
					var current = ob.style.opacity;

						current = current *10;
						var upone = current +1;
						mlSetOpacity(ob,upone);
			}			
			
			
			
			
			
			