$(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,
    });
    $("#formPorLibros").on("submit", function (e) {
        BuscarPorLibros(e);
    });
    $("#formLibro").on("submit", function (e) {
        guardaryactualizarLibro(e);
    }); 
    $("#formVerLibro").on("submit", function (e) {
        VerLibro(e);
    });     
});

function guardaryactualizarLibro(e) {
    e.preventDefault();
    var formData = new FormData($("#formLibro")[0]);
    $.ajax({
        url: '../../controller/libro.php?op=guardarR',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#libros-data').DataTable().ajax.reload();
            $('#mantenimiento_libros').modal('hide');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function VerLibro(e) {
    e.preventDefault();
     var URL = $('#URLV').val();
    var formData = new FormData($("#formVerLibro")[0]);
    $.ajax({
        url: '../../controller/libro.php?op=ver',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {  
            
        }
    });                 
    window.open(URL,"_blank");                                                          
     
}
function nuevoL() {
    $('#librodbkL').val('');    
    $('#clasificacionL').val('').trigger('change');
    $('#subclasificacionL').val('').trigger('change');
    $('#nombreL').val('');
    $('#autorL').val('');
    $('#anioL').val('');
    $('#editorialL').val('');
    $('#isbnL').val('');
    $('#URLL').val('');
    $('#tipoL').val('').trigger('modalidad');    
    $('#lblTituloL').html('Nuevo Registro');
    $('#formLibro')[0].reset();
    $('#mantenimiento_libros').modal('show');
}

function editarL(librodbk) {
    $.post("../../controller/libro.php?op=consultar_libro", {librodbk: librodbk}, function (data) {
        data = JSON.parse(data);
        $('#librodbkL').val(data.librodbk);
        $('#clasificacionL').val(data.clasificacion).trigger("change");
        $('#subclasificacionL').val(data.subclasificacion).trigger("change");
        $('#nombreL').val(data.nombre);
        $('#autorL').val(data.autor);
        $('#anioL').val(data.anio);
        $('#editorialL').val(data.editorial);
        $('#isbnL').val(data.isbn);
        $('#URLL').val(data.URL);
        $('#tipoL').val(data.tipo).trigger("change");        
    });
    $('#lblTitulo').html('Editar Libro');
    $('#mantenimiento_libros').modal('show');
}

function leerL(librodbk) {
    $.post("../../controller/libro.php?op=consultar_libro", {librodbk: librodbk}, function (data) {
        data = JSON.parse(data);
        $('#librodbkV').val(data.librodbk);        
        $('#nombreV').val(data.nombre);
        $('#autorV').val(data.autor);
        $('#anioV').val(data.anio);
        $('#editorialV').val(data.editorial);
        $('#isbnV').val(data.isbn);        
        $('#tipoV').val(data.tipo).trigger("change");        
        $('#URLV').val(data.URL);        
    });
    $('#lblTitulo').html('Ver Libro');
    $('#ver_libros').modal('show');
}

function BuscarPorLibros(e) {
    e.preventDefault();
    var formData = new FormData($("#formPorLibros")[0]);
    var clasificacion = $('#clasificacion').val();
    var subclasificacion = $('#subclasificacion').val();
    var tipo = $('#tipo').val();
    var anio = $('#anio').val();
    var autor = $('#autor').val();
    $('#libros-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {
            url: "../../controller/biblioteca.php?op=buscarR&a=" + clasificacion + "&b=" + subclasificacion + "&c=" + tipo + "&d=" + anio + "&e=" + autor,
            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"
            }
        },
    });
}

$(document).ready(function () {
    $('#libros-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {
            url: "../../controller/biblioteca.php?op=listar&fil=revista",
            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"
            }
        },
    });
    combo_clasificacion();
    combo_subclasificacion();
    combo_tipo();
    combo_anio();
    combo_autor();
    
    combo_clasificacionL();
    combo_subclasificacionL();
    combo_tipoL();    
});

function combo_clasificacion() {
    $.post("../../controller/biblioteca.php?op=comboClasificacion", function (data) {
        $('#clasificacion').html(data);
    });
}
function combo_subclasificacion() {
    $.post("../../controller/biblioteca.php?op=comboSubClasificacion", {clasificaciondbk: $('#clasificacion').val()}, function (data) {
        $('#subclasificacion').html(data);
    });
}
function combo_tipo() {
    $.post("../../controller/biblioteca.php?op=comboTipo", function (data) {
        $('#tipo').html(data);
    });
}
function combo_clasificacionL() {
    $.post("../../controller/biblioteca.php?op=comboClasificacion", function (data) {
        $('#clasificacionL').html(data);
    });
}
function combo_subclasificacionL() {
    $.post("../../controller/biblioteca.php?op=comboSubClasificacion", {clasificaciondbk: $('#clasificacionL').val()}, function (data) {
        $('#subclasificacionL').html(data);
    });
}
function combo_tipoL() {
    $.post("../../controller/biblioteca.php?op=comboTipo", function (data) {
        $('#tipoL').html(data);
    });
}
function combo_anio() {
    $.post("../../controller/biblioteca.php?op=comboAnioR", function (data) {
        $('#anio').html(data);
    });
}
function combo_autor() {
    $.post("../../controller/biblioteca.php?op=comboAutorR", function (data) {
        $('#autor').html(data);
    });
}
$("#clasificacion").change(function () {
    $("#clasificacion option:selected").each(function () {
        clasificaciondbk = $(this).val();
        $("#subclasificacion").removeAttr('disabled');
        combo_subclasificacion();
    })
})
$("#clasificacionL").change(function () {
    $("#clasificacionL option:selected").each(function () {
        clasificaciondbk = $(this).val();
        $("#subclasificacionL").removeAttr('disabled');
        combo_subclasificacionL();
    })
})
function eliminarL(librodbk) {
    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/libro.php?op=eliminar_libro", {librodbk: librodbk}, function (data) {
                $('#libros-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}

