﻿// constantes de los tipos de nodo
var NodoG = {
    ELEMENT_NODE: 1,
    ATTRIBUTE_NODE: 2,
    TEXT_NODE: 3,
    CDATA_SECTION_NODE: 4,
    ENTITY_REFERENCE_NODE: 5,
    ENTITY_NODE: 6,
    PROCESSING_INSTRUCTION_NODE: 7,
    COMMENT_NODE: 8,
    DOCUMENT_NODE: 9,
    DOCUMENT_TYPE_NODE: 10,
    DOCUMENT_FRAGMENT_NODE: 11,
    NOTATION_NODE: 12
};


var arrayTerceros = new Array();
var arrayTercerosL = new Array();
var arrayTercerosLIR = new Array();
var arrayTR = new Array();
var arrayTRF = new Array();

var arrayTercerosCia = new Array();
var arrayTercerosLCia = new Array();
var arrayTercerosLIRCia = new Array();
var arrayTRCia = new Array();
var arrayTRFCia = new Array();

function buscarDocGarantias(id){
	for(teGar=0;teGar<docGarantias.length;teGar++){
		if(docGarantias[teGar].id==id) 
		    return docGarantias[teGar].texto;
	}
	return '';
}

function cargarGarantias(idioma){
	idioma = (idioma==undefined) ? 'es' : idioma;
    obtenerRequest('Garantias/MaestroGarantias_es.xml', '', cargarDatosGarantias, '', '');
}

function cargarDatosGarantias(){
	xmldocGarantias = http_request.responseXML;	
    xmlGarantias = xmldocGarantias.getElementsByTagName('Garantia');
    
    arrayGarantias = crearArray(xmlGarantias[0].childNodes);

}


function crearArray(_xml){
      
    var _array=new Array();
    for (iGar = 0; iGar < _xml.length; iGar++) {
        var nodeGar = _xml[iGar];
		if(nodeGar.nodeType==NodoG.ELEMENT_NODE){
		    if(nodeGar.nodeName==="opcional"){
		     
		        //datos opcionales del seguro   
		    }
		    else
		    {
		        nCod = nodeGar.attributes.getNamedItem('cod').value;
			    //nText = node.attributes.getNamedItem('texto').value;
			    nText= (nodeGar.firstChild)?nodeGar.firstChild.nodeValue:"";
			    nTitle = (nodeGar.firstChild)?nodeGar.firstChild.nodeValue:"";
			    _array.push({cod: nCod, texto: limpiarCadena(nText, CToH), title:limpiarCadena(nTitle, CToH)});
		    }
		}
    }
    return _array;
    
}



