﻿/* **************************************************************************
 * INICIO. LLAMADAS A FUNCIONES AJAX
 ****************************************************************************/
function mostrarDatosVehiculo()
{
    parametros='catego='+MM_findObj('catego').value;
    parametros+='&codtip='+MM_findObj('codtipinit').value;
    parametros+='&marca='+MM_findObj('marca').value;
    parametros+='&modelo='+MM_findObj('modelo').value;
    parametros+='&motor='+MM_findObj('motor').value;
    parametros+='&potcv='+MM_findObj('potcv').value;
    parametros+='&puerta='+MM_findObj('puerta').value;
	//campo='codveh,modelo,version,puerta,potcv,motor,feclan,codtip,plazas';
	campo='vehiculo';
	
	obtenerRequest('consultas/obtenerLista.aspx', parametros, mostrarDatosVehiculo_callback, tabla, campo);

}

function mostrarMarcas()
{
    //Tipo de vehiculo = Turismo
    MM_findObj('catego').value = '1';
    MM_findObj('codtipinit').value = '100,120,150';

	parametros='catego='+MM_findObj('catego').value;
    parametros+='&codtip='+MM_findObj('codtipinit').value;
    campo='marca';
    obtenerRequest('consultas/obtenerLista.aspx', parametros, generarSelectMarcas, tabla, campo);
    
    
}
function mostrarModelos(elSel)
{
    parametros='catego='+MM_findObj('catego').value;
    parametros+='&codtip='+MM_findObj('codtipinit').value;
    parametros+='&marca='+MM_findObj('marca').value;
    campo='modelo';
    obtenerRequest('consultas/obtenerLista.aspx', parametros, generarSelectAjaxModelos, tabla, campo);
    
}
function mostrarCombustible(elSel)
{
    parametros='catego='+MM_findObj('catego').value;
    parametros+='&codtip='+MM_findObj('codtipinit').value;
    parametros+='&marca='+MM_findObj('marca').value;
	parametros+='&modelo='+MM_findObj('modelo').value;
    campo='motor';
    obtenerRequest('consultas/obtenerLista.aspx', parametros, generarSelectAjax, tabla, campo);

}
function mostrarPotencia(elSel) 
{
    parametros='catego='+MM_findObj('catego').value;
    parametros+='&codtip='+MM_findObj('codtipinit').value;
    parametros+='&marca='+MM_findObj('marca').value;
	parametros+='&modelo='+MM_findObj('modelo').value;
	parametros+='&motor='+MM_findObj('motor').value;
    campo='potcv';
    obtenerRequest('consultas/obtenerLista.aspx', parametros, generarSelectAjax, tabla, campo);

}
function mostrarPuertas(elSel) 
{
    parametros='catego='+MM_findObj('catego').value;
    parametros+='&codtip='+MM_findObj('codtipinit').value;
    parametros+='&marca='+MM_findObj('marca').value;
	parametros+='&modelo='+MM_findObj('modelo').value;
	parametros+='&motor='+MM_findObj('motor').value;
	parametros+='&potcv='+MM_findObj('potcv').value;
    campo='puerta';
    obtenerRequest('consultas/obtenerLista.aspx', parametros, generarSelectAjax, tabla, campo);

}
function mostrarVersion(elSel) 
{
    parametros='catego='+MM_findObj('catego').value;
    parametros+='&codtip='+MM_findObj('codtipinit').value;
    parametros+='&marca='+MM_findObj('marca').value;
	parametros+='&modelo='+MM_findObj('modelo').value;
	parametros+='&motor='+MM_findObj('motor').value;
	parametros+='&potcv='+MM_findObj('potcv').value;
	parametros+='&puerta='+MM_findObj('puerta').value;
	campo='codveh,modelo,version,puerta,potcv,motor,feclan,codtip,plazas';
	obtenerRequest('consultas/obtenerLista.aspx', parametros, mostrarSelectResto, tabla, campo);

}

function mostrarCias()
{
    campo = 'CodCompaniaAnterior';
	parametros='1=1';
	camp='nombre,cod_dgs';
	obtenerRequest('consultas/obtenerLista.aspx', parametros, generarSelectCias, tabla, camp);
}

/* **************************************************************************
 * FIN. 
 ****************************************************************************/

/* **************************************************************************
 * INICIO. CALLBACKS DE LAS FUNCIONES AJAX
 ****************************************************************************/
