var http_request = false;

function makeRequest(url) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }

    var selector = document.getElementById("marca").value;
    var cdfasecolda = document.getElementById("cdfasecolda").value;
    var modelo = document.getElementById("modelo").value;
    var cdmunicipio = document.getElementById("cdCiudad").value;

    http_request.onreadystatechange = alertContents;
    http_request.open('GET', url+"?marca="+selector+"&linea="+cdfasecolda+"&modelo="+modelo+"&cdmunicipio="+cdmunicipio, true);
    http_request.send(null);

}

function alertContents()
{
    if (http_request.readyState == 4)
    {
        if (http_request.status == 200)
        {
            var xmldoc = http_request.responseXML;
            var valorSug = 0;
            valorSug = xmldoc.getElementsByTagName('valorS')[0].childNodes[0].data;
            var cdzona = xmldoc.getElementsByTagName('zona')[0].childNodes[0].data;
            if(valorSug != -1){
                    document.Paso2.cdZona.value = cdzona;
                    //alert(cdzona);
                    document.Paso2.valorAsegurado.value = valorSug;
                    document.Paso2.valorSugerido.value  = valorSug;
            }else{
                 alert("Ocurrio un error al realizar la consulta");
            }
        } else {
            alert('Hubo un problema con el request.');
        }
    }
}
//***********************************************************************
function validarComponentes(cambio, request){
    ocultarMensajes();
    if(cambio == 'si'){
        document.Paso2.linea.value = "";
        document.Paso2.cdfasecolda.value = "";
        document.Paso2.valorAsegurado.value = "";
        document.Paso2.valorSugerido.value = "";
    }else{
        if(document.Paso2.marca.value != "" && document.Paso2.linea.value != "" && document.Paso2.modelo.value != "" && document.Paso2.cdCiudad_COMBO.value != ""){
            if(document.Paso2.cdCiudad_COMBO.value == "otra"){
                if(document.Paso2.ciudad_TEXT != ""){
                    document.Paso2.valorAsegurado.value = "";
                    document.Paso2.valorSugerido.value = "";
                    makeRequest(request);
                }
            }else{
                document.Paso2.valorAsegurado.value = "";
                document.Paso2.valorSugerido.value = "";
                makeRequest(request);
            }
        }else{
            document.Paso2.valorAsegurado.value = "";
            document.Paso2.valorSugerido.value = "";
        }
    }
    return;
}
//***********************************************************************
function asistirBusqueda (comboMarca, request) {
    var codMarca = comboMarca.options[document.Paso2.marca.selectedIndex].value;
    var dsMarca = comboMarca.options[document.Paso2.marca.selectedIndex].text;
    //var dsClase = comboClase.options[document.Paso2.clase.selectedIndex].text;

    if (comboMarca.selectedIndex == 0) {
        alert("Debe seleccionar una marca");
        return;
    }
    url = "/cotizadores/html/cotizadores/navegantes/Autos/buscarLinea.jsp?marca=" + codMarca + "&nombreMarca=" + dsMarca + "&desde=0&hasta=25&buscar=0&desc=null&request="+request;
    window.open(url, "asist_busqueda_linea",
                    "scrollbars=no, resizeable=no, top=100, left=200, width=800, height=550");
}

//----------------------------------------------------------------------------------

function mostrarSiguientes(url) {
    //.buscarLinea.pageNumber.value = document.buscarLinea.pageNumber.value + 1;
    document.buscarLinea.oper.value = 'sig';
    location.href = url+'&desc='+document.buscarLinea.linea.value;
}

