function Ajax(url, onResponse) {
	var xmlHttp = null;
	
	try {
		xmlHttp = new XMLHttpRequest(); // Mozilla, Opera, Safari, IE 7+
	} catch(e) {
		try {
			xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP"); // IE 6
		} catch(e) {
			try {
				xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP"); // IE 5
			} catch(e) {
				xmlHttp  = null;
			}
		}
	}
	
	if (xmlHttp == null) { alert("Unable to create XMLHttpRequest object."); return null; }
	
	xmlHttp.open("POST", url);
	
	xmlHttp.onreadystatechange = function() {
		
		switch (xmlHttp.readyState) {
			case 0: 
			break;
			
			case 1: 
			break;
			
			case 2:
			break;
			
			case 3: 
			break;
			
			case 4:
				return onResponse(xmlHttp.responseText); 
			break;			
		}
		
	}
	
	this.query = function(value) {
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", value.length);
		xmlHttp.setRequestHeader("Connection", "close");
		
		xmlHttp.send(value);
	}
	
}