function mostrarDatosVehiculo_callback(){

    var xml;
    var text = "";
	xmldoc = http_request.responseXML;	

    var cadVeh = "";
    if(document.all)
        cadVeh = "vehiculo/";

    xml = xmldoc.getElementsByTagName(cadVeh+'marcas').item(0);
	generarSelectVehiculo(xml,'marca');
	text = MM_findObj('marca').value;
	selectedByText(MM_findObj('slc_marca'),text);
	
	xml = xmldoc.getElementsByTagName(cadVeh+'modelos').item(0);
	generarSelectVehiculo(xml,'modelo');
	text = MM_findObj('modelo').value;
	selectedByText(MM_findObj('slc_modelo'),text);
	
	xml = xmldoc.getElementsByTagName(cadVeh+'motores').item(0);
	generarSelectVehiculo(xml,'motor');
	text = MM_findObj('motor').value;
	selectedByText(MM_findObj('slc_motor'),text);
	
	xml = xmldoc.getElementsByTagName(cadVeh+'potencias').item(0);
	generarSelectVehiculo(xml,'potcv');
	text = MM_findObj('potcv').value;
	selectedByText(MM_findObj('slc_potcv'),text);
	
	xml = xmldoc.getElementsByTagName(cadVeh+'puertas').item(0);
	generarSelectVehiculo(xml,'puerta');
	text = MM_findObj('puerta').value;
	selectedByText(MM_findObj('slc_puerta'),text);
	
	xml = xmldoc.getElementsByTagName(cadVeh+'versiones').item(0);
	generarSelectVersion(xml,'version');
	text = MM_findObj('version').value;
	selectedByText(MM_findObj('slc_version'),text);
	
	//compañias de seguros
	xml = xmldoc.getElementsByTagName(cadVeh+'cias').item(0);
	generarSelectVehiculoCias(xml,'CodCompaniaAnterior');
	text = MM_findObj('CodCompaniaAnterior').value;
	selectedByText(MM_findObj('slc_CodCompaniaAnterior'),text);
	
}

function generarSelectMarcas(){
	xmldoc = http_request.responseXML;	
	
	
    if(document.all && typeof(xmldoc.getElementsByTagName('root').item)!="object")
        xml = xmldoc.getElementsByTagName('root').context.childNodes.item(0);
    else
        xml = xmldoc.getElementsByTagName('root').item(0);

	
	lng = (xml!=null)?xml.childNodes.length:0;

	datosSelect=new Array();
	
    for (i = 0; i < lng; i++) {
        var node = xml.childNodes.item(i);
    
        valor = node.attributes.getNamedItem(campo).value;
		label = formatLabel(valor);

		datosSelect.push({label:label, value:valor});
    }	

	generarSelect(datosSelect, "slc_"+campo);
    contInicio1();

}

function generarSelectAjax(){
	xmldoc = http_request.responseXML;	
    xml = xmldoc.getElementsByTagName('root').item(0);
	lng = (xml!=null)?xml.childNodes.length:0;

	datosSelect=new Array();
	
    for (i = 0; i < lng; i++) {
        var node = xml.childNodes.item(i);
    
        valor = node.attributes.getNamedItem(campo).value;
		label = formatLabel(valor);

		datosSelect.push({label:label, value:valor});
    }	

	generarSelect(datosSelect, "slc_"+campo);
}


function generarSelectAjaxModelos()
{

    xmldoc = http_request.responseXML;	
    
    if(navigator.appVersion.indexOf("MSIE 6.0")>0) //ie6
        xml = xmldoc.getElementsByTagName('root').context.childNodes.item(0);
    else
        xml = xmldoc.getElementsByTagName('root').item(0);
	
	lng = (xml!=null)?xml.childNodes.length:0;


	datosSelect=new Array();
	
    for (i = 0; i < lng; i++) 
    {
        var node = xml.childNodes.item(i);
    
//      valor = node.attributes.getNamedItem(campo).value;
//		label = formatLabel(valor);

        valor = node.attributes.getNamedItem("Nombre").value;
        feclan = node.attributes.getNamedItem("UltFecLanzamiento").value;
		label = valor;

		datosSelect.push({
		                label:label, 
	                    value:valor,
	                    feclan:feclan
		                });
    }	
    
    datosSelect = ordenarModelos(datosSelect);

    generarSelect(datosSelect, "slc_"+campo);
    
    
//	//generarSelect(datosSelect, "slc_"+campo);
//	
//	
//	//* ORDENACION POR NUEVOS MODELOS ... Y ANTIGUOS ...*/
//    var auxModNuevos = new Array();
//    var auxModAntiguos = new Array();
//    
//    var annosNuevo = 4;
//    var currentDate = new Date();
//	var currentYear = Number(currentDate.getFullYear());
//    for(var modI=0;modI<datosSelect.length;modI++)
//    {
//        annoLan = parseInt(datosSelect[modI].feclan.substring(0,4));
//        if(annoLan >= currentYear - annosNuevo)    
//            auxModNuevos.push(datosSelect[modI]);
//        else
//            auxModAntiguos.push(datosSelect[modI]);
//    
//    }
//    
//    //se limpia el array ...
//	datosSelect=new Array();
//	datosSelect.push({label:'-- Modelos nuevos --', value:'-1',feclan:''});
//    for(var a=0;a<auxModNuevos.length;a++)
//        datosSelect.push(auxModNuevos[a]);
//    
//    datosSelect.push({label:'-- Modelos antiguos --', value:'-1',feclan:''});
//    for(var a=0;a<auxModAntiguos.length;a++)
//        datosSelect.push(auxModAntiguos[a]);
//                
//    generarSelect(datosSelect, "slc_"+campo);

}

