function Ajax (url, funcao) {

	this.url = url;
	this.callbackfunction = funcao;
	this.callPage = callPage;
	this.httpRequest = getXmlHttpRequest();
	
	var obj = this;
	this.httpRequest.onreadystatechange = function() {
		obj.handleResponse.call(obj);
	}			
	
}// Ajax ()

Ajax.prototype = {

	// handleResponse()	
	handleResponse: function(){
	
		if (this.httpRequest.readyState == 1) {
	
			this.callbackfunction('<table width="100%" align="left"><tr><td style="filter: Alpha(Opacity=80);" align="center"><blink>Carregando...</blink></td></tr></table>');
			
		}else if(this.httpRequest.readyState == 4 && this.httpRequest.status == 200){
	
			this.callbackfunction(this.httpRequest.responseText);
		}
	}

}// Ajax.prototype

function getXmlHttpRequest () {

	var httpRequest = null;
	if (window.ActiveXObject) {
	
		try {	
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert('Fodeu');
			}
		}			
	} else if (window.XMLHttpRequest) {
	
		httpRequest = new XMLHttpRequest();
	}
	
	return httpRequest;
		
}// getXmlHttpRequest ()

function callPage () {

	this.httpRequest.open("GET", this.url, true);
	this.httpRequest.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	this.httpRequest.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	this.httpRequest.setRequestHeader("Pragma", "no-cache");
	this.httpRequest.send(null);

}// callPage ()
