$(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,
    });
    $("#formClases").on("submit", function (e) {        
        guardarClases(e);
        
    });
});

$(document).ready(function () {    
    $('#clases-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],        
        "ajax": {
            url: "../../controller/mallaCurricular.php?op=clases",
            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 editar(mallacurriculardbk) {
    $.post("../../controller/mallaCurricular.php?op=consultar_malla", {mallacurriculardbk: mallacurriculardbk}, function (data) {
        data = JSON.parse(data);
        $('#mallacurricular').val(data.mallacurriculardbk);
    });
    $('#lblTitulo').html('Clases Grabadas');
    $('#mantenimiento').modal('show');
    $('#link').val('');
    $('#fecha').val('');
    $('#semana').val('').trigger('change');
    $('#clasesgrabadas-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/clases.php?op=listarClases",
            type: "post",
            data:{
                mallacurricular:mallacurriculardbk
            },
            error: function (xhr, error, code) {
            console.log("Error en la solicitud AJAX: " + error);
            console.log("C¨®digo de error: " + code);
            // Mostrar mensaje personalizado de error en la tabla
            $('#clasesgrabadas-data').DataTable().clear().draw();
        }            
        },
        "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 guardarClases(e) {
    e.preventDefault();
    var formData = new FormData($("#formClases")[0]);
    $.ajax({
        url: '../../controller/clases.php?op=guardarClases',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#clasesgrabadas-data').DataTable().ajax.reload();   
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La informaciÃ³n se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function eliminarClase(clasedbk) { 
    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/clases.php?op=eliminar_clase", {clasedbk: clasedbk}, function (data) {
                $('#clasesgrabadas-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}