function triggerobject(destelement) {
	this.trigger = function() {
		if((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
			if(destelement) {
				destelement.innerHTML = xmlhttp.responseText;
				Modules.sortModules();
			}
		}		
	}
}

function loadurl(destelement, dest) { 
	try {
		xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {
		// browser doesn't support ajax. handle however you want
	}
	xmlhttp.onreadystatechange = new triggerobject(document.getElementById(destelement)).trigger;
	xmlhttp.open('GET', dest);
	xmlhttp.send(null);
}

function posturl(destelement, url, params) { 
	try {
		xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {
		// browser doesn't support ajax. handle however you want
	}
	xmlhttp.onreadystatechange = new triggerobject(document.getElementById(destelement)).trigger;
	xmlhttp.open('POST', url);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	xmlhttp.send(params);
}


