
// var editor; // use a global for the submit and return data rendering in the examples

// $(document).ready(function() {
//     editor = new $.fn.dataTable.Editor( {
//         table: "#tblRubrosDeuda",
//         fields: [ {
//                 label: "Codigo",
//                 name: "Codigo"
//             }, {
//                 label: "Rubro",
//                 name: "Rubro"
//             }, {
//                 label: "Precio",
//                 name: "Precio"
//             }, {
//                 label: "Iva:",
//                 name: "Iva"
//             }, {
//                 label: "Descuento:",
//                 name: "Descuento"
//             }, {
//                 label: "Total",
//                 name: "Total"
//             }
//         ]
//     } );

//     // Activate an inline edit on click of a table cell
//     $('#tblRubrosDeuda').on( 'click', 'tbody td:not(:first-child)', function (e) {
//         editor.inline( this );
//     } );
// } );

const csrfToken = document.head.querySelector("[name~=csrf-token][content]").content;
const formulario = document.getElementById("deuda_form");
var total_rubros = 0;
var g_set_name_deuda= 0;
var g_id_factura =0;

$(document).ready(function () {
    var now = new Date();

    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);

    var today = (day) + "/" + (month) + "/" + now.getFullYear();

    //$('#reservationdate2').val(today);
    document.getElementById("dateInicio").value = today;
});

$("form#marca_form").submit(function (e) {
    e.preventDefault();
    MostrarLoader();
    // validacion de campos
    //toastr.error("Ingrese un numero de identificación valido.!!");
    const formData = new FormData(this);
    $.ajax({
        url: "/admin/createMarcas",
        type: "POST",
        data: formData,
        success: function (data) {
            if (data.status == "ok") {
                toastr.success(data.message);
                formulario.reset();
            } else {
                toastr.error(data.message);
            }
            setTimeout(function () {
                OcultarLoader();
            }, 100);
        },
        cache: false,
        contentType: false,
        processData: false,
    });
});

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

function GrabarDeuda() {
    var cadenaJsonDeuda = "";
    var nombre_deuda = document.getElementById("nombre_deuda").value;
    var estado_deuda = document.getElementById("estado_deuda").value;
    var metodo_pago = document.getElementById("metodo_pago").value;
    var fecha_inicio = document.getElementById("dateInicio").value;
    var rango_dias = document.getElementById("rango_dias").value;
    var num_cuotas = document.getElementById("num_cuotas").value;

    var lista_socios = ObtenerSociosJson();

    var JsonRubros = ObtenerJsonTable('tblRubrosDeuda');

    //validaciones
    if (verificarValue(nombre_deuda, 'S')) { toastr.error('ingrese una descripción.'); return; }
    if (verificarValue(estado_deuda, 'S')) { toastr.error('ingrese un estado.'); return; }
    if (verificarValue(metodo_pago, 'S')) { toastr.error('seleccione un metodo de pago.'); return; }
    if (verificarValue(fecha_inicio, 'S')) { toastr.error('seleccione una fecha de inicio.'); return; }
    
    if (metodo_pago == 'CRE'){
        if (verificarValue(rango_dias, 'I')) { toastr.error('ingrese un rango de dias.'); return; }
        if (verificarValue(num_cuotas, 'I')) { toastr.error('seleccione un número de cuota.'); return; }
    }
    
    if (verificarValue(lista_socios, 'O')) { toastr.error('debe cargar un socio.'); return; }
    if (verificarValue(JsonRubros, 'O')) { toastr.error('debe cargar un Rubro.'); return; }


    var myObjet = {};
    myObjet.nombre_deuda = nombre_deuda;
    myObjet.estado_deuda = estado_deuda;
    myObjet.metodo_pago = metodo_pago;
    myObjet.fecha_inicio = fecha_inicio;
    myObjet.rango_dias = rango_dias;
    myObjet.num_cuotas = num_cuotas;
    myObjet.socios = lista_socios;
    myObjet.rubros = JsonRubros;

    //console.log(JSON.stringify(myObjet));
    cadenaJsonDeuda = JSON.stringify(myObjet);


    $.ajax({
        url: "/deudas/GrabarDeuda",
        type: "POST",
        data: cadenaJsonDeuda,
        headers: {
            'Content-Type': 'application/json',
            "X-CSRF-Token": csrfToken
        },
        success: function (data) {
            OcultarLoader();
            if (data.status == "ok") {
                ProcesarDeuda(data.id_deuda_cab);
                //toastr.success(data.message);
            } else {
                toastr.error(data.message);
            }
        },
        cache: false,
        contentType: false,
        processData: false,
    });

}

