function AJAX() {

	this.getData = getData;
	
	function createXMLHttpRequest() {
		var xmlHttp = null;
		
		if (window.ActiveXObject) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest();
		}
		return(xmlHttp);
	}

	function getData(sURL, sForm, fnCallback, miscVar) {
		request(sURL, sForm, fnCallback, miscVar);
	}

	function request(sURL, sForm, fnCallback, miscVar) {
		var oXmlHttp 	= createXMLHttpRequest();
		var timestamp	= new Date().getTime();
		var sPostURL 	= sURL + "?timestamp=" + timestamp;
	
		oXmlHttp.open("post", sPostURL, true);
		oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
		oXmlHttp.send(sForm);

		oXmlHttp.onreadystatechange = function (){
			if (oXmlHttp.readyState == 4) {
				if (oXmlHttp.status == 200) {
					fnCallback(oXmlHttp.responseText, miscVar);
				}
			}
		}
	}
}