function mostrarAnteriores(url) {
    //document.buscarLinea.pageNumber.value = document.buscarLinea.pageNumber.value - 1;
    document.buscarLinea.oper.value = 'ant';
    location.href = url+'&desc='+document.buscarLinea.linea.value;
}
function iniciarBusqueda(url){
    if(document.buscarLinea.linea.value=="")
    {
        alert("Debe ingresar una descripcion de la linea");
        return;
    }
    document.buscarLinea.buscar.value = 1;
    document.buscarLinea.desc.value = document.buscarLinea.linea.value;
    location.href = url+'&desc='+document.buscarLinea.linea.value;
}
function guardarDatos(cdfasecolda, dsfasecolda, dsMarca, clasefasecolda, snimportado, request){
    var valor = cdfasecolda+" - "+dsfasecolda;
    window.opener.document.Paso2.cdfasecolda.value = cdfasecolda;
    window.opener.document.Paso2.dsfasecolda.value = dsfasecolda;
    window.opener.document.Paso2.linea.value = valor;
    window.opener.document.Paso2.dsVehiculo.value = dsMarca;
    window.opener.document.Paso2.snImportado.value = snimportado;
    window.opener.document.Paso2.claseFasecolda.value = clasefasecolda;
    window.opener.document.Paso2.linea.select();
    window.close();

}

//-----------------------------------------------------------------------------------

function llamarServicioMunicipio() {

    var urlRedireccion = '/servlet/suramericana.cotizadores.conectado.LogonServicios?receptor=suramericana.cotizadores.navegantes.ReceptorMunicipiosPasos';
    window.open(urlRedireccion,'Servicio_municipios','dependant=yes,height=600,width=800');

}

function llamarServicioMunicipio2() {
    var urlRedireccion = '/cotizadores/servlet/suramericana.cotizadores.conectado.LogonServicioMunicipios?receptor=suramericana.cotizadores.navegantes.ReceptorMunicipiosPasos2';
    window.open(urlRedireccion,'Servicio_municipios','dependant=yes,height=600,width=800');

}

function llamarServicioMunicipio3() {
    var urlRedireccion = '/cotizadores/servlet/suramericana.cotizadores.conectado.LogonServicioMunicipios?receptor=suramericana.cotizadores.navegantes.ReceptorMunicipiosPasos3';
    window.open(urlRedireccion,'Servicio_municipios','dependant=yes,height=600,width=800');

}

//------------------------------------------------------------------------------------
//autor: Pablo Moreno
//funcion que restringe valores en un campo text
//parametros de entrada:
//campo, se debe enviar el campo como objeto
//tipo, puede ser num o text_and_num
//ex, cadena de excepciones para permitirlas
//ejemplo:   onkeyup="restriccion(this, 'text_and_num', '/-_.')"
function restriccion(campo, tipo, ex)
{
    var valor = campo.value;
    var newValor = '';
    var existe = 0;
    var iLista = '';
    if(tipo == 'num')
    {
        var posibles = '1234567890'+ex;
    }else{
        if(tipo == 'text_and_num')
        {
            var posibles = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'+ex;
        }else{
            if(tipo == 'text')
            {
                var posibles = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'+ex;
            }
        }
    }
    var i;
    var j;
    var k;
    for(i = 0; i  < valor.length; i++){
        existe = 0;
        for(k=0;k<posibles.length;k++)
        {
            if(valor.charAt(i) == posibles.charAt(k)){
                existe = 1;
            }
        }
        if(existe == 0)
        {
            iLista = iLista + valor.charAt(i);
        }
    }
    for(i = 0; i < valor.length; i++)
    {
        existe = 0;
        for(k = 0; k < iLista.length; k++)
        {
            if(valor.charAt(i) == iLista.charAt(k)){
                existe = 1;
            }
        }
        if(existe == 0){
            newValor = newValor + valor.charAt(i);
        }
    }
    if(newValor != valor)
        campo.value = newValor;
    return false;
}
function currencyFormat(fld, milSep, e , isDelete) {

                var key = '';
                var i = j = 0;
                var len = len2 = 0;
                var strCheck = '0123456789';
                var aux = aux2 = '';

                if(isDelete == false){
                    var whichCode = (window.Event) ? e.which : e.keyCode;
                    key = String.fromCharCode(whichCode);
                    if (strCheck.indexOf(key) == -1 ) return false;
                    }
                len = fld.value.length;
                for(i = 0; i < len; i++)
                if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != milSep)) break;
                aux = '';
                for(; i < len; i++)
                    if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
                    if(isDelete == false){
                        aux += key;
                        len = aux.length;
                    }else{
                        len = aux.length - 1;
                    }
                    if (len <= 0) fld.value = '';
                    if (len >= 1)
                    {
                         aux2 = '';
                         for (j = 0, i = len ; i >= 0; i--)
                         {
                            if (j == 4)
                            {
                                aux2 += milSep;
                                j = 1;
                            }
                            aux2 += aux.charAt(i);
                            j++;
                        }
                        fld.value = '';
                        len2 = aux2.length;
                        for (i = len2 - 1; i >= 0; i--)
                        fld.value += aux2.charAt(i);
                }
                return false;

}

