
const csrfToken = document.head.querySelector("[name~=csrf-token][content]").content;
const formulario = document.getElementById("pagos_form");
let valoridpago = 0;
let valoriddeuda = 0;
//pagos
function CargarBusquedaSocios() {
    $('#tblBuscarSocios').DataTable({
        "processing": true,
        "destroy": true,
        "serverSide": true,
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "select": true,
        "ajax": {
            'url': '/pagos/consultarSocios', 'headers': {
                'Content-Type': 'application/json',
                "X-CSRF-Token": $("meta[name='csrf-token']").attr("content")
            }
        },
        "columns": [{
            data: 'id_ente'
        },
        {
            data: 'num_docum_iden'
        },
        {
            data: 'p_primer_nombre'
        },
        {
            data: 'p_primer_apellido'
        },
        {
            data: 'activo'
        },
        {
            data: 'IdSocios',
            visible: false,
            searchable: false,
        }
        ],
        "language": {
            "lengthMenu": "Mostrar _MENU_ registros por página",
            "zeroRecords": "No se encontró nada - lo siento",
            "info": "Mostrando la página _PAGE_ de _PAGES_",
            "infoEmpty": "No hay registros disponibles",
            "infoFiltered": "(filtrado de _MAX_ registros totales)",
            "search": "Buscar Socio:",
            "paginate": {
                "previous": "Anterior",
                "next": "siguiente"
            }
        },

    }).buttons().container().appendTo('#tblBuscarSocios_wrapper .col-md-6:eq(0)');

    var table = $('#tblBuscarSocios').DataTable();
    $('#tblBuscarSocios tbody').on('click', 'tr', function () {
        var row = table.row(this).data();
        CargarDatosSocio(row);
    });

}

CargarBusquedaSocios();


function CargarDatosSocio(item) {

    document.getElementById("id_socio").value = item.IdSocios;
    document.getElementById("lbl_socio").value = item.p_primer_nombre + " " + item.p_primer_apellido;

    $("#modal-buscar-socios").modal('hide');
    CargarBusquedaFacturasSocios();
}

$('#search_socio').on('click', function () {
    var table = $('#tblBuscarSocios').DataTable();
    table.ajax.reload();
    $("#modal-buscar-socios").modal('show');

})

//facturas
function CargarBusquedaFacturasSocios() {
    var id_socio = document.getElementById("id_socio").value;
    // if(id_socio <=0 || id_socio ==null){return;}
    // var str = {}
    // str.id_socio = id_socio;
    // var JsonData = JSON.stringify(str);

    $('#tblFacturasSocios').DataTable({
        "processing": true,
        "destroy": true,
        "serverSide": true,
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "select": true,
        "ajax": {
            'url': 'consultarFacturasSocios',
            'type': 'GET',
            'headers': {
                "contentType": "application/json",
                "X-CSRF-Token": $("meta[name='csrf-token']").attr("content"),
            },
            "contentType": "application/json",
            "data": { "id_socio": id_socio }
            // "data": function ( d ) {
            //     d.id_socio = id_socio;
            //     // return JSON.stringify( d )
            // },
            // "dataSrc": ""
            // "data":function ( d ) {
            //     return JsonData;
            // }
        },
        "columns": [{
            data: 'id_factura_cab'
        },
        {
            data: 'num_documento'
        },
        {
            data: 'descripcion'
        },
        // {
        //     data: 'fecha_ingreso'
        // },

        // {
        //     data: 'total'
        // },
        {
            data: 'monto'
        },
        {
            data: 'credito'
        },
        {
            data: 'saldo'
        },
        {
            data: 'metodo_pago'
        },
        ],
        "language": {
            "lengthMenu": "Mostrar _MENU_ registros por página",
            "zeroRecords": "No se encontró nada - lo siento",
            "info": "Mostrando la página _PAGE_ de _PAGES_",
            "infoEmpty": "No hay registros disponibles",
            "infoFiltered": "(filtrado de _MAX_ registros totales)",
            "search": "Buscar Factura:",
            "paginate": {
                "previous": "Anterior",
                "next": "siguiente"
            }
        },

    }).buttons().container().appendTo('#tblFacturasSocios_wrapper .col-md-6:eq(0)');

    var table = $('#tblFacturasSocios').DataTable();
    $('#tblFacturasSocios tbody').on('click', 'tr', function () {
        var row = table.row(this).data();
        CargarDatosFacturasSocio(row);
    });

    //table.ajax.reload(); 
}

