	var xmlhttp=new Array;

	function include(me,url,pdata,dn,extracode) {
		var i=xmlhttp.length+1;
		if (window.XMLHttpRequest) {
			xmlhttp[i]=new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			xmlhttp[i]=new ActiveXObject('Microsoft.XMLHTTP');
		}

		var ie6=/msie|MSIE 6/.test(navigator.userAgent);
		var randstuff=Math.floor(Math.random()*1000000000);

		if(url.match(/\?/)) url=url+"&randstuff="+randstuff;
		if(!url.match(/\?/)) url=url+"?randstuff="+randstuff;

		if (typeof(xmlhttp[i])=='object') {
			if(me=='GET') xmlhttp[i].open('GET', url, true);
			if(me=='POST') {
				xmlhttp[i].open('POST', url, true);
				xmlhttp[i].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlhttp[i].setRequestHeader("Content-length", pdata.length);
				xmlhttp[i].setRequestHeader("Connection", "close");
			}
			xmlhttp[i].onreadystatechange=function() {
				if ((xmlhttp[i].readyState==4) || (xmlhttp[i].readyState=="complete")) {
					var dat=xmlhttp[i].responseText;
					if(dat.match(/error/) || dat.match(/notice/) || dat.match(/>warning/)) {
						alert(dat);
					} else {
						if(dn.length > 0) {
							document.getElementById(dn).innerHTML=dat;
						} else {
							try {
								eval(dat);
							}
							catch(err) {
								include(me,url,pdata,dn,extracode);
								// alert("ERROR: " + err.description + "\n\n");
							}
						}
					}
					eval(extracode);
				}
			}
			if(me=='GET') xmlhttp[i].send(null);
			if(me=='POST') xmlhttp[i].send(pdata);
		}
	}
