window.onload = mladdevents;			function mladdevents(){				if(window.mlrunShim == true){					var Iframe = document.createElement("iframe");					Iframe.setAttribute("src","about:blank");					Iframe.setAttribute("scrolling","no");					Iframe.setAttribute("frameBorder","0");					Iframe.style.zIndex = "2";					Iframe.style.filter = 'alpha(opacity=0)';				}				var effects_a = new Array();				var divs = document.getElementsByTagName('div');				for(var j=0;j<divs.length;j++){					if(divs[j].className.indexOf('mlmenu') != -1){						var lis = divs[j].getElementsByTagName('li');						for(var i =0;i<lis.length;i++){							lis[i].onmouseover = mlover;							lis[i].onmouseout = mloutSetTimeout;							if(window.mlrunShim == true){								lis[i].appendChild(Iframe.cloneNode(false));							}							if(lis[i].getElementsByTagName('ul').length > 0){								lis[i].className += 'haschild';								if(divs[j].className.indexOf('arrow') != -1){									if(divs[j].className.indexOf('vertical') != -1 || lis[i].parentNode.parentNode.nodeName != 'DIV'){										lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="vert">&rarr;</span>';									}									else{										lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="horiz">&darr;</span>';									}								}								else if(divs[j].className.indexOf('plus') != -1){									lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="plus">+</span>';								}							}							else{								if(divs[j].className.indexOf('arrow') != -1){									//This accounts for a wierd IE-specific bug in horizontal menus. CSS will set visibility: hidden;. This keeps the menu level(in IE)									lis[i].getElementsByTagName('a')[0].innerHTML += '<span class="noshow">&darr;</span>';								}							}							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;						}						if(parent.className.indexOf('delay') != -1){							window.mlTimeout = setTimeout(function(){mlout()},500);						}						else{							mlout();						}					}				}			}			function mlout(){			if(window.mlLast==null)return false;				var uls = window.mlLast.getElementsByTagName('ul');				var sib;				for(var i=0;i<uls.length;i++){					mlEffectOut(uls[i]);					if(window.mlrunShim == true){						sib = uls[i];													while(sib.nextSibling && sib.nodeName != 'IFRAME'){								sib = sib.nextSibling						}						sib.style.display = 'none';					}				}				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]){						if(window.mlrunShim == true){							var sib = ob[0];							while(sib.nextSibling && sib.nodeName != 'IFRAME'){								sib = sib.nextSibling							}							ob[0].style.display = 'block';							sib.style.top = ob[0].offsetTop+'px';							sib.style.left = ob[0].offsetLeft-2+'px';							sib.style.width = ob[0].offsetWidth+'px';							sib.style.height = ob[0].offsetHeight-2+'px';							sib.style.border = '1px solid red';							sib.style.display = 'block';						}						mlEffectOver(ob[0],this);						window.lastover = ob[0];					}				}			}			function mlSetOpacity(ob,level){				if(ob){					//level is between 0 and 10					//need to convert to decimal for standard					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;					if(lastob == ob && lastop == current){						//mlout has not interfered						current = current *10;						var upone = current +1;						mlSetOpacity(ob,upone);						lastob = ob;						lastop = upone/10;					}			}			function mlIncreaseHeight(ob){				var current = parseInt(ob.style.height);				var newh = current + 1;				ob.style.height = newh+'px';			}			function mlIncreaseWidth(ob){				var current = parseInt(ob.style.width);				var newh = current + 1;				ob.style.width = newh+'px';			}			function mlBlink(ob){				var newb = '1px solid red';				var old = '';				if(ob.style.border==old){					ob.style.border=newb;				}				else{					ob.style.border=old;					ob.style.borderTop = '1px solid';				}			}			function mlShake(ob){				var newp = '5px';				var old = '';				if(ob.style.paddingLeft==old){					ob.style.paddingLeft=newp;				}				else{					ob.style.paddingLeft=old;				}			}			function mlEffectOver(ob,parent){				switch(ob.className){					case 'fade':						ob.style.display = 'block';						if(ob.style.opacity == 0){							lastob = ob							lastop = 0;							for(var i = 1;i<=10;i++){								setTimeout(function(){mlIncreaseOpacity(ob)},i*50);							}							setTimeout(function(){ob.style.filter = ''},500);						}						break;					case 'blink':						ob.style.display = 'block';						for(var i=0;i<10;i++){							setTimeout(function(){mlBlink(ob)},i*50);						}						break;					case 'shake':						ob.style.display = 'block';						for(var i=0;i<10;i++){							setTimeout(function(){mlShake(ob)},i*50);						}						break;					case 'blindv':						ob.style.display = 'block';						if(ob.offsetHeight){							var height = ob.offsetHeight							ob.style.height = '0px';							ob.style.overflow = 'hidden';							for(var i=0;i<height;i++){								setTimeout(function(){mlIncreaseHeight(ob)},i*3);							}							setTimeout(function(){ob.style.overflow='visible';},height*3)						}						break;					case 'blindh':						ob.style.display = 'block';						if(ob.offsetWidth){							var width = ob.offsetWidth;							ob.style.width = '0px';							ob.style.overflow = 'hidden';							for(var i=0;i<width;i++){								setTimeout(function(){mlIncreaseWidth(ob)},i*3);							}							setTimeout(function(){ob.style.overflow='visible';},width*3)						}						break;					default:						ob.style.display = 'block';						break;				}			}			function mlEffectOut(ob){				switch(ob.className){					case 'fade':						mlSetOpacity(ob,0);						ob.style.display = 'none';						break;					case 'blink':						ob.style.border = '';						ob.style.display = 'none';						break;					case 'shake':						ob.style.paddingLeft = '';						ob.style.display = 'none';						break;					default:						ob.style.display = 'none';						break;				}			}			function mlEffectLoad(ob){				var parent = ob.parentNode;				while(parent.parentNode && parent.className.indexOf('mlmenu') == -1){					parent = parent.parentNode;				}				if(parent.className.indexOf('fade') != -1){						ob.style.display = 'none';						ob.className = 'fade';						mlSetOpacity(ob,0);				}				else if(parent.className.indexOf('blink') != -1){					ob.className = 'blink';					ob.style.display = 'none';				}				else if(parent.className.indexOf('shake') != -1){					ob.className = 'shake';					ob.style.display = 'none';				}				else if(parent.className.indexOf('blindv') != -1){					ob.className = 'blindv';					ob.style.display = 'none';				}				else if(parent.className.indexOf('blindh') != -1){					ob.className = 'blindh';					ob.style.display = 'none';				}				else{					ob.className = 'none';					ob.style.display = 'none';				}			}			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;			}	// Dynamic Version by: Nannette Thacker	// http://www.shiningstar.net	// Original by :  Ronnie T. Moore	// Web Site:  The JavaScript Source	function textCounter(field, cntfield, maxlimit) {		var toCount = document.getElementById(field);		var counter = document.getElementById(cntfield);		if (toCount.value.length > maxlimit) { // if too long...trim it!			toCount.value = toCount.value.substring(0, maxlimit);		} else { // otherwise, update 'characters left' counter			counter.value = maxlimit - toCount.value.length;		}	}	var fieldsTooLong = new Array();	function addField(field) {		var i;		var found = false;		for (i in fieldsTooLong) {			// begin if: 			if (fieldsTooLong[i] == field) {				found = true;			} // end if		} // end for		// begin if: 		if (found) {			fieldsTooLong.push(field);		} // end if		alert(fieldsTooLong.length);	}	function fieldLength(field, type) {		var i;		if (type == null) {			type = 'add';		}		if (type == 'add') {			fieldsTooLong.push(field);		} else {			for (i in fieldsTooLong) {				if (fieldsTooLong[i] == field) {					fieldsTooLong.splice(i, 1);					alert(fieldsTooLong.length);				} // end if			} // end for		} // end if	}	// Original:  Shawn Seley	// This script and many more are available free online at	// The JavaScript Source!! http://javascript.internet.com	function countWords (field, countField, maxlimit) {		var toCount = document.getElementById(field);		var counter = document.getElementById(countField);		var submitButton = document.getElementById('i_submit');		var char_count = toCount.value.length;		var fullStr = toCount.value + ' ';		var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;		var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, '');		var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;		var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, ' ');		var splitString = cleanedStr.split(' ');		var word_count = splitString.length -1;		if (fullStr.length < 2) {			word_count = 0;		}		if (word_count == 1) {			wordOrWords = ' word';		} else {			wordOrWords = ' words';		}		if (word_count > maxlimit) {			wordOrWords = ' words (too long)';			counter.style.color = '#f00';			counter.style.fontWeight = 'bold';			submitButton.disabled = true;			fieldLength(field);		} else {			counter.style.color = '#000';			counter.style.fontWeight = 'normal';			fieldsTooLong -= 1;			if (fieldsTooLong == 0) {				submitButton.disabled = false;				fieldLength(field, 'remove');			}		}		counter.value = word_count + wordOrWords;	}