function verificarValue(cadena, modo) {
    var bool = false;

    switch (modo) {
        case 'S':
            if (cadena.length <= 0) {
                bool = true;
            }
            break;

        case 'I':
            if (cadena <= 0) {
                bool = true;
            }
            break;
        case 'O':
            if (Object.entries(cadena).length === 0) {
                bool = true;
            }
            break;
        default:
            break;
    }

    return bool;
}

function ObtenerSociosJson() {
    var lista_socios = [];
    var index = 0;
    for (var option of document.getElementById('listSocios').options) {
        if (option.selected) {
            //lista_socios.push(option.value);
            lista_socios[index] = {};
            lista_socios[index]['id_socio'] = option.value;
            index++;
        }
    }
    return lista_socios;
}

function ObtenerJsonTable(nombreTabla) {
    var myRows = [];
    var head = "#" + nombreTabla + " th";
    var $headers = $(head);
    var table = "#" + nombreTabla + " tbody tr";
    var $rows = $(table).each(function (index) {
        $cells = $(this).find("td");
        myRows[index] = {};
        $cells.each(function (cellIndex) {
            switch ($($headers[cellIndex]).html()) {
                case '% Desc':
                    myRows[index]['porc_desc'] = $('.ValorDescuento', this).val();
                    break;
                case 'Precio':
                    myRows[index][$($headers[cellIndex]).html()] = $('.precio', this).val();
                    break;
                default:
                    myRows[index][$($headers[cellIndex]).html()] = $(this).html();
                    break;
            }
            // var ValorDescuento = $('.ValorDescuento', $tr).val();
            //console.log();

        });
    });
    var myObj = {};
    myObj.tableDeudas = myRows;
    //alert(JSON.stringify(myObj));
    //return JSON.stringify(myObj);
    return myRows;
}





$('#btnvisualizarDeuda').on('click', function () {

    var metodo_pago = document.getElementById("metodo_pago").value;
    var fecha_inicio = document.getElementById("dateInicio").value;
    var rango_dias = document.getElementById("rango_dias").value;
    var num_cuotas = document.getElementById("num_cuotas").value;
    var total = total_rubros;
    var JsonRubros = ObtenerJsonTable('tblRubrosDeuda');

    if (metodo_pago != 'CRE') {
        toastr.error('El método de pago debe ser Credito');
        $("#bodyCalculoDeuda").empty();
        return;
    }

    if (verificarValue(rango_dias, 'I')) { toastr.error('el rango de dias debe ser mayor a 0.'); return; }
    if (verificarValue(num_cuotas, 'I')) { toastr.error('la cuota debe ser mayor a 0.'); return; }
    if (verificarValue(JsonRubros, 'O')) { toastr.error('debe cargar un Rubro.'); return; }

    var totalDivido = (total / num_cuotas).toFixed(2);
    var fechaI = ConvertStringDate(fecha_inicio);

    $("#bodyCalculoDeuda").empty();
    //$("").find("tr:gt(0)").remove();

    //var cadena ="";
    for (var i = 1; i <= parseInt(num_cuotas); i++) {
        
        //cadena += '<tr id="row' + i + '"><td>' + format(fechaI) + '</td>'+'<td>' + totalDivido + '</td>'+'</tr>';
        $("#tblCalculoDeuda>tbody").append('<tr id="row' + i + '"><td>' + format(fechaI) + '</td>' + '<td>' + totalDivido + '</td>' + '</tr>');
        fechaI = sumarDias(fechaI, parseInt(rango_dias));
    }

    $("#modal-rubros-cuotas").modal('show');

});

