/**
 * Created by Alejandro on 20/08/2017.
 */
var code_user = "";
var rows_selected_tramites = [];
var rows_selected_biblioteca = [];

$('#btn-search-code').on('click', function () {
    validaUsuario();
});
$('#code-filter').on('keypress', function (e) {
    if(e.keyCode === 13){
        validaUsuario();
    }
});
var tablePersonal = $('#tb-gestionpagos').DataTable({
    "language": {
        "sProcessing":     "Procesando...",
        "sLengthMenu":     "Mostrar _MENU_ registros",
        "sZeroRecords":    "No se encontraron resultados",
        "sEmptyTable":     "No existen registros creados",
        "sInfo":           "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
        "sInfoEmpty":      "Mostrando registros del 0 al 0 de un total de 0 registros",
        "sInfoFiltered":   "(filtrado de un total de _MAX_ registros)",
        "sInfoPostFix":    "",
        "sSearch":         "Buscar por nombre de trámite:",
        "sUrl":            "",
        "sInfoThousands":  ",",
        "sLoadingRecords": "Cargando...",
        "oPaginate": {
            "sFirst":    "Primero",
            "sLast":     "Último",
            "sNext":     "Siguiente",
            "sPrevious": "Anterior"
        },
        "oAria": {
            "sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
            "sSortDescending": ": Activar para ordenar la columna de manera descendente"
        }
    },
    processing: true,
    serverSide: true,
    destroy: true,
    responsive:true,
    ajax:{
        url: url_eventos,
        method: 'POST',
        "data": function(d){
            d.code = code_user;
        },
        error: function(error){
            console.log(error);
        }
    },
    columns:[
        {
            data:'id',
            name:'id',
            "searchable": false
        },
        {
            data:'dni',
            name:'dni',
            "searchable": true
        },
        {
            data:'nombre',
            name:'evento.nombre',
            "searchable": true
        },
        {
            data:'fecha_inicio',
            name:'evento.fecha_inicio',
            "searchable": false,
            render: function(data,type,row){
                return '<td>' + Date.parse(data).toString("dd/MM/yyyy") + '</td>'
            }
        },
        {
            data:'fecha_fin',
            name:'evento.fecha_fin',
            "searchable": false,
            render: function(data,type,row){
                return '<td>' + Date.parse(data).toString("dd/MM/yyyy") + '</td>'
            }
        },
        {
            data:'costo',
            name:'evento.costo',
            "searchable": false,
            render: $.fn.dataTable.render.number( ',', '.', 2, 'S/.' )
        }
    ],
    "pageLength": 15,
    "columnDefs": [
        {
            'targets': 0,
            'className': 'dt-head-center dt-body-center',
            'checkboxes': {
                'selectRow': true
            }
        },
        {
            'orderable': false,
            'targets': [0]
        }, {
            "searchable": true,
            "targets": [0]
        }
    ],
    'select': {
        'style': 'multi'
    },
    'order': [[1, 'asc']],
    "bInfo": false,
    "bLengthChange": false,
    "ordering": false,
    "bFilter": false
});
function refresh() {
    tablePersonal.draw();
}

function validaUsuario() {
    code_user = $('#code-filter').val();
    if (code_user == "") {
        swal("Debe ingresar un usuario", "Debe ingresar un DNI ó código de usuario primero.", "warning");
        return;
    }
    var l = Ladda.create(document.querySelector('#btn-search-code'));
    l.start();
    $.ajax({
        url: url_valida,
        type: "GET",
        data: {
            code: code_user
        },
        cache: false,
        dataType: 'json',
        success: function(data) {
            if (data == "false") {
                swal("Usuario Incorrecto", "El código de usuario ingresado no existe.", "error");
                $('#wait-filter').addClass('filter-none');
                $('#hidden-filter').removeClass('filter-none');

                code_user = "";
            } else {
                $('#wait-filter').removeClass('filter-none');
                $('#hidden-filter').addClass('filter-none');
                refresh();
                $('#usuario_eventos').val(code_user);
            }
        },
        error: function(data) {
            console.log(data);
        },
        complete: function() {
            l.toggle();
        }
    });
}

$('#form-eventos').on('submit', function(e){
    var form = this;
    var rows_selected = tablePersonal.column(0).checkboxes.selected();

    e.preventDefault();

    if (rows_selected.length === 0) {
        swal("No seleccionó ningún pago", "Debe seleccionar al menos un pago pendiente.", "error");
        return;
    }

    $('#user_tramite').val(code_user);

    $.each(rows_selected, function(index, rowId){
        $(form).append(
            $('<input>')
                .attr('type', 'hidden')
                .attr('name', 'id[]')
                .val(rowId)
        );
    });

    var l = Ladda.create(document.querySelector('#btn-pay-tramites'));
    l.start();

    form.submit();
});


