function createREQ() {
	try {
		 req = new XMLHttpRequest(); /* p.e. Firefox */
		 } catch(err1) {
		   try {
		   req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
		   } catch (err2) {
			 try {
			 req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
			 } catch (err3) {
			  req = false;
			 }
		   }
		 }
		 return req;
}
function requestGET(url, query, req) {
	myRand=parseInt(Math.random()*99999999);
	req.open("GET",url+'?'+'query'+'&rand='+myRand,true);
	req.send(null);
}
function requestPOST(url, query, req) {
	req.open("POST", url,true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send(query);
}
function doCallback(callback,item) {
	eval(callback + '(item)');
}

function doAjax(url,query,callback,reqtype,getxml) { 
	// crea la instancia del objeto XMLHTTPRequest 
	var myreq = createREQ();

	myreq.onreadystatechange = function() {	
	if(myreq.readyState == 4) {
	   if(myreq.status == 200) {
		  var item = myreq.responseText;
		  if(getxml==1) {
			 item = myreq.responseXML;
		  }
		  doCallback(callback, item);
		}
	  }
	}
	
	if(reqtype=='post') {
	requestPOST(url,query,myreq);
	} else {
	requestGET(url,query,myreq);
	}
}