function sumarDias(fecha, dias) {
    fecha.setDate(fecha.getDate() + dias);
    return fecha;
}

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 ConvertStringDate(str) {
    //const str = '28/06/2022';
    const [day, month, year] = str.split('/');
    // console.log(day); // 28
    // console.log(month); // 06
    // console.log(year); // 2022
    var date = new Date(+year, +month - 1, +day);
    return date;
}


function CargarBusquedaRubros() {
    $('#tblBuscarRubros').DataTable({
        "processing": true,
        "serverSide": true,
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "select": true,
        //"ajax": "{{ url('/buscarVehiculos') }}",
        "ajax": {
            'url': 'consultarRubrosActivos', 'headers': {
                'Content-Type': 'application/json',
                "X-CSRF-Token": csrfToken
            }
        },
        "columns": [{
            data: 'id_item'
        },
        {
            data: 'descripcion'
        },
        {
            data: 'descripcion_larga'
        },
        {
            data: 'precio'
        },
        {
            data: 'aplica_iva'
        },
        {
            data: 'iva'
        }
        ],
        "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 Rubros:",
            "paginate": {
                "previous": "Anterior",
                "next": "siguiente"
            }
        },
        "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
    }).buttons().container().appendTo('#tblBuscarVehiculos_wrapper .col-md-6:eq(0)');

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

    });
}

CargarBusquedaRubros();

$('#addRubros').on('click', function () {
    $("#modal-xl").modal('show');
})

function CargarDatosSelect(item) {

    $("#modal-xl").modal('hide');
    var Precio = item.precio;
    var id_item = item.id_item;
    var aplica_iva = item.aplica_iva;
    var Rubro = item.descripcion;
    var Iva = item.iva;
    var descuento = 0;
    var porcDescuento = 0;
    var total = (Precio - descuento + Iva).toFixed(2);

    var rowPrecio = '<td width="100"><input type="number" value="' + Precio + '" class="form-control form-control-border precio" ></td>';
    var rowPorcDescuento = '<td width="90"><input type="number" value="' + porcDescuento + '" class="form-control form-control-border ValorDescuento" ></td>';
    var rowDescuento = '<td width="90"><input type="number" value="' + descuento + '" class="form-control form-control-border" ></td>';
    var rowDelete = '<td width="50"> <button type="button" class="btn btn-danger" onclick="elimnarRowRubros(this)" ><i class="fa fa-trash"> </i> </button> </td>';



    $("#tblRubrosDeuda>tbody").append('<tr id="row' + id_item + '"><td width="100" >' + id_item + '</td>' + '<td>' + Rubro + '</td>' + rowPrecio + rowPorcDescuento + '<td width="100" class="descuento">' + 0.00 + '</td>' + '<td width="100" class="iva">' + Iva + '</td>' + '<td width="100" class="total2">' + total + '</td>' + rowDelete + '</tr>');

    CalcularTotalRubros("tblRubrosDeuda");
    SetNameFirstDeuda(item.descripcion);
}

$('#tblRubrosDeuda').on('keyup', '.ValorDescuento', function (e) {
    if (e.which == 13) {
        CalcularTableRubros(this);
        CalcularTotalRubros("tblRubrosDeuda");
    }
});

$('#tblRubrosDeuda').on('keyup', '.precio', function (e) {
    if (e.which == 13) {
        CalcularTableRubros(this);
        CalcularTotalRubros("tblRubrosDeuda");
    }
});

$("#tblRubrosDeuda").on('change', '.ValorDescuento', function (e) {
    CalcularTableRubros(this);
    CalcularTotalRubros("tblRubrosDeuda");
})

$("#tblRubrosDeuda").on('change', '.precio', function (e) {
    CalcularTableRubros(this);
    CalcularTotalRubros("tblRubrosDeuda");
})

function SetNameFirstDeuda(name){
    if (g_set_name_deuda <=  0){
        document.getElementById("nombre_deuda").value = name;
    }

    g_set_name_deuda = 1;
}

