var tabla;

// función que se ejecuta al inicio
function init() {
    listar();

    
    //cargamos los items al select Cliente
    $.post("controladores/ventanControlador.php?op=selectCliente", function(r){
        $("#idcliente").html(r);
        $("#idcliente").val(0);
        $('#idcliente').selectpicker('refresh');
    });

    // cargamos los items al select Vendedor
    $.post("controladores/ventanControlador.php?op=selectVendedor", function(r){
        $("#idvendedor").html(r);
        $("#idvendedor").val(0);
        $('#idvendedor').selectpicker('refresh');
        
    });

    // recargar tabla cuando cambien los filtros
    $("#fecha_inicio").change(function() { listar(); });
    $("#fecha_fin").change(function() { listar(); });
    $("#idcliente").change(function() { listar(); });
    $("#idvendedor").change(function() { listar(); });

    // filtros por columna en el footer
    $('#tbllistado tfoot th').each(function () {
        var title = $(this).text();
        $(this).html('<input type="text" style="width:100px" placeholder="Filtro.." />');
    });
}

// función listar
function listar() {
    var fecha_inicio    = $("#fecha_inicio").val();
    var fecha_fin       = $("#fecha_fin").val();
    var idcliente       = $("#idcliente").val();
    var idvendedor      = $("#idvendedor").val();

    tabla = $('#tbllistado').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        "bDestroy": true,
        //"iDisplayLength": 10,
        "iDisplayLength":-1,//paginacion
        "order": [[0, "desc"]],
        "dom": 'Bfrtip', // botones + buscador + tabla
        "buttons": [
            {
                extend: 'copyHtml5',
                text: '<i class="fa fa-copy"></i> Copiar',
                className: 'btn btn-secondary'
            },
            {
                extend: 'excelHtml5',
                text: '<i class="fa fa-file-excel"></i> Excel',
                className: 'btn btn-success'
            },
            {
                extend: 'csvHtml5',
                text: '<i class="fa fa-file-csv"></i> CSV',
                className: 'btn btn-info'
            },
            {
                extend: 'pdfHtml5',
                text: '<i class="fa fa-file-pdf"></i> PDF',
                className: 'btn btn-danger',
                orientation: 'landscape',
                pageSize: 'A4'
            }
        ],
        "ajax": {
            url: 'controladores/consultasControlador.php?op=cobranzafechacliente',
            method: 'post',
            data: {
                fecha_inicio: fecha_inicio,
                fecha_fin: fecha_fin,
                idcliente: idcliente,
                idvendedor: idvendedor
            },
            dataType: "json",
            error: function(e) {
                console.log(e.responseText);
            }
        },
        "columnDefs": [
            { "type": "numeric-comma", targets: 4 }
        ],
        "initComplete": function () {
            this.api().columns().every(function () {
                var that = this;
                $('input', this.footer()).on('keyup change', function () {
                    if (that.search() !== this.value) {
                        that.search(this.value).draw();
                    }
                });
            });
        },
        "language": {
            "url": "https://cdn.datatables.net/plug-ins/1.13.6/i18n/es-ES.json"
        }
    });
}


init();
