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

const validaciones = [
];


/**
 * Margenes del documento 
 * @author Eduardo
 * @fecha 26-09-2022
 */
const pages_border = {
    border_left: 10,
    border_top: 0,
    border_right: 10,
    border_bottom: 0,
    header_height: 27,
    footer_height: 15,
};

/**
 * Base Del Documento HTML
 * @author Eduardo
 * @fecha 06-07-2023
 * @param {*} parametros 
 * @param {*} imagen 
 * @param {*} fuente 
 * @returns
 */
const pagare = async(parametros, imagen, fuente) => {
    const empresa = parametros['empresa'];
    const lista_acreditados = parametros['lista_acreditados'];
    const prestamo = parametros['prestamo'];
    const acreditado = parametros['acreditado'];

    return `
        <!doctype html>
        <html>
            <head>
                <meta charset="utf-8">
                <title>CONTRATO CRÉDITO SIMPLE SEYCO FINANZAS</title>
                <style>
                ` + await style(fuente) + ` 
                </style>
            </head> 
                
            <body>
            <!-- Header Del Docuemnto -->
                <div id="pageHeader" class="colP noborder">
                    <div align='center' style='height: 100%; padding-bottom:1.6mm;'>
                    ` + headerTabla(empresa) + `
                    </div>
                </div>

                <div id="pageFooter">
                    ESTA  HOJA  FORMA  PARTE  DEL  PAGARÉ  DEL  GRUPO  ${prestamo.nombre_grupo.toUpperCase()}  DE  FECHA 
                    ${prestamo.fecha_otorgamiento.toUpperCase()}.
                </div> 

                ${pagareTabla(prestamo, empresa, lista_acreditados)}
            </body>
        </html>
        
    `;
}

/*--------------------------------------------------*/
/*------------------Funciones HTML------------------*/
/*--------------------------------------------------*/

/**
 * Se crea el encabezado para que aparesca al inicio de cada pagina
 * @author Eduardo
 * @fecha 25-05-2023
 * @param {*} empresa_logo Imagen de la Empresa
 * @param {*} respuesta 
 * @returns  Encabezado 
 */
const headerTabla = (empresa) => { 
    return `
        <div class="jst-c">
            <b> ${empresa.nombre} </b>
        </div>
    `
} 

const pagareTabla = (prestamo, empresa, lista_acreditados) => {
    let pagare_tabla = `
        <table class="tabla-completa jst-c font-size-11">
            <tr>
                <td class="width30">
                    <b> PAGARÉ </b>
                </td>

                <td class="width70" rowspan="2">
                    <b> ${empresa.sucursal.municipio_descripcion}, ${empresa.domicilio.entidad_descripcion} A ${prestamo.fecha_otorgamiento.toUpperCase()} </b>
                </td>
            </tr>

            <tr>
                <td>
                    <b> 
                        Grupo
                        ${saltos(1)}
                        <u> ${prestamo.nombre_grupo}</u> 
                    </b>              
                </td>
            </tr>

            <tr>
                <td>
                    <b> No. de crédito </b>
                    ${saltos(2)}
                    <b> ${prestamo.control}  </b>
                </td>

                <td class="noborder margin-0 padding-0">
                    <table class="tabla-completa jst-c">
                        <tr>
                            <td class="width40" Style="border: none; border-right: 1px solid #88c8b7;">
                                <b> Producto </b>

                                ${saltos(2)}

                                <b class="font-size-11"> ${prestamo.tipo_prestamo_descripcion} </b>
                            </td>
                            <td class="width30" Style="border: none; border-right: 1px solid #88c8b7;">
                                <b>
                                    Bueno por 
                                    ${saltos(2)}
                                    ${prestamo.importe} (${prestamo.importe_letra}) 
                                </b>
                            </td>
                            <td class="width30" Style="border: none; border-right: 1px solid #88c8b7;">
                                <b>
                                    Vencimiento
                                    ${saltos(2)} 
                                    ${prestamo.fecha_vencimiento_letra}
                                </b>
                            </td>
                        </tr>
                    </table>

                </td>
            </tr>

            <tr>
                <td class="jst-jf font-size-11" colspan="4">
                    Por medio del presente pagaré declaramos deber y prometemos pagar solidaria, mancomunada e
                    incondicionalmente a la orden de <b>${empresa.nombre_largo}</b>, la cantidad de <b>  ${prestamo.importe}
                    (${prestamo.importe_letra}) </b>

                    ${saltos(2)}

                    Cantidad que hemos recibido a nuestra entera satisfacción y que nos obligamos a pagar en ${prestamo.pagares}
                    amortizaciones ${prestamo.descripcion_pago_plural} personalizadas, realizadas en los lugares establecidos en el contrato.

                    ${saltos(2)}

                    Así mismo, mientras quede una cantidad del saldo inicial de este pagaré devengará un interés ordinario del 
                    ${prestamo.intn} anual más IVA. De no pagarse en las fechas establecidas causará un cargo por concepto de 
                    pago tardío o inoportuno, y por gastos de cobranza de $75.00 (setenta y cinco pesos 00/100 M.N.) por cada día 
                    de atraso hasta la cuota siguiente. 

                    ${saltos(2)}

                    De igual manera, se acuerda que ante el incumplimiento del pago de tres amortizaciones pactadas,
                    <b> ${empresa.nombre_largo}</b>, podrá dar por vencido anticipadamente
                    el plazo para el pago de las amortizaciones restantes aquí pactadas, sin necesidad de requisito o
                    trámite previo alguno, sometiendome (nos) expresamente a la competencia y jurisdicción del Distrito
                    Judicial del Centro, del Estado de Oaxaca.

                    ${saltos(3)}

                    <div class="jst-c">
                        <b> Aceptantes y Obligados </b>
                    </div>

                    ${saltos(2)}

                    <div class="jst-jf">
                        ${integrantes(lista_acreditados)}
                    </div>
                </td>
            </tr>
        </table>
    `;
    return pagare_tabla;
}

/*--------------------FUNCIONES---------------------*/

const integrantes = (arreglo) => {
    let tabla = ``;
    var contador = 0;

    arreglo.forEach(element => {
        contador ++;
        tabla += `
            Nombre: <u> ${element.nombre_completo} </u>
            <div class="salto-10px"></div>
            Domicilio: <u> ${element.domicilio_completo} </u>

            ${saltos(3)}

            <table class="tabla-completa noborder">
                <tr>
                    <td>
                        <b> Firma: _________________________ </b>
                    </td>

                    <td>
                        <b> Huellas Índices: ____________________ </b>
                    </td>
                </tr>
            </table>

            <br>

            ${saltos(2)}
        `;
    });

    return tabla;
}

/** Funcion de dar Saltos de Linea dependiendo de la cantidad que desees
 * @author Eduardo
 * @fecha 12-06-2023
 * @param {*} cantidad 
 * @returns Etiqueta-<br>
 */
const saltos = (cantidad) => {
    let brs = ``;
    for (let index = 0; index < cantidad; index++) {
        brs += `<br>`;
    }
    return brs;
}

module.exports = {
    pagare,
    validaciones,
    pages_border
}