function ordenarModelos(datosSelect)
{
	
	//* ORDENACION POR NUEVOS MODELOS ... Y ANTIGUOS ...*/
    var auxModNuevos = new Array();
    var auxModAntiguos = new Array();
    
    var annosNuevo = 4;
    var currentDate = new Date();
	var currentYear = Number(currentDate.getFullYear());
    for(var modI=0;modI<datosSelect.length;modI++)
    {
        annoLan = parseInt(datosSelect[modI].feclan.substring(0,4));
        if(annoLan >= currentYear - annosNuevo)    
            auxModNuevos.push(datosSelect[modI]);
        else
            auxModAntiguos.push(datosSelect[modI]);
    
    }
    
    //se limpia el array ...
	datosSelect=new Array();
	datosSelect.push({label:'-- Modelos nuevos --', value:'-1',feclan:''});
    for(var a=0;a<auxModNuevos.length;a++)
        datosSelect.push(auxModNuevos[a]);
    
    datosSelect.push({label:'-- Modelos antiguos --', value:'-1',feclan:''});
    for(var a=0;a<auxModAntiguos.length;a++)
        datosSelect.push(auxModAntiguos[a]);
            
            
    return datosSelect;

}

function mostrarSelectResto(){
	
    xmldoc = http_request.responseXML;
    completa = xmldoc.getElementsByTagName('root').item(0);
    
    arrayVersiones=new Array();

    for (i = 0; i < completa.childNodes.length; i++) {
        var node = completa.childNodes.item(i);
        
        mo=node.attributes.getNamedItem('motor').value;
        po=limpiarPotencia(node.attributes.getNamedItem('potcv').value);
        pu=node.attributes.getNamedItem('puerta').value;

        codv = node.attributes.getNamedItem('codveh').value;
        mod = node.attributes.getNamedItem('modelo').value;
        ver = node.attributes.getNamedItem('version').value;
        ver = ver.split("|").join("&");
        fec = node.attributes.getNamedItem('feclan').value;

        pl = node.attributes.getNamedItem('plazas').value;
        cd = node.attributes.getNamedItem('codtip').value;
        
        var version=trim(ver)+" ("+pu+" puertas | "+po+" CV | "+fec.substr(0,4)+")";
        arrayVersiones.push({
                            value: codv,
                            label: version, 
                            modelo: mod, 
                            version: ver,
                            feclan: fec,
                            motor: mo, 
                            potcv: po, 
                            puerta: pu,
                            plazas: pl,
                            codtip: cd });

        
    }
	arrayVersiones.ordenar('feclan');
	generarSelect(arrayVersiones, "slc_version");
}


function generarSelectCias(){
    
    xmldoc = http_request.responseXML;	
    xml = xmldoc.getElementsByTagName('root').item(0);
	lng = (xml!=null)?xml.childNodes.length:0;

	datosSelect=new Array();
	datosSelect.push({label:"No tengo seguro", value:'C9999'});
	
    for (i = 0; i < lng; i++) {
        var node = xml.childNodes.item(i);
    
        label = node.attributes.getNamedItem('NombreCorto').value; //nombre
		value = node.attributes.getNamedItem('CodCompania').value; //cod_dgs
		
		datosSelect.push({label:label, value:value});
    }	

	generarSelect(datosSelect, "slc_"+campo);
}
/* **************************************************************************
 * FIN. 
 ****************************************************************************/


/* **************************************************************************
 * INICIO. GENERACION DE COMBOS
 ****************************************************************************/