function cargarGarantiasCias(idioma,cias,idTipologia){
	idioma = (idioma==undefined) ? 'es' : idioma;
    
    parametros='idioma='+idioma;
    parametros+='&cias='+cias;
    parametros+='&idTipologia='+apartados[apartado].seguros[0].codtipomodalidad;
    campo='garantias';
	obtenerRequest('consultas/obtenerLista.aspx', parametros, cargarDatosGarantiasCias, '', campo);

}

    
function cargarDatosGarantiasCias()
{
   
	xmldocGarantias = http_request.responseXML;	
	var fCCias; // = xmldocGarantias.firstChild;
	if(document.all) //ie
	    fCCias = xmldocGarantias.childNodes[1]
	else
	    fCCias = xmldocGarantias.firstChild;
	    
	
	//alert('1:'+fCCias.nodeValue);
	var fCCCiasCia = fCCias.getElementsByTagName('compania');
	
	for(var nGC=0; nGC < fCCCiasCia.length; nGC++)
	{
	    var xmmlN = fCCCiasCia[nGC];
	    var nameCia = xmmlN.attributes[0].nodeValue;
	    var tplCia = getTipologia(nameCia);
	    
	    var garantias= new Array();
	    var opcional= new Array();
	    
        if(xmmlN){
	        //se recorren compañias
	        if(xmmlN.firstChild)
	        {
	            var otroXmmlN = xmmlN.firstChild.getElementsByTagName('Garantia');
	            for(var xNCCia=0; xNCCia<otroXmmlN.length; xNCCia++)
	            {
	                //recorro tipos de seguros
	                var nodeXNCCia = otroXmmlN[xNCCia];
    	            
	                var nodeXNCCiaTipo = nodeXNCCia.attributes[0].nodeValue;//3º
	                var nodeXNCCiaPuntos = (nodeXNCCia.attributes[1])?nodeXNCCia.attributes[1].nodeValue:"2";
    	             
    	            var nodes1 = nodeXNCCia.getElementsByTagName('texto');
    	            for(var iNdes=0;iNdes<nodes1.length;iNdes++)
    	            { 
    	                var newNode1=nodes1[iNdes];
    	                var nodeXNCCiaCOD = newNode1.attributes[0].nodeValue; // RCO ... 
	                    var nodeXNCCiaTexto = (newNode1.attributes[1])?newNode1.attributes[1].nodeValue:""; // texto ... 
	                    nodeXNCCiaTitle = nodeXNCCiaTexto;
//        	            if(nodeXNCCiaTexto.length>30)
//        	                nodeXNCCiaTexto = nodeXNCCiaTexto.substring(0,19)+" ...";

        	            if(tplCia === nodeXNCCiaTipo){    //if(getTipologia(nameCia) === nodeXNCCiaTipo){
        	                if(nodes1[iNdes].parentNode.nodeName!='opcional'){
    	                        garantias.push({cod: nodeXNCCiaCOD, texto: limpiarCadena(nodeXNCCiaTexto, CToH), title:limpiarCadena(nodeXNCCiaTitle, CToH)});
   	                        }else{
       	                        opcional.push({cod: nodeXNCCiaCOD, texto: limpiarCadena(nodeXNCCiaTexto, CToH), title:limpiarCadena(nodeXNCCiaTitle, CToH)});
   	                        }
        	            }
    	                
   	                }
    	            
	            }
	        }
	    }
	    comparativa[nGC].garantias = garantias;
	    comparativa[nGC].opcional = opcional;
	    comparativa[nGC].puntos = nodeXNCCiaPuntos;
	}
	
	mostrarComparativa();
	//mostrarComparativaNew();
	
}
function cargarCia(numComparativa)
{
    return comparativa[numComparativa].garantias;

}
function cargarCiaOpc(numComparativa)
{
    return comparativa[numComparativa].opcional;

}
function cargarCiaPtos(numComparativa)
{
    return comparativa[numComparativa].puntos;

}
function getTipologia(nameCia){

    var codCia = getCodCia(nameCia);
    var codtipomodalidad = getCodTipoModByCodCia(codCia);
    var tiplogia="";
    
    switch(codtipomodalidad){
        case 1:
            tiplogia="TodoRiesgo";    
            break;
        case 2:
            tiplogia="TodoRiesgoFranquicia";
            break;
        case 3:
            if(apartados[apartado].cod==4)
                tiplogia=getModalidad(nameCia);
                //tiplogia="TercerosLunasRoboIncendio";
            else
                tiplogia="Terceros";
            
            break;
        default:break;
    }
    //tener en cuenta : apartados[apartado].seguros[0].codmodalidad, 
    //para ls distintos terceros.

    return tiplogia;

}

function getCodTipoModByCodCia(codCia){
    var codtipomodalidad;
    var seleccionados = selecCiasTarifas;
    for(var a=0;a<apartados[apartado].seguros.length;a++){
        if(codCia === apartados[apartado].seguros[a].codcompania){
            codtipomodalidad=apartados[apartado].seguros[a].codtipomodalidad;
            break;
        }
    }
    return codtipomodalidad;
}

function getCodModByCodCia(codCia){
    var codmodalidad;
    var seleccionados = selecCiasTarifas;
    for(var a=0;a<apartados[apartado].seguros.length;a++){
        if(codCia === apartados[apartado].seguros[a].codcompania){
            codmodalidad=apartados[apartado].seguros[a].codmodalidad;
            break;
        }
    }
    return codmodalidad;
}

