
$('.select2').select2();

var oTable = $('#table_gestion').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:",
        "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: urlData,
        method: 'POST',
        // data: function(d){
        //     d.ciclo = $('#ciclo').select2("val");
        //     d.especialidad = $('#especialidad').select2("val");
        // },
        error: function(error){
            alert("Ocurrio un problema al procesar los datos");
        }
    },
    columns:[
        {
            data:'id',
            name:'id',
            "searchable": false
        },
        {
            data:'username',
            name:'username',
            "searchable": true
        },
        {
            data:'dni',
            name:'dni',
            "searchable": true
        },
        {
            data:'apellido_paterno',
            name:'apellido_paterno',
            "searchable": true
        },
        {
            data:'apellido_materno',
            name:'apellido_materno',
            "searchable": true
        },
        {
            data:'nombres',
            name:'nombres',
            "searchable": true
        }
    ],
    "pageLength": 15,
    "columnDefs": [
        {
            'targets': 0,
            'className': 'dt-head-center dt-body-center',
            'checkboxes': {
                'selectRow': true
            }
        },
        { // set default column settings
            'orderable': false,
            'targets': [0]
        }, {
            "searchable": true,
            "targets": [0]
        }
    ],
    'select': {
        'style': 'multi'
    },
    'order': [[1, 'asc']],
    "bInfo": false,
    "bLengthChange": false,
    "ordering": false,
    // "bFilter": false
});

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

    e.preventDefault();

    if (rows_selected.length === 0) {
        swal("No seleccionó usuarios", "Debe seleccionar al menos un usuario.", "error");
        return;
    }
    // Iterate over all selected checkboxes
    $.each(rows_selected, function(index, rowId){
        // Create a hidden element
        $(form).append(
            $('<input>')
                .attr('type', 'hidden')
                .attr('name', 'id[]')
                .val(rowId)
        );
    });
    var l = Ladda.create(document.querySelector('#submitUsuarios'));
    l.start();
    $.ajax({
        url: $(form).attr('action'),
        type: "POST",
        data: $(form).serialize(),
        cache: false,
        dataType: 'json',
        processData: false,
        success: function(data) {
            if (data == "error") {
                swal("No seleccionó usuarios", "Debe seleccionar al menos un usuario.", "error");
            } else {
                swal("Encuesta enviada", "Se envió la encuesta a los usuarios seleccionados.", "success");
            }
        },
        error: function(data) {
            console.log(data);
            swal("No se pudo enviar la encuesta", "Ocurrió un error al realizar su solicitud.", "error");
        },
        complete: function() {
            l.toggle();
        }
    });
});



$("#form-roles").validate({
    submitHandler: function (form) {
        var l = Ladda.create(document.querySelector('#submitRoles'));
        l.start();

        // form.submit();

        $.ajax({
            url: $(form).attr('action'),
            type: "POST",
            data: $(form).serialize(),
            cache: false,
            dataType: 'json',
            processData: false,
            success: function(data) {
                swal("Encuesta enviada", "Se envió la encuesta a los roles seleccionados.", "success");
            },
            error: function(data) {
                console.log(data);
                swal("No se pudo enviar la encuesta", "Ocurrió un error al realizar su solicitud.", "error");
            },
            complete: function() {
                l.toggle();
            }
        });
    }
});