function CalcularTableRubros(table) {
    var $tr = $(table).closest('tr');
    //var precio = $('.precio', $tr).text();
    var precio = $('.precio', $tr).val();
    var ValorDescuento = $('.ValorDescuento', $tr).val();
    var descuento = $('.descuento', $tr).text();
    var total = $('.total2', $tr).text();
    var iva = $('.iva', $tr).text();

    //console.log(precio+" ",ValorDescuento," ",total," ",descuento);
    //calculamos descuento
    var auxdesc = (precio * (ValorDescuento / 100)).toFixed(2);
    $('.descuento', $tr).text(auxdesc);

    var Subtotal = (precio - auxdesc).toFixed(2);
    //calculamos el iva
    var ivaNew = 0;
    if (iva > 0) {
        ivaNew = ((Subtotal) * (12 / 100)).toFixed(2);
    } else {
        ivaNew = 0;
    }
    $('.iva', $tr).text(ivaNew);

    //calculamos el total
    var totalNew = (parseFloat(Subtotal) + parseFloat(ivaNew)).toFixed(2);
    $('.total2', $tr).text(totalNew);
}

function CalcularTotalRubros(nombreTabla) {
    var myRows = [];
    var head = "#" + nombreTabla + " th";
    var $headers = $(head);
    var table = "#" + nombreTabla + " tbody tr";
    var total = 0;
    var $rows = $(table).each(function (index) {
        $cells = $(this).find("td");
        myRows[index] = {};
        $cells.each(function (cellIndex) {
            switch ($($headers[cellIndex]).html()) {
                case 'Total':
                    total += parseFloat($(this).html());
                    // if ($.isNumeric(parseFloat(total))) {
                    //     total += parseFloat(total);
                    // }
                    break;
            }
        });
    });
    total_rubros = total.toFixed(2);
    let index = $(this).parents('tr').find('.total2').index(this);
    $('.tfood').eq(index).html(total.toFixed(2));
}

function elimnarRowRubros(table) {
    //document.getElementsByTagName("tr")[2].remove();
    var $tr = $(table).closest('tr');
    $($tr).remove();

    CalcularTotalRubros("tblRubrosDeuda");
}

function CargarBusquedaDeuda() {
    var table = $('#tblBuscarDeudas').DataTable();
    table.ajax.reload();
    $("#modal-buscar-deuda").modal('show');

}

function CargarDeudas() {
    $('#tblBuscarDeudas').DataTable({
        "processing": true,
        "serverSide": true,
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "select": true,
        //"ajax": "{{ url('/buscarVehiculos') }}",
        "ajax": {
            'url': '/deudas/consultarDeudas', 'headers': {
                'Content-Type': 'application/json',
                "X-CSRF-Token": csrfToken
            }
        },
        "columns": [{
            data: 'id_deuda_cab'
        },
        {
            data: 'descripcion'
        },
        {
            data: 'estado'
        },
        {
            data: 'metodo_pago'
        },
        {
            data: 'fecha_inicio'
        },
        {
            data: 'rango_plazo'
        },
        {
            data: 'num_cuotas'
        }
        ],
        "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 Deuda:",
            "paginate": {
                "previous": "Anterior",
                "next": "siguiente"
            }
        },
        "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
    }).buttons().container().appendTo('#tblBuscarDeudas_wrapper .col-md-6:eq(0)');

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

    });
}

CargarDeudas();

function getSociosDeuda(id_deuda) {
    $.ajax({
        url: "/deudas/consultarSociosDeudas",
        type: "POST",
        data: JSON.stringify({
            id_deuda_cab: id_deuda
        }),
        headers: {
            'Content-Type': 'application/json',
            "X-CSRF-Token": csrfToken
        },
        success: function (data) {
            OcultarLoader();
            if (data.status == "ok") {
                for (var optiona of document.getElementById('listSocios').options) {
                    for (var optionb of data.object) {
                        if (parseInt(optiona.value) == parseInt(optionb.id_socio)) {
                            $("#listSocios option[value='" + optiona.value + "']").attr("selected", true).change();
                            $("#listSocios").bootstrapDualListbox('refresh');
                            continue;
                        }
                    }
                }
            } else {
                toastr.error("Se ha producido un error al cargar socios!!");
            }
        },
        cache: false,
        contentType: false,
        processData: false,
    });
}