function getCodCia(nameCompania){

    switch (nameCompania) {

        case "zurich": return "C0530"; break;
        case "catalanao": return "C0184";break;
        case "liberty": return "C0467";break;
        case "amic": return "C0682"; break;
        case "fiatc": return "M0134"; break;
        case "caser": return "C0031"; break;
        case "pelayo": return "M0050"; break;
        case "reale": return "C0613"; break;
        case "sbilbao": return "C0026"; break;
        case "mapfre": return "M0031"; break;
        case "allianz": return "C0109"; break;
        case "axa": return "C0112"; break;
        case "vitalicio": return "C0021"; break;
        case "direct": return "C0730"; break;
        case "segurcaixa": return "C0124"; break;
        case "segurisima": return "S0102"; break;
        case "internauto": return "S0101"; break;
        case "groupama": return "C0517"; break;
        default: return ""; break;
        
    }
}


function getModalidad(nameCompania){

    var codmodalidad;
    var tiplogia="TercerosLunasRoboIncendio";

    switch(nameCompania){
        case "caser": //"C0031"
            codmodalidad=getCodModByCodCia("C0031");
            if(codmodalidad===7)
                tiplogia="Terceros";
            else if(codmodalidad===4)
                tiplogia="TercerosLunas";
            else if(codmodalidad===3 || codmodalidad===9)
                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "pelayo": // M0050
            codmodalidad=getCodModByCodCia("M0050");
//            if(codmodalidad===3)
//                tiplogia="Terceros";
//            else 
            if(codmodalidad===2)
                tiplogia="TercerosLunas";
            else if(codmodalidad===3)
                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "sbilbao": //C0026
            codmodalidad=getCodModByCodCia("C0026");
            break;
        case "mapfre": //M0031
            codmodalidad=getCodModByCodCia("M0031");
            if(codmodalidad===00020228)
                tiplogia="Terceros";
            else if(codmodalidad===00020229)
                tiplogia="TercerosLunas";
//            else if(codmodalidad===3)
//                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "zurich": //C0530
            codmodalidad=getCodModByCodCia("C0530");
            if(codmodalidad===0000000073)
                tiplogia="Terceros";
            else if(codmodalidad===0000000074)
                tiplogia="TercerosLunas";
            else if(codmodalidad===0000000077 || codmodalidad===0000000084)
                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "allianz": //C0109
            codmodalidad=getCodModByCodCia("C0109");
            break;
        case "liberty": //C0467
            codmodalidad=getCodModByCodCia("C0467");
            if(codmodalidad===001)
                tiplogia="TercerosLunas";
            else if(codmodalidad===003 || codmodalidad===004)
                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "reale": //C0613
            codmodalidad=getCodModByCodCia("C0613");
            break;
        case "fiatc": //M0134
            codmodalidad=getCodModByCodCia("M0134");
            if(codmodalidad===0)
                tiplogia="TercerosLunas";
            else if(codmodalidad===4 || codmodalidad===5)
                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "amic": //C0682
            codmodalidad=getCodModByCodCia("C0682");
            if(codmodalidad===02)
                tiplogia="Terceros";
            else if(codmodalidad===01)
                tiplogia="TercerosLunas";
            else if(codmodalidad===03)
                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "axa": //C0112
            codmodalidad=getCodModByCodCia("C0112");
            break;
        case "catalanao": //C0184
            codmodalidad=getCodModByCodCia("C0184");
            if(codmodalidad==="ABCEF")
                tiplogia="Terceros";
            else if(codmodalidad==="ABCEFG")
                tiplogia="TercerosLunas";
            else if(codmodalidad==="ABCEFGHI")
                tiplogia="TercerosLunasRoboIncendio";
            break;
        case "vitalicio": //C0021
            codmodalidad=getCodModByCodCia("C0021");
            break;
        case "groupama": // C0517"
            break;
        default:break;
    }
    
    return tiplogia;

}