function generarSelectVehiculo(xml,nombreSlc)
{

    var datosSelect=new Array();
    
    if(xml!=null){
        for (i = 0; i < xml.childNodes.length; i++) {
            var node = xml.childNodes.item(i);
            if(node.childNodes.length>0){
                //valor = node.text;
                valor = node.firstChild.nodeValue;
                switch(node.tagName.toLowerCase()){
                    case "modelo":
                        valor = (node.childNodes[0].firstChild!=null)?node.childNodes[0].firstChild.nodeValue:"";
                        feclan = (node.childNodes[1].firstChild!=null)?node.childNodes[1].firstChild.nodeValue:"";
		                label = valor;

		                datosSelect.push({
		                                label:label, 
	                                    value:valor,
	                                    feclan:feclan
		                                });
//                        valor = node.childNodes[0].firstChild.nodeValue;
//                        label =  valor;
                        break;
                    case "motor":
                        label =  obtenerTipoMotor(valor);
                        datosSelect.push({label:label, value:valor});
                        break;
                    case "potcv":
                        label =  limpiarPotencia(valor)+" CV";
                        datosSelect.push({label:label, value:valor});
                        break;
                    case "puerta":
                        label =  valor+" "+buscarTextoEsp("puerta");
                        datosSelect.push({label:label, value:valor});
                        break;
                    default: 
                        label =  valor;
                        datosSelect.push({label:label, value:valor});
                        break;
                }

		        
		    }
        }	
    }
    if(nombreSlc.toLowerCase() == "modelo")                    
        datosSelect = ordenarModelos(datosSelect);
    
	generarSelect(datosSelect, "slc_"+nombreSlc);
	
    
}
function generarSelectVersion(xml,nombreSlc)
{
    arrayVersiones=new Array();

    if(xml!=null){
        for (i = 0; i < xml.childNodes.length; i++) {
            var node = xml.childNodes.item(i);
            
            if(node.childNodes.length>0){
                //mo=node.getElementsByTagName('motor').item(0).text;
                
                //po=limpiarPotencia(node.getElementsByTagName('potcv').item(0).firstChild.nodeValue);
                po=limpiarPotencia(node.getElementsByTagName('potcv').item(0).firstChild.nodeValue);
                pu=(node.getElementsByTagName('puerta').item(0).firstChild==null)?"":node.getElementsByTagName('puerta').item(0).firstChild.nodeValue;

                codv = node.getElementsByTagName('codveh').item(0).firstChild.nodeValue;
                mod = node.getElementsByTagName('modelo').item(0).firstChild.nodeValue;
                ver = node.getElementsByTagName('version').item(0).firstChild.nodeValue;
                ver = ver.split("|").join("&");
                fec = (node.getElementsByTagName('feclan').item(0).firstChild==null)?"":node.getElementsByTagName('feclan').item(0).firstChild.nodeValue;

                pl = (node.getElementsByTagName('plazas').item(0)==null)?"":node.getElementsByTagName('plazas').item(0).firstChild.nodeValue;
                cd = node.getElementsByTagName('codtip').item(0).firstChild.nodeValue;
                
                var txtPuertas = (pu!="")? pu+" "+buscarTextoEsp("puerta")+" | " :"";
                var txtFecLan = (fec.length>3)?" | "+fec.substr(0,4) : "";
                
                var version=trim(ver)+" ("+txtPuertas+""+po+" CV"+txtFecLan+")";
                arrayVersiones.push({
                                    value: codv,
                                    label: version, 
                                    modelo: mod, 
                                    version: ver,
                                    feclan: fec,
                                    motor: '', //mo, 
                                    potcv: po, 
                                    puerta: pu,
                                    plazas: pl,
                                    codtip: cd });
            }
            
        }
    
	    arrayVersiones.ordenar('feclan');
	}
	
	generarSelect(arrayVersiones, "slc_version");
	
}

function generarSelectVehiculoCias(xml,nombreSlc){
    
	lng = (xml!=null)?xml.childNodes.length:0;

	datosSelect=new Array();
	datosSelect.push({label:"No tengo Seguro", value:'C9999'});
	
    for (i = 0; i < lng; i++) {
        var node = xml.childNodes.item(i);
    
        value = node.getElementsByTagName('CodCompania')[0].firstChild.nodeValue;
        label = node.getElementsByTagName('NombreCorto')[0].firstChild.nodeValue;
        
		datosSelect.push({label:label, value:value});
    }	

	generarSelect(datosSelect, "slc_"+nombreSlc);

}


