function AJAX(url,metodo,params,processa,modo){
	   this.url = url;
				this.metodo = (metodo) ? metodo : 'GET'
				this.params = (metodo='GET') ? null : params;
				this.processaresultado = processa;
				this.modo = (modo) ? modo : 'T';
				if(this.modo!='T'&&this.modo!='X'){
				   this.modo='T';
				}
				this.conectar();
}

AJAX.prototype = {
	conectar: function(){
		if(this.url==undefined||this.url==''){
			return false;
		}
		this.httprequest = null
		if(window.XMLHttpRequest){//Mozzila, Safari...
   this.httprequest = new XMLHttpRequest();
		}else if(window.ActiveXObject){
			try{
				this.httprequest = new ActiveXObject("Msxml2.XMLHTTP");
			}catch(e){
				try{
					this.httprequest = new ActiveXObject("Microsoft.XMLHTTP");
				}catch(e){}
			}
		}
		if(this.httprequest!=null&&this.httprequest!=undefined){
			var obj = this;
			this.httprequest.onreadystatechange = function(){
				obj.processaretorno.call(obj);
			}
			this.httprequest.open(this.metodo,this.url,true);
			this.httprequest.send(this.params);
		}
	},
	processaretorno: function(){
		if(this.httprequest.readyState==4){
			if(this.httprequest.status==200){
				var resp = (this.modo=='T') ? this.httprequest.responseText : this.httprequest.responseXML;
				if(this.processaresultado!=null){
					this.processaresultado(resp);
				}else{
					document.write(resp);
				}
			}else{
				this.processaerro();
			}
		}
	},
	processaerro: function(){
		alert(this.httprequest.status + ' - ' + this.httprequest.statusText + ' :-> ' + this.url);
	}
}