const {
    style
} = require('./style')
const {
    HEADER
} = require('../global/header')

const validaciones = [    
    // 'documento_titulo',     
    // 'ejecutivo_nombre'
];

const pages_border = {
    border_left: 10,
    border_top: 0,
    border_right: 10,
    border_bottom: 0,
    header_height: 41,
    footer_height: 15,
};

const pagare = async(parametros, imagen, fuente) => {
    let bundle = parametros['bundle'];
    let empresa = parametros['empresa'];
    let propietarios_reales = parametros['propietario_real'];
    let acreditado = parametros['acreditado'];
    let formato_propietario_real = ``;
    let es_primer_registro = true;
    
    propietarios_reales.forEach(propietario_real => {
        if (!es_primer_registro) {
            formato_propietario_real += `<div class="saltoDePagina"></div>`;
        }
        es_primer_registro = false;
        formato_propietario_real += `

        <table style = "border-collapse: collapse; width: 100%;">
            <tbody>
                <tr>                        
                    <td colspan="2">
                        <span><b>${bundle.referencia_acreditado}: </b> ${acreditado.referencia_socio}</span><br><br>
                        <span><b>Fecha Registro: </b>${propietario_real.fecha_registro}</span><br><br>
                    </td>                                   
                    <td width="50%" valign="top">
                        <b>Nombre del Ejecutivo: </b>${propietario_real.ejecutivo_nombre}
                    </td>        
                </tr>                    
            </tbody>
        </table>

        <div class="col-max border bg-dark text-center text-white" style="margin-top: 10px">
                <span class="bold">NOMBRE COMPLETO</span>
        </div>
                                    
        ${listar_propietarios_reales(propietario_real)}

        <br><br><br><br><br><br>
        <table class="saltodePag">
            <tr>
                <td class=" noborder  text-center " VALIGN="TOP" width="50%">
                    <div>                                       
                        <hr  width="70%">
                        Nombre y Firma del Cliente
                    </div>
                </td>
    
                <td class="noborder text-center" VALIGN="TOP" width="50%">
                    <div>            
                        <hr  width="70%">
                            Nombre y firma del ejecutivo
                    </div>
                </td>
            </tr>
        </table>
    `;

    });
    return `
        <!doctype html>
        <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
            ` + await style(fuente) + ` 
            </style>
        </head>
        <body class="fontsize8">
            <div id="pageHeader">  
                <div align='center' style='height: 100%; padding-bottom:1.6mm;'>
                    ` + HEADER("" + empresa.nombre, '' + empresa.sucursal.nombre, '' + parametros['documento_titulo'], '' + imagen) + `
                </div>
            </div>   
            <div id="pageFooter"> 
                <div class='page_number'>
                    {{page}}/{{pages}}
                </div>
            </div>
                                                
            ${formato_propietario_real}

        </body> 
        `;
};

