
	var xmlHTTP = null;
	function xmlHTTPRequest(type, dataRetriever, paramString, stateHandler) {
		var progIDs = ['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.3.0'];
		for (var i = 0; i < progIDs.length; i++) {
			try { xmlHTTP = new ActiveXObject(progIDs[i]); }
			catch (e) {}
		}
		if (!xmlHTTP) {
			try { xmlHTTP = new XMLHttpRequest(); }
			catch(e) { alert('Internal error: creating XMLHttpRequest() failed!') }
		}		
		if (xmlHTTP) {
			xmlHTTP.onreadystatechange = stateHandler;
			switch (type.toUpperCase()) {
				case 'GET' :
					xmlHTTP.open('GET', dataRetriever + escape(paramString), true);
					xmlHTTP.send(null);
					break;
				case 'POST' :
					xmlHTTP.open('POST', dataRetriever, true);
					xmlHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
					xmlHTTP.send(paramString);
					break;
			}
		}
		return;
	}