$('#search_deuda').on('click', function () {
    var table = $('#tblFacturasSocios').DataTable();
    table.ajax.reload();

    var id_socio = document.getElementById("id_socio").value;
    if (id_socio <= 0 || id_socio == null) { toastr.error("debe seleccionar un socio!!"); return; }
    $("#modal-buscar-fact").modal('show');
})



function CargarDatosFacturasSocio(item) {
    console.log('CargarDatosFacturasSocio' + item);
    document.getElementById("id_deuda").value = item.id_factura_cab;
    document.getElementById("lbl_deuda").value = item.descripcion;
    document.getElementById("deuda_total").value = item.monto;
    document.getElementById("abono_deuda").value = item.credito;
    document.getElementById("saldo_deuda").value = item.saldo;
    if (item.metodo_pago == 'CON') {
        document.getElementById("cant_abono").value = item.monto;

    }
    $("#modal-buscar-fact").modal('hide');
}



function format(inputDate) {
    let fecha = new Date(inputDate);
    let date, month, year;

    date = fecha.getDate() + 1;
    month = fecha.getMonth() + 1;
    year = fecha.getFullYear();

    date = date
        .toString()
        .padStart(2, '0');

    month = month
        .toString()
        .padStart(2, '0');

    return `${date}/${month}/${year}`;
}

function ConvertDateString(str) {
    const [year, month, day] = str.split('-');
    var date = (day.substring(0, 2) + "/" + month + "/" + year);
    return date;
}

const Limpiar = () => {
    formulario.reset();
}

$('#btnProcesarPago').on('click', function () {
    var id_socio = document.getElementById("id_socio").value;
    var id_deuda = document.getElementById("id_deuda").value;
    var valor_deuda = document.getElementById("cant_abono").value;
    var observacion = document.getElementById("lbl_observacion").value;
    var tipo_pago = document.getElementById("tipo_pago").value;

    if (id_socio <= 0 || id_socio == null || id_socio == "") { toastr.error("debe seleccionar un socio!!"); return; }
    if (id_deuda <= 0 || id_deuda == null || id_deuda == "") { toastr.error("debe seleccionar una deuda!!"); return; }
    if (tipo_pago.length <= 0 || tipo_pago == null || tipo_pago == "") { toastr.error("debe seleccionar un tipo de pago!!"); return; }
    if (valor_deuda <= 0 || valor_deuda == null || valor_deuda == "") { toastr.error("debe ingresar la cantidad!!"); return; }
    if (observacion.length <= 0 || observacion == null || observacion == "") { toastr.error("debe ingresar una observación!!"); return; }

    var myObjet = {};
    myObjet.id_factura_cab = id_deuda;
    myObjet.id_socio = id_socio;
    myObjet.valor_abono = valor_deuda;
    myObjet.observacion = observacion;
    myObjet.tipo_pago = tipo_pago;

    $.ajax({
        url: "/pagos/procesarPagoSocio",
        type: "POST",
        data: JSON.stringify(myObjet),
        headers: {
            'Content-Type': 'application/json',
            "X-CSRF-Token": csrfToken
        },
        success: function (data) {
            OcultarLoader();
            if (data.status == "ok") {
                valoridpago = data.idpago;
                valoriddeuda = data.iddeuda;
                $("#modal_pagoexito").modal('show');
            } else {
                toastr.error("Se ha producido un error al Generar el Pago!!");
            }
        },
        cache: false,
        contentType: false,
        processData: false,
    });
})

const abrirRecibopdf = () => {
    window.open("/pagopdf/" + valoridpago + "/" + valoriddeuda);
    $("#modal_pagoexito").modal('hide');
}