function addEvent(obj, evType, fn){
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, false);
		return true;
	}
	else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	}
	else {
		return false;
	}
}

function createRequestObject() {
	var http = null;
	if(window.XMLHttpRequest) {
		http = new XMLHttpRequest();
	}
	else {
		var versions = new Array("MSXML2.XMLHTTP", "Microsoft.XMLHTTP", "Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0");
		for(var i = 0; i < versions.length; i++) {
			try {
				http = new ActiveXObject(versions[i]);
				if(http) {
					break;
				}
			}
			catch(e) {
			}
		}
	}
	return http;
}

function postRequest(url, query, handler, id) {
	http = createRequestObject();
	if(http) {
		http.onreadystatechange = function() {
			handler(http, id);
		}
		http.open("post", url, true);
		http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		http.send(query);
	}
}

function highlightChange(elemid, text) {
	var para = document.createElement("p");
	para.className = "ajaxresponse";
	para.style.position = "absolute";
	//para.style.left = document.getElementById(elem).offsetLeft + document.body.scrollLeft + 20 + "px";
	//para.style.top = document.getElementById(elem).offsetTop + document.body.scrollTop + 20 + "px";
	para.style.left = "40%";
	para.style.right = "40%";
	para.style.width = "20em";
	para.innerHTML = text;
	//document.getElementById(elemid).parentNode.appendChild(para);
	document.getElementById(elemid).style.backgroundColor = "#FFFF00";
}