function CargarDatosDeudas(item) {

    var id_deuda = item.id_deuda_cab;
    console.log('CargarDatosDeudas');
    console.log(item.estado);
    document.getElementById("id_deuda_cab").value = item.id_deuda_cab;
    document.getElementById("nombre_deuda").value = item.descripcion;
    $("#metodo_pago").val(item.metodo_pago).change();
    $("#estado_deuda").val(item.estado).change();
    document.getElementById("dateInicio").value = format(item.fecha_inicio);
    document.getElementById("rango_dias").value = item.rango_plazo;
    document.getElementById("num_cuotas").value = item.num_cuotas;

    getSociosDeuda(id_deuda);
    getRubrosDeusa(id_deuda);


    $("#modal-buscar-deuda").modal('hide');
    CalcularTotalRubros("tblRubrosDeuda");
    ocultarOpciones();
}

function getRubrosDeusa(id_deuda) {
    $.ajax({
        url: "/deudas/consultarRubrosDeudas",
        type: "POST",
        data: JSON.stringify({
            id_deuda_cab: id_deuda
        }),
        headers: {
            'Content-Type': 'application/json',
            "X-CSRF-Token": csrfToken
        },
        success: function (data) {
            OcultarLoader();
            if (data.status == "ok") {
                $("#tbodyRubrosDeuda").empty();

                for (var option of data.object) {
                    var rowPrecio = '<td width="100"><input type="number" value="' + option.subtotal + '" class="form-control form-control-border precio" ></td>';
                    var rowPorcDescuento = '<td width="90"><input type="number" value="' + option.porc_descuento + '" class="form-control form-control-border ValorDescuento" ></td>';
                    var rowDescuento = '<td width="90"><input type="number" value="' + option.descuento + '" class="form-control form-control-border" ></td>';
                    var rowDelete = '<td width="50"> <button type="button" class="btn btn-danger" onclick="elimnarRowRubros(this)" ><i class="fa fa-trash"> </i> </button> </td>';

                    $("#tblRubrosDeuda>tbody").append('<tr id="row' + option.id_deuda_det + '"><td width="100" >' + option.id_item + '</td>' + '<td>' + option.descripcion + '</td>' + rowPrecio + rowPorcDescuento + '<td width="100" class="descuento">' + option.descuento + '</td>' + '<td width="100" class="iva">' + option.iva + '</td>' + '<td width="100" class="total2">' + option.total + '</td>' + rowDelete + '</tr>');
                }

                CalcularTotalRubros("tblRubrosDeuda");
            } else {
                toastr.error("Se ha producido un error al cargar rubros!!");
            }
        },
        cache: false,
        contentType: false,
        processData: false,
    });

}


function ocultarOpciones(){
    var id_deuda = document.getElementById("id_deuda_cab").value;
    var estado_deuda = document.getElementById("estado_deuda").value;
    if (id_deuda > 0){
        if(estado_deuda =='NUE'){
            //document.getElementById('btnProcesar').style.visibility = 'visible';
            document.getElementById('btnGrabaDeuda').style.visibility = 'visible';
        }else{
            //document.getElementById('btnProcesar').style.visibility = 'hidden';
            document.getElementById('btnGrabaDeuda').style.visibility = 'hidden';
        }
        
    }else{
        //document.getElementById('btnProcesar').style.visibility = 'hidden';
    }
}

ocultarOpciones();

