$(function () {
    $("#example1").DataTable({
        "responsive": true, "lengthChange": false, "autoWidth": false,
        "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
    }).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)');
    $('#example2').DataTable({
        "paging": true,
        "lengthChange": false,
        "searching": false,
        "ordering": true,
        "info": true,
        "autoWidth": false,
        "responsive": true,
    });
    $("#formUsuario").on("submit", function (e) {
        guardaryactualizarUsuario(e);
    });
});

$(document).ready(function () {
    $.post("../../controller/usuario.php?op=activos", function (data) {
        data = JSON.parse(data);
        $('#txtActivos').html(data.activos);
    });
    $.post("../../controller/usuario.php?op=inactivos", function (data) {
        data = JSON.parse(data);
        $('#txtInactivos').html(data.inactivos);
    });
    combo_personas();
    $('#usuario-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {
            url: "../../controller/usuario.php?op=listar&fil=all",
            type: "post"
        },
        "bDestroy": true,
        "responsive": true,
        "bInfo": true,
        "iDisplayLength": 20,
        "order": [[0, "desc"]],
        "language": {
            "sProcessing": "Procesando...",
            "sLengthMenu": "Mostrar _MENU_ registros",
            "sZeroRecords": "No se encontraron resultados",
            "sEmptyTable": "Ningun dato disponible en esta tabla",
            "sInfo": "Mostrando registro 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": "Ultimo",
                "sNext": "Siguiente",
                "sPrevious": "Anterior"
            },
            "oAria": {
                "sSortAscending": ": Activar para ordenar la columna de manera ascendente",
                "sSortDescending": ": Activar para ordenar la columna de manera descendente"
            }
        },
    });
});
function combo_personas() {
    $.post("../../controller/persona.php?op=comboPersona", function (data) {
        $('#persona').html(data);
    });
}
function nuevo() {
    $('#usuariodbk').val('');
    $('#persona').val('').trigger('change');
    $('#nickname').val('');
    $('#clave').val('');
    $('#foto').val('');
    $('#perfil').val('').trigger('change');
    $('#lblTitulo').html('Nuevo Registro');
    $('#formUsuario')[0].reset();
    $('#mantenimiento').modal('show');
}
function guardaryactualizarUsuario(e) {
    e.preventDefault();
    var formData = new FormData($("#formUsuario")[0]);
    $.ajax({
        url: '../../controller/usuario.php?op=guardar',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#usuario-data').DataTable().ajax.reload();
            $('#mantenimiento').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function editar(usuariodbk) {   
    $.post("../../controller/usuario.php?op=mostrar_usuario", {usuariodbk: usuariodbk}, function (data) {
        data = JSON.parse(data);
        $('#usuariodbk').val(data.usuariodbk).trigger("change");
        $('#persona').val(data.persona);
        $('#nickname').val(data.nickname);
        $('#clave').val(data.clave);
        $('#perfil').val(data.perfil).trigger("change");        
    });
    $('#lblTitulo').html('Editar Usuario');
    $('#mantenimiento').modal('show');
}

$(".tablas").on("click", ".btnActivarUsuario", function () {    
    var usuariodbk = $(this).attr("idUsuario");
    var estado = $(this).attr("estadoUsuario");
    var datos = new FormData();
    datos.append("activarId", usuariodbk);
    datos.append("activarUsuario", estado);    
    $.ajax({
        url: "../../controller/usuario.php?op=estado",
        method: "POST",
        data: datos,
        cache: false,
        contentType: false,
        processData: false,
        success: function (data) {
        }
    })   
    if (estado == "INACTIVO") {
        $(this).removeClass('btn-success');
        $(this).addClass('btn-danger');
        $(this).html('Inactivo');
        $(this).attr('estadoUsuario', "ACTIVO");
    } else {
        $(this).addClass('btn-success');
        $(this).removeClass('btn-danger');
        $(this).html('Activo');
        $(this).attr('estadoUsuario', "INACTIVO");
    }
})

function eliminar(usuariodbk){
    swal.fire({
        title: "Eliminar",
        text: "Desea Eliminar el Registro de manera definitiva",
        icon: "error",
        confirmButtonText: "Si",
        showCancelButton: true,
        cancelButtonText: "No",
    }).then((result) => {
        if (result.value) {
            $.post("../../controller/usuario.php?op=eliminar_usuario", {usuariodbk: usuariodbk}, function (data) {
                $('#usuario-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}