			function mladdevents(){
				var effects_a = new Array();
				var divs = document.getElementById('nav');
				var lis = divs.getElementsByTagName('li');
				for(var i =0;i<lis.length;i++){
					lis[i].onmouseover = mlover;
					lis[i].onmouseout = mloutSetTimeout;
					var uls = lis[i].getElementsByTagName('ul');
					for(var k=0;k<uls.length;k++){
						var found = 'no';
						for(var z=0;z<effects_a.length;z++){
							if(effects_a[z] == uls[k]){
								found = 'yes';
							}
						}
						if(found == 'no'){
							effects_a[effects_a.length] = uls[k];
							uls[k].style.zIndex = '100';
							mlEffectLoad(uls[k]);
						}
					}
				}
			}
			function mloutSetTimeout(e){
				if(!e){
					var the_e = window.event;
				}
				else{
					var the_e = e;
				}
				var reltg = (the_e.relatedTarget) ? the_e.relatedTarget : the_e.toElement;
				if(reltg){
					var under = ancestor(reltg,this);
					if(under === false && reltg != this){
						window.mlLast = this;
						var parent = this.parentNode;
						while(parent.parentNode && parent.className.indexOf('mlmenu') == -1){
							parent = parent.parentNode;
						}
						window.mlTimeout = setTimeout(function(){mlout()},1000);
					}
				}
			}
			function mlout(){
			if(window.mlLast==null)return false;
				var uls = window.mlLast.getElementsByTagName('ul');
				for(var i=0;i<uls.length;i++){
					mlEffectOut(uls[i]);
					window.mlLast.className = 'haschild hide';
				}
				window.lastover = null;
			}
			function mlover(e){
				if(!e){
					var the_e = window.event;
				}
				else{
					var the_e = e;
				}
				the_e.cancelBubble = true;
				if(the_e.stopPropagation){
					the_e.stopPropagation();
				}
				clearTimeout(window.mlTimeout);
				if(window.mlLast && window.mlLast != this && ancestor(this,window.mlLast) == false){
					mlout();
				}
				else{
					window.mlLast = null;
				}
				var reltg = (the_e.relatedTarget) ? the_e.relatedTarget : the_e.fromElement;
				var ob = this.getElementsByTagName('ul');
					var under = ancestor(reltg,this);
					if(ob[0] && under == false){
						if(window.lastover != ob[0]){
							this.className = 'haschild';
							mlEffectOver(ob[0],this);
							window.lastover = ob[0];
						}
					}
			}
			function mlEffectOver(ob,parent){
				parent.className="hover";
				ob.style.display = 'block';
			}
			function mlEffectOut(ob){
				var parent = ob.parentNode;
				parent.className="";
				ob.style.display = 'none';
			}
			function mlEffectLoad(ob){
				var parent = ob.parentNode;
				while(parent.parentNode && parent.className.indexOf('mlmenu') == -1){
					parent = parent.parentNode;
				}
			}
			function ancestor(child, parent){
				if(child==null)return false;//Saves checking elsewhere
				//This is a fix for a Firefox bug *gasp*
				//Aparantly causes a bug in Opera!
				//I see no choice but a browser detect. *sigh* I didn't want to have to do this.
				if(navigator.userAgent.indexOf('Gecko') != -1 && navigator.userAgent.indexOf('Opera') == -1){
					//This should only be run by Gecko based browsers. this code should be fine in everything but Opera so forge away browsers.
					var allc = parent.getElementsByTagName('*');
					for(var i= 0;i<allc.length;i++){
						if(allc[i] == child){
							return true;
						}
					}
				}
				else{
					//http://www.dynamicdrive.com/forums/showthread.php?t=12341 Thanks Twey!
					for(; child.parentNode; child = child.parentNode){
						if(child.parentNode === parent) return true;
					}
				}
				return false;
			}