function ProcesarDeuda(p_id_deuda){
    //var id_deuda = parseInt(document.getElementById("id_deuda_cab").value);
    var id_deuda = p_id_deuda;
    if (id_deuda<=0){ toastr.error('Se produjo un error al procesar la Deuda'); return;}

    var metodo_pago = document.getElementById("metodo_pago").value;
    var fecha_inicio = document.getElementById("dateInicio").value;
    var rango_dias = document.getElementById("rango_dias").value;
    var num_cuotas = document.getElementById("num_cuotas").value;
    var total = total_rubros;
    var JsonRubros = ObtenerJsonTable('tblRubrosDeuda');

    var jsonCuotas ="";
    if(metodo_pago = 'CRE'){
        if (verificarValue(rango_dias, 'I')) { toastr.error('el rango de dias debe ser mayor a 0.'); return; }
        if (verificarValue(num_cuotas, 'I')) { toastr.error('la cuota debe ser mayor a 0.'); return; }
        if (verificarValue(JsonRubros, 'O')) { toastr.error('debe cargar un Rubro.'); return; }

        var totalDivido = (total / num_cuotas).toFixed(2);
        var fechaI = ConvertStringDate(fecha_inicio);

        var myFechasList = [];
        for (var i = 0; i < parseInt(num_cuotas); i++) {
            myFechasList[i] = {};
            fechaI = sumarDias(fechaI, parseInt(rango_dias));
            
            myFechasList[i]['fecha'] = format(fechaI);
            myFechasList[i]['monto'] = totalDivido;
        }

        // var jsonCuotas = {};
        // jsonCuotas.tablecuotas = myFechasList;
        jsonCuotas = JSON.stringify(myFechasList);
    }

    //obtenemos valores a enviar
    var myObjet = {};
    myObjet.id_deuda_cab = id_deuda;
    myObjet.json_cuotas = jsonCuotas;

    $.ajax({
        url: "/deudas/procesarSociosCuotas",
        type: "POST",
        data: JSON.stringify(myObjet),
        headers: {
            'Content-Type': 'application/json',
            "X-CSRF-Token": csrfToken
        },
        success: function (data) {
            OcultarLoader();
            if (data.status == "ok") {
                var count_socios = data.count_socios;
                if (count_socios == 1){
                    g_id_factura = data.id_factura;
                    $("#modal_imprime_recibo").modal('show');
                }else{
                    $("#modal_imprime_recibo_inf").modal('show');
                }
                toastr.success("Se han generado las cuotas a los socios!!");
            } else {
                toastr.error("Se ha producido un error al cargar socios!!");
            }
        },
        cache: false,
        contentType: false,
        processData: false,
    });

}
//Ejemplo 1
//Se ejecuta si se cambia la cantidad con los números del teclado
// $("#tblRubrosDeuda tbody").keyup(function (e) {
//     console.log('teclado');
//     let total = 0;
//     //Captura la posición de la columna en la que se está haciendo el cambio
//     let index = $(this).parents('tr').find('.cantidad').index(this);
//     //Captura el valor que hay en cada celda
//     $("tblRubrosDeuda tbody tr").each(function (i, row) {
//         let cantidad = $(row).find('td').eq(index + 1).find('.cantidad').val();
//         //Si el valor es numérico se hace la suma para evitar que muestre NaN en el total cuando las cantidades estén vacías
//         if ($.isNumeric(parseFloat(cantidad))) {
//             total = parseInt(total) + parseInt(cantidad)
//         }
//     });
//     //Se asigna la suma al total correspondiente
//     $('.total').eq(index).html(total);
// });


//Ejemplo 2
//Se ejecuta si se cambia la cantidad con los controles del campo de tipo number
$("#tblRubrosDeuda .cantidad").change(function () {
    console.log('chang');
    let total = 0;
    let index = $(this).parents('tr').find('.cantidad').index(this);
    $("tblRubrosDeuda tbody tr").each(function (i, row) {
        let cantidad = $(row).find('td').eq(index + 1).find('.cantidad').val();
        if ($.isNumeric(parseFloat(cantidad))) {
            total = parseInt(total) + parseInt(cantidad)
        }
    });
    $('.total').eq(index).html(total);
});

function ImprimirCotizacion (){
    //window.open("/cotizacionpdf/" + codigo_cotizacion );
    window.open("/pdf-recibopdf/" + g_id_factura );
    $("#modal_imprime_cotizacion").modal('hide');
    g_id_factura = 0;
    setTimeout(function() {
        location.reload();
    }, 1000); 
}

function NOimprimirCotizacion() {
    g_id_factura = 0;
    setTimeout(function() {
        location.reload();
    }, 1000); 
}