function newXMLHttpRequest() {
    var xmlreq = false;
    if (window.XMLHttpRequest) {
        xmlreq = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
            // Try ActiveX
        try {
            xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e1) {
            // first method failed
            try {
                xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e2) {
                 alert("No funca, por favor instale el activeX.");
            }
        }
     }
       return xmlreq;
}
function getReadyStateHandler(req, responseHandler, returnXML) {
    return function (){
      if(req.readyState == 4){
         if(req.status == 200){
            if(responseHandler){
               if(returnXML){
                  responseHandler(req.responseXML);
                 }else{
                       responseHandler(req.responseText);
                      }
              }
           }else{
                 alert("Se produjo un error " + req.status);
                }
        }
     }
  }
function getDataSelect(origen, destino){
   idOrigen = origen.value;
   destino.disabled = true;
   destino.options.length = 0; 
   if(idOrigen!=""){
      ejecutarEnServidor("_inc/servertime.php", "getBarrios", true, idOrigen, fillBarrios);
     }
  }

function fillBarrios(XML){
    response = XML.documentElement;
    if(!response){
        alert("Se produjo un error fill");
        return;
      }else{
            if(response.getElementsByTagName("error")[0]){
               alert("Se produjo un error");
               return;
              }else{
                    document.getElementById("cboBarrios").disabled = false;
                    var i;
                    newOption = document.createElement('option');
                    newOption.value = "";
                    newOption.innerHTML = "Indistinto";
                    document.getElementById("cboBarrios").appendChild(newOption);

                    for(i = 0; i < response.getElementsByTagName("barrios").length; i++){
                       barrios  = response.getElementsByTagName('barrios')[i];
                       barrioId   = barrios.getElementsByTagName('id')[0].firstChild.data;
                       barrioText = barrios.getElementsByTagName('name')[0].firstChild.data;
                       
                       newOption           = document.createElement('option');
                       newOption.value     = barrioId;
                       newOption.innerHTML = barrioText;
                       
                       document.getElementById("cboBarrios").appendChild(newOption);
                      }
                    return;
                   }
           }
  }
  
function ejecutarEnServidor(PHPFile, funcion, devolucionXML, parametros, callbackJSFunction){
   //ver errores aca
   var req = newXMLHttpRequest();
   //register the callback handler function
   var callbackHandler = getReadyStateHandler(req, callbackJSFunction, devolucionXML);
   req.onreadystatechange = callbackHandler;

   var getUrl = new RegExp(/http:\/\/[A-z,_,.,-,0-9]+\//i); 
   var urlPath = getUrl.exec(window.location.href);

   //HAY QUE VER BIEN ESTO, COMO SE ARREGLA...
   req.open("POST", urlPath+"_inc/servertime.php", true);

   req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   req.setRequestHeader("Accept-Charset", "ISO-8859-1");

   strSend = "PHPFile="+PHPFile+"&funcion="+funcion+"&parametros=";

    if(typeof(parametros) == "string"){
        strSend += parametros;
    }
    else{
        for(par in parametros){
            strSend += parametros[par]+"|";
        }

        //Para sacar la ultima | que se pone
        if(parametros){
            strSend = strSend.substring(0,strSend.length-1);
        }
    }
    //alert("le estoy pasando:"+urlPath+"_inc/servertime.php"+strSend);
    req.send(strSend);
  }
