function Ajax(){
	parUrl='';
	parVars='';
	parWhat='';
	alertResponse=0;


	this.SendRequest= function(arrayReqParameters, async){

		if(async==undefined){
			async = true;
		}
		if(arrayReqParameters.length==3){
			if(arrayReqParameters[0]!=''&&arrayReqParameters[2]!=''){
				parUrl=arrayReqParameters[0];
				parWhat=arrayReqParameters[2];
			}else{
				return "Parámetros inválidos";
			}
			parVars=arrayReqParameters[1];

			this.DoCallBack(parVars, async);
		}else{
			return "Faltan parámetros";
		}

	}

	function getXMLHttp(){
		var xmlhttp;

		if(window.XMLHttpRequest){
			xmlhttp = new XMLHttpRequest();
		} else {
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {
					xmlhttp = false;
				}
		    }
		}
		return xmlhttp;
	}


	this.DoCallBack = function(data, async){

		if (window.XMLHttpRequest) {
			//alert(1);
			//req = new XMLHttpRequest();
			req = getXMLHttp();
			req.onreadystatechange = this.ProcessReqChange;
			req.open('POST', parUrl, async);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded charset=utf8');
			req.send(data);
			// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			//alert(2);
			req = new ActiveXObject('Microsoft.XMLHTTP')
			if (req) {
				req.onreadystatechange = this.ProcessReqChange;
				req.open('POST', parUrl, async);
				req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded charset=utf8');
				req.send(data);
			}
		}
	}

	this.ProcessReqChange = function(){

		// only if req shows 'loaded'
		if (req.readyState == 4) {
			// only if 'OK'
			if (req.status != 200 && req.status != 0) {
				//alert(req.status);
				//alert('There was a problem retrieving the XML data:\n' +				req.responseText);
				alert('ERROR: El servidor no ha pudido realizar la operación exitosamente, inténtelo más tarde');

			}
			eval(parWhat);

		}
	}

}