function generarSelect(lista,campo){
    var elSel = MM_findObj(campo);
    if(elSel!=null && typeof(elSel.options)!="undefined")
        elSel.options.length=0;
    
    if(elSel!=null){
        if(typeof(lista)!="undefined" && lista.length>0){
            if( (typeof(lista[0])!="undefined" || typeof(lista[0].value)!="undefined")
                 && lista[0].value!="-1"){
                opcion = document.createElement('option');
                opcion.text = limpiarCadena("-- Seleccione opción --", HToU);
                opcion.value = -1;
                try{
                    elSel.add(opcion, null); //Mozilla, etc
                }catch(e){
                    elSel.add(opcion); //IE
                }   
            }
            for(i=0;i<lista.length;i++){
                opcion = document.createElement('option');
                if(typeof(lista[i].value)!="undefined"){
                    opcion.text = limpiarCadena(lista[i].label, HToU);
                    opcion.value = lista[i].value;
                }else{
                    opcion.text = limpiarCadena(lista[i], HToU);
                    opcion.value = i+1;
                }
                try{
                    elSel.add(opcion, null); //Mozilla, etc
                }catch(e){
                    elSel.add(opcion); //IE
                }
            }
        }
        //// Si nos pasan la opcin seleccionada... 
        //// si no,, ponemos por defecto 0
        //selectedText(elSel,"ford");  // seleccionamos por nombre...
        elSel.selectedIndex=0; // ==  elSel[0].selected=true; 
    }
    
}
/* **************************************************************************
 * FIN. 
 ****************************************************************************/

/* **************************************************************************
 * INICIO. AUX FUNCTIONS
 ****************************************************************************/
//Se selecciona el indice del combo por el texto del item
function selectedByText(select,text){
    for(var i=0;i<select.options.length;i++){
        var slcText = (select.options[i].text.indexOf('(')>0)?select.options[i].text.substring(0,select.options[i].text.indexOf('(')-1):select.options[i].text;
        var slcValue = select.options[i].value;
        if(slcText.toLowerCase()==text.toLowerCase() || slcValue.toLowerCase()==text.toLowerCase()){
            select.selectedIndex=i;
            return;
        }
    }
}

function trim(cadena)
{
	var str = cadena.replace(/^\s*|\s*$/g,"");
	return str;
}

function formatLabel(label)
{
    switch(campo.toLowerCase()){
        case "motor":
            return obtenerTipoMotor(label);
        case "potcv":
            return limpiarPotencia(label)+" CV";
        case "puerta":
            return label+" puertas";
        default: return label;
    }
}
function deformatLabel(nCampo,label)
{
    switch(nCampo.toLowerCase()){
        /*case "motor":
            return obtenerMotor(label);
        */
        case "puerta":
            return (!isNaN(label.split(' ')[0]))?label.split(' ')[0]:"";
        case "potcv":
            return limpiarPotencia(label);
            //return (!isNaN(label.split(' ')[0]))?label.split(' ')[0]:"";
        default: return label;
    }
}

function limpiarPotencia(pot){
	cab = pot;
	if(typeof(pot)!="undefined" && pot!=' ' && pot!=''){
	    pot = pot.split(',')[0];
	    pot = pot.split('.')[0];
	} 
	else
	    pot = ' ';
	    
	cab = pot;
    return cab;
}

function obtenerTipoMotor(motor){
    switch(motor.toUpperCase()){
        case 'D':return 'Diesel';
        case 'G':return 'Gasolina';
        case 'H':
        case 'E':
        case 'X':
        case 'L':
        case 'B':
        default: return 'Otro';
    }
}
function obtenerMotor(motor){
    switch(motor.toUpperCase()){
        case 'DIESEL':return 'D';
        case 'GASOLINA':return 'G';
        case 'H':
        case 'E':
        case 'X':
        case 'L':
        case 'B':
        default: return 'Otro';
    }
}

function formatearFechas(){
    MM_findObj('fechaNacimientoCH').value= MM_findObj('diaNacimientoCH').value+'/'+MM_findObj('mesNacimientoCH').value+'/'+MM_findObj('annoNacimientoCH').value;
    MM_findObj('fechaExpedicionCH').value=MM_findObj('diaExpedicionCH').value+'/'+MM_findObj('mesExpedicionCH').value+'/'+MM_findObj('annoExpedicionCH').value;
    MM_findObj('fechaNacimientoCO').value=MM_findObj('diaNacimientoCO').value+'/'+MM_findObj('mesNacimientoCO').value+'/'+MM_findObj('annoNacimientoCO').value;
    MM_findObj('fechaExpedicionCO').value=MM_findObj('diaExpedicionCO').value+'/'+MM_findObj('mesExpedicionCO').value+'/'+MM_findObj('annoExpedicionCO').value;
    
}

/* **************************************************************************
 * FIN. 
 ****************************************************************************/