function setTasaMensual(){
    document.Paso2.icCrecimientoMensual.value = document.Paso2.icCrecimientoAnual.value;
}

function setIcInvalidezEnfermedad(){
    document.Paso2.icInvalidezEnfermedad.value = document.Paso2.icInvalidezAccidente.value;
}

function setIcClasificacionAPIVE(){
    document.Paso2.icClasificacionAPIVE.value = document.Paso2.icClasificacionAPIVA.value;
}

function setIndiceVariable(){
    document.Paso2.icIndiceVariableVCN.value = document.Paso2.aabiaava.value;
    document.Paso2.icIndiceVariableMAC.value = document.Paso2.aabiaava.value;
    document.Paso2.icIndiceVariableIVA.value = document.Paso2.aabiaava.value;
    document.Paso2.icIndiceVariableIVE.value = document.Paso2.aabiaava.value;
    document.Paso2.icIndiceVariableEFG.value = document.Paso2.aabiaava.value;
}


function unFormatCampos(){

    if(document.Paso2.icValorVida != undefined){
        var campos = [document.Paso2.icValorVida,
                      document.Paso2.icValorCancer,
                      document.Paso2.icValorEnfermedades,
                      document.Paso2.icValorMuerte,
                      document.Paso2.icInvalidezAccidente,
                      document.Paso2.icInvalidezEnfermedad];
    }

    for(var i = 0; i < campos.length; i++){
        var valAn = campos[i].value;
        var valreplace = valAn.replace(/,/g,'');
        campos[i].value = valreplace;
    }//for
}

function validarCamposVidaClasico(){
    ocultarMensajes();
    if(document.Paso2.icSexo.value == ""){
        mensajeError("Debe seleccionar el Sexo.");
        return false;
    }

    if(document.Paso2.icValorVida.value == ""){
        mensajeError("Debe ingresar el valor asegurado incial para el amparo b\u00e1sico vida.");
        return false;
    }

    if(document.Paso2.aabiaava.value == ""){
        mensajeError("Debe ingresar el incremento anual de los anexos.");
        return false;
    }

    return true;
}

function formatoIncrementoAnexos(fld, e){
    if(fld.value.length <= 4){
        if(!(e.keyCode<48 || e.keyCode>57) || e.keyCode==46){
            if((fld.value.length >= 3 || fld.value.length == 0)&& e.keyCode==46){
                return false;
            }

            if(fld.value.indexOf(".")!=-1 && e.keyCode==46){
                return false;
            }

        }else{
            return false;
        }
    }else{
        return false;
    }
}

var id = 0;
function CargarCombosDepMun(dep,mun,action){

    if(dep != "" && mun != ""){
        document.Paso1.cdDepPer.value = dep;
        Generic_makeRequest(action, 'parametersDeptos()', alertContentsDeptos);
        id = setInterval("x("+mun+")",1000);
    }

}

function x(municipio){

    if(document.Paso1.cdCiudadPer_COMBO != null){
        if(!(document.Paso1.cdCiudadPer_COMBO.value == "")){
            document.Paso1.cdCiudadPer_COMBO.value = municipio;
            clearInterval(id);
        }
    }

}


