function getAjax() {
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,div) {
eval(callback + '(item,div)');
}
function updateDiv(varDiv,varVal){
	document.getElementById(varDiv).innerHTML = varVal;  
}
function doAjax(url,query,callback,div,reqtype,getxml,divSleep,valSleep,divError,valError) {
	// crea la instancia del objeto XMLHTTPRequest 
	var myreq = getAjax();
	myreq.onreadystatechange = function() {
		 if(myreq.readyState == 4) {
			   if(myreq.status == 200) {
				  var item = myreq.responseText;
				  if(getxml==1) {		 item = myreq.responseXML;	  }
				  doCallback(callback, item,div);
				}else{
					if(divError!="")	  updateDiv(divError,valError);
				}
		  }else{
			  if(divSleep!="")	  updateDiv(divSleep,valSleep);
		  }
	}
	if(reqtype=='post') {	requestPOST(url,query,myreq);	} 
	else 				{	requestGET(url,query,myreq);	}	
}
function doAjaxSimple(url,query,reqtype){
	var myreq = getAjax();
	myreq.onreadystatechange = function() {
		 if(myreq.readyState == 4) {
			   if(myreq.status == 200) {
				  var item = myreq.responseText;				  	   }
		  }
	}
	if(reqtype=='post') {	requestPOST(url,query,myreq);	} 
	else 			  {	requestGET(url,query,myreq);	}
}