const listar_propietarios_reales = (propietario_real) => {    
    let cadena_propietarios_reales = ``;
    let laboral = propietario_real.laboral;

    let domicilio = propietario_real;



    if (!esValido(propietario_real)) {
        return `<span>SIN REGISTROS</span>`;
    }


    cadena_propietarios_reales += `

    <table class="saltodePag fontsize7">  
        <tr class="border text-center">
            <td class=" margenesInternos  border" colspan="2"><b>PRIMER APELLIDO</b></td>
            <td class=" margenesInternos  border"><b>SEGUNDO APELLIDO</b></td>
            <td class=" margenesInternos  border"><b>NOMBRE(S)</b></td>
        </tr>
        <tr class="border text-center">
            <td class=" margenesInternos border" colspan="2">
                <span>${propietario_real.apaterno}</span>
            </td>
            <td class=" margenesInternos border" WIDTH="200" >
                <span>${propietario_real.amaterno}</span>
            </td>
            <td class=" margenesInternos border" >
                <span>${propietario_real.nombre}</span>
            </td>            
        </tr>
        <tr class="border text-center ">
            <td class=" margenesInternos border"><b>GÉNERO</b></td>
            <td class=" margenesInternos border"><b>EDAD</b></td>
            <td class=" margenesInternos border"><b>NIVEL DE ESTUDIOS</b></td>
            <td class=" margenesInternos border"><b>FECHA DE NACIMIENTO</b></td>
        </tr>
        <tr class="text-center">
            <td class=" margenesInternos border">${propietario_real.genero}</td>
            <td class=" margenesInternos border">${propietario_real.edad}</td>
            <td class=" margenesInternos border">${propietario_real.nivel_estudio_descripcion}</td>
            <td class=" margenesInternos border">${propietario_real.fecha_nacimiento}</td>
        </tr>
        <tr class="text-center ">
            <td class=" margenesInternos border" colspan="2"><b>LUGAR DE NACIMIENTO</b></td>
            <td class=" margenesInternos border"><b>ENTIDAD FEDERATIVA DE NACIMIENTO</b></td>
            <td class=" margenesInternos border"><b>PAÍS DE NACIMIENTO</b></td>
        </tr>
        <tr class="text-center">
            <td class=" margenesInternos border" colspan="2">${propietario_real.lugar_nacimiento}</td>
            <td class=" margenesInternos border">${propietario_real.entidad_nacimiento_descripcion}</td>
            <td class=" margenesInternos border">${propietario_real.nombre_pais_nacimiento}</td>
        </tr>
        <tr class="text-center"> 
            <td class=" margenesInternos border" colspan="2"><b>NACIONALIDAD</b></td>
            <td class=" margenesInternos border"><b>ESTADO CIVIL</b></td>
            <td class=" margenesInternos border"><b>RÉGIMEN CONYUGAL</b></td>
        </tr>
        <tr class="text-center">
            <td class=" margenesInternos border" colspan="2">${propietario_real.nombre_nacionalidad}</td>
            <td class=" margenesInternos border">${propietario_real.estado_civil_descripcion}</td>
            <td class=" margenesInternos border">${propietario_real.regimen_conyugal_descripcion}</td>
        </tr>
        <tr class=" text-center upper">
            <td class=" margenesInternos border" colspan="2"><b>RFC</b></td>
            <td class=" margenesInternos border"><b>CURP</b></td>
            <td class=" margenesInternos border"><b>Correo Electronico</b></td>
        </tr>
        <tr class="text-center">
            <td class=" margenesInternos lrt-border" colspan="2">${propietario_real.rfc}</td>
            <td class=" margenesInternos lrt-border">${propietario_real.curp}</td>
            <td class=" margenesInternos lrt-border">${propietario_real.email}</td>
        </tr>
        ${seccionIdentificacionFiscal(propietario_real)}
        <!--<tr class="text-center upper">
            <td class=" margenesInternos border" colspan="3"><b>NÚMERO IDENTIFICACIÓN FISCA</b>L</td>
            <td class=" margenesInternos border" colspan="2"><b>TELÉFONO DE CASA: </b></td>
        </tr>
        <tr class="text-center">
            <td class=" margenesInternos lrt-border" colspan="3">${propietario_real.numero_identificacion_fiscal}</td>
            <td class=" margenesInternos lrt-border" colspan="2">${propietario_real.telefono_casa}</td>
        </tr>
        <tr class="text-center upper">
            <td class=" margenesInternos border" colspan="3"><b>NÚMERO SERIE DE FIRMA ELECTRÓNICA</b></td>
            <td class=" margenesInternos border" colspan="2"><b>CELULAR</b></td>
        </tr>

        <tr class="text-center">
            <td class=" margenesInternos lrt-border" colspan="3">${propietario_real.numero_serie_fiel}</td>
            <td class=" margenesInternos lrt-border" colspan="2">${propietario_real.celular}</td>
        </tr>
        <tr class="text-center upper">
            <td class=" margenesInternos" colspan="2"><b>TIPO IDENTIFICACION</b></td>
            <td class=" margenesInternos "><b>FOLIO IDENTIFICACIÓN</b></td>
            <td class=" margenesInternos "><b>CLAVE DE ELECTOR</b></td>
        </tr>
        <tr class="text-center">
            <td class=" margenesInternos" colspan="2">${propietario_real.tipo_identificacion_descripcion}</td>
            <td class=" margenesInternos">${propietario_real.folio_identificacion}</td>
            <td class=" margenesInternos">${propietario_real.clave_elector}</td>
        </tr>-->
        <tr>
            <td class="margenesInternos" colspan="4"> <b>OCUPACIÓN, PROFESIÓN, ACTIVIDAD O GIRO DEL NEGOCIO: </b>${propietario_real.ocupacion}</td>
        </tr>
    </table>    

    <br>

    ${listar_domicilios_propietarios_reales(domicilio)}    
        
        `;
    return cadena_propietarios_reales;    
}



