/*cgimenez*/

var READY_STATE_COMPLETE = 4;
var peticion_http = null;

//funcion para AJAX
function inicializa_xhr() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }else return null;
}

/***Ajax para las Mostrar el numero nuevo***/
//Funcion llamada al presionar el boton "Consultar Su numero" del FormB, llama al servlet "servletTel"
function submitFormB() {

    cleanFormA();
    peticion_http = inicializa_xhr();
    if(peticion_http) {
        peticion_http.onreadystatechange = procesaRespuestaFormB;
        peticion_http.open("POST", "servletTelSinBase", true);
        peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
        peticion_http.send("numero_actual="+obtenerElementoPorId("numActualFormB").value+"&soloRC="+obtenerElementoPorId("ruralcel").value);
    }
}


//Funcion llamada al presionar el boton "Consultar Su numero" del FormA, llama al servlet "servletTel"
function submitFormA() {
    cleanFormB();
    peticion_http = inicializa_xhr();
    if(peticion_http) {
        peticion_http.onreadystatechange = procesaRespuestaFormA;
        peticion_http.open("POST", "servletTelSinBase", true);
        peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
        peticion_http.send("numero_actual="+obtenerElementoPorId("numActualFormA").value+"&soloRC=false");
    }
}

//Procesa la respuesta del servlet "servletTel", actualiza el campo numNuevoFormA
function procesaRespuestaFormA() {
    if(peticion_http.readyState == READY_STATE_COMPLETE) {
        if (peticion_http.status == 200) {
            var a=peticion_http.responseText.toString();
            if (a!=0){
                //numero no existe
                obtenerElementoPorId("numNuevoFormA").innerHTML =a;
                cleanErrores();
            }else{
                obtenerElementoPorId("numActualFormA").className="error";
                obtenerElementoPorId("errorFormA").innerHTML="El n&uacute;mero ingresado no es correcto.";
                obtenerElementoPorId("numNuevoFormA").innerHTML ="";
            }
        }
    }
}

//Procesa la respuesta del servlet "servletTel", actualiza el campo numNuevoFormB
function procesaRespuestaFormB() {
    if(peticion_http.readyState == READY_STATE_COMPLETE) {
        if (peticion_http.status == 200) {
            var a=peticion_http.responseText.toString();
            if (a!=0){
                obtenerElementoPorId("numNuevoFormB").innerHTML =a;
                cleanErrores();

            }else{//numero no existe
                obtenerElementoPorId("numActualFormB").className="error";
                obtenerElementoPorId("errorFormB").innerHTML="El n&uacute;mero ingresado no es correcto.";
                obtenerElementoPorId("numNuevoFormB").innerHTML ="";
            }
        }
    }
}


/***Ajax para Departamentos***/
function obtenerDepartamentos() {
    peticion_http = inicializa_xhr();
    if(peticion_http) {

        peticion_http.onreadystatechange = procesaRespuestaDepartamentos;
        peticion_http.open("POST", "servletDepartamentos", true);
        peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
        peticion_http.send("ruralcel="+obtenerElementoPorId("ruralcel").value);

    }
}

function procesaRespuestaDepartamentos() {
    if(peticion_http.readyState == READY_STATE_COMPLETE) {

        if (peticion_http.status == 200) {
            limpiarDepartamentos();
            var documento_xml = peticion_http.responseXML;

            var departamentos=documento_xml.getElementsByTagName("lista")[0].getElementsByTagName("departamento");
            var opNueva;
            for (var i = 0 ; i < departamentos.length ; i++){
                opNueva = document.createElement("option");
                opNueva.text = departamentos[i].firstChild.nodeValue;
                opNueva.name=departamentos[i].firstChild.nodeValue;
                opNueva.value=departamentos[i].firstChild.nodeValue;

                try {
                    obtenerElementoPorId("Departamento").add(opNueva, null); // standard
                }
                catch(ex) {
                    obtenerElementoPorId("Departamento").add(opNueva); // IE
                }
            }
            //alert("-->"+obtenerElementoPorId("Departamento").options[0].value);
            obtenerElementoPorId("Departamento").options[0].selected=true;
            
            
        }
    }
}
/***Fin Ajax para Departamentos***/



/**Ajax para las Localidades***/
//Muestra todos las localidades del departamento seleccionado (Los carga de la Base Codigos_por_area)
function desplegar() {
    limpiarParaNuevaBusqueda();
    peticion_http = inicializa_xhr();
    if(peticion_http) {
        peticion_http.onreadystatechange = procesaRespuestaLocalidades;
        peticion_http.open("POST", "servletLocalidades", true);
        peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
        var deptos= obtenerElementoPorId("Departamento");
        var seleccion=deptos.options[deptos.selectedIndex].value;
        //alert(seleccion);
        if (seleccion!= "DEPARTAMENTO" ||seleccion!= "Departamento" ){
            //alert(seleccion);
            peticion_http.send("Departamento="+seleccion+"&ruralcel="+obtenerElementoPorId("ruralcel").value.toString()+ "&nocache=" + Math.random());
        }else{
            peticion_http=null;
            limpiarLocalidades();
        }
        

    }
}

//Procesa la respuesta de servletLocalidades,
//rellena el combobox de localidades segun el departamento elegido.
function procesaRespuestaLocalidades() {

    if(peticion_http.readyState == READY_STATE_COMPLETE) {

        if (peticion_http.status == 200) {
            limpiarLocalidades();
            var documento_xml = peticion_http.responseXML;
            var lista=documento_xml.getElementsByTagName("lista")[0];
            var localidades=lista.getElementsByTagName("Localidad");
            var opNueva;
            for (var i = 0 ; i < localidades.length ; i++){
                opNueva = document.createElement("option");
                opNueva.text = localidades[i].getElementsByTagName("nom")[0].firstChild.nodeValue.replace("&Ntilde;", "Ñ");
                opNueva.name=localidades[i].getElementsByTagName("nom")[0].firstChild.nodeValue.replace("&Ntilde;", "Ñ");
                opNueva.value = localidades[i].getElementsByTagName("cod")[0].firstChild.nodeValue;
                try {
                    obtenerElementoPorId("Localidad").add(opNueva, null); // Estandard
                }
                catch(ex) {
                    obtenerElementoPorId("Localidad").add(opNueva); // IE
                }
            }
            if ((obtenerElementoPorId("Departamento").value)=="MONTEVIDEO"){
               
                obtenerElementoPorId("Localidad").options[1].selected=true;
                mostrarCaracteristica();
            }
        }
    }
}
/**Fin Ajax para las Localidades***/