const listar_domicilios_propietarios_reales = (domicilio) => {
    let cadena_domicilio_propietarios_reales = ``;


    if (!esValido(domicilio)) {
        return `<span>SIN REGISTROS</span>`;
    }

    cadena_domicilio_propietarios_reales += `

            <div class="col-max border bg-dark text-center text-white">
                <span class="margenesInternos bold">DOMICILIO ACTUAL</span>
            </div>
        <table class="fontsize7">
            <tr>
                <td class="margenesInternos text-center border" style="width:40%;"><b>
                ${domicilio.tipo_vialidad}
                </b></td>
                <td class="margenesInternos text-center border" style="width:30%;"><b>
                    NÚMERO EXTERIOR
                </b></td>
                <td class="margenesInternos text-center border" style="width:30%;"><b>
                    NÚMERO INTERIOR
                </b></td>
            </tr>
            <tr>
                <td class="margenesInternos text-center lrt-border">
                    <span>${domicilio.calle}</span>
                </td>
                <td class="margenesInternos text-center border lrt-border">
                    <span>${domicilio.num_exterior}</span>
                </td>
                <td class="margenesInternos text-center border lrt-border">
                    <span>${domicilio.num_interior}</span>
                </td>
            </tr>
        </table>

        <table class="fontsize7">
            <tr>
                <td class="margenesInternos text-center border" style="width:40%;"><b>
                    ${domicilio.tipo_asentamiento}
                </b></td>
                <td class="margenesInternos text-center border" style="width:30%;"><b>
                    DELEGACION O MUNICIPIO
                </b></td>
                <td class="margenesInternos text-center border" style="width:30%;"><b>
                    ESTADO
                </b></td>
            </tr>
            <tr>
                <td class="margenesInternos text-center lrt-border">
                <span>${domicilio.colonia}</span>
                </td>
                <td class="margenesInternos text-center lrt-border">
                <span>${domicilio.municipio_descripcion}</span>
                </td>
                <td class="margenesInternos text-center lrt-border">
                <span>${domicilio.entidad_descripcion}</span>
                </td>
            </tr>
        </table>

        <table class="fontsize7">
            <tr>
                <td class="margenesInternos lrt-border" style="width:40%;"><b>
                    CÓDIGO POSTAL: </b>
                    <span>${domicilio.cp}</span>
                </td>
                <td class="margenesInternos lrt-border" style="width:60%"><b>
                PAIS: </b>
                <span>${domicilio.pais_descripcion}</span>
                </td>
            </tr>
        </table>

        <table class="fontsize7">
            <tr>
                <td class="margenesInternos border"><b>
                    ENTRE CALLES: </b>
                    <span>${domicilio.entre_calles}</span>
                </td>
            </tr>
        </table>
        `;
    return cadena_domicilio_propietarios_reales;
}



const esValido = (arreglo) => {
    if (arreglo == undefined || arreglo.length === 0 || (arreglo.length === 1 && Object.entries(arreglo[0]).length === 0)) {
        return false;
    }
    return true;
}

const seccionIdentificacionFiscal = (propietario_real) => {
    return `
        <tr class="text-center upper">
            <td class="py-chico border" colspan="2"><b>NÚM. IDENTIFICACIÓN FISCA</b>L</td>
            <td class="py-chico border" ><b>NÚM. SERIE DE FIRMA ELECTRÓNICA</b></td>
            <td class="py-chico border" ><b>TELÉFONO DE CASA: </b></td>
        </tr>
        <tr class="text-center">
            <td class="py-chico lrt-border" colspan="2">${propietario_real.numero_identificacion_fiscal}</td>
            <td class="py-chico lrt-border" >${propietario_real.numero_serie_fiel}</td>
            <td class="py-chico lrt-border" >${propietario_real.telefono_casa}</td>
        </tr>
        <tr class="text-center upper">
            <td class="py-chico " colspan="2"><b>ORIGEN DE LOS RECURSOS: </b>
            <td class="py-chico " ><b>NÚM. DEPENDIENTES ECONOMICOS: </b>
            <td class="py-chico border" ><b>CELULAR</b></td>
        </tr>

        <tr class="text-center">
            
            <td class="py-chico " colspan="2">${propietario_real.socioeconomicos == undefined? '':propietario_real.socioeconomicos.origen_recurso}</td>
            <td class="py-chico " >${propietario_real.num_dependientes}</td>
            <td class="py-chico lrt-border" >${propietario_real.celular}</td>
        </tr>
        <tr class="text-center upper">
            <td class="py-chico border" colspan="2"><b>TIPO IDENTIFICACION</b></td>
            <td class="py-chico border" ><b>FOLIO IDENTIFICACIÓN</b></td>
            <td class="py-chico " ><b>CLAVE DE ELECTOR</b></td>
        </tr>
        <tr class="text-center">
            <td class="py-chico " colspan="2">${propietario_real.tipo_identificacion_descripcion}</td>
            <td class="py-chico " >${propietario_real.folio_identificacion}</td>
            <td class="py-chico " >${propietario_real.clave_elector}</td>
        </tr>
    `;
}

module.exports = {
    pagare,
    validaciones,
    pages_border,
};