
$(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,
    });
    $("#formPractica").on("submit", function (e) {
        guardaryactualizarPractica(e);
    });
    $("#formCentroPractica").on("submit", function (e) {
        guardarInstitucion(e);
    });
    $("#formEstadoCentroPractica").on("submit", function (e) {        
        guardarEstadoCentro(e);
    });
    $("#formVigencia").on("submit", function (e) {        
        guardarVigencia(e);
    });
    $("#formEstadoVigencia").on("submit", function (e) {        
        guardarEstadoV(e);
    });
    $("#formHorario").on("submit", function (e) {        
        guardarHorario(e);
    });
    $("#formEstadoHorario").on("submit", function (e) {        
        guardarEstadoH(e);
    });
    $("#formTutor").on("submit", function (e) {        
        guardarTutor(e);
    });  
    $("#formSupervisorTecnico").on("submit", function (e) {        
        guardarSupervisorTecnico(e);
    });
    $("#formEstadoSupervisor").on("submit", function (e) {        
        guardarEstadoS(e);
    });    
    $("#formSeguridad").on("submit", function (e) {        
        guardarSeguridad(e);
    });
    $("#formEstadoSeguridad").on("submit", function (e) {        
        guardarEstadoSeg(e);
    });    
    $("#formObjetivos").on("submit", function (e) {        
        guardarObjetivo(e);
    });
    $("#formEstadoObjetivo").on("submit", function (e) {        
        guardarEstadoObj(e);
    });
    $("#formResultados").on("submit", function (e) {        
        guardarResultado(e);
    });
    $("#formEstadoResultado").on("submit", function (e) {        
        guardarEstadoRes(e);
    });    
    $("#formSemana").on("submit", function (e) {        
        guardarSemana(e);
    });
    $("#formEstadoSemana").on("submit", function (e) {        
        guardarEstadoSem(e);
    });    
    $("#formActividad").on("submit", function (e) {        
        guardarActividad(e);
    });
    $("#formObjetivoCulminacion").on("submit", function (e) {        
        guardarObjetivoC(e);
    });
    $("#formCulminacion2").on("submit", function (e) {        
        guardarObjetivoC2(e);
    });
    $("#formCulminacion3").on("submit", function (e) {        
        guardarObjetivoC3(e);
    });
    $("#formEstadoCulminacion").on("submit", function (e) {        
        guardarEstadoCul(e);
    });    
    $("#formObservacionCentroPractica").on("submit", function (e) {        
        guardarObservacion1(e);
    });
    $("#formObservacionVigencia").on("submit", function (e) {        
        guardarObservacionV(e);
    });
    $("#formObservacionHorario").on("submit", function (e) {        
        guardarObservacionH(e);
    });
    $("#formObservacionSupervisor").on("submit", function (e) {        
        guardarObservacionS(e);
    });
    $("#formObservacionSeguridad").on("submit", function (e) {        
        guardarObservacionSeg(e);
    });
    $("#formObservacionObjetivo").on("submit", function (e) {        
        guardarObservacionObj(e);
    });
    $("#formObservacionResultado").on("submit", function (e) {        
        guardarObservacionRes(e);
    });
    $("#formObservacionSemana").on("submit", function (e) {        
        guardarObservacionSem(e);
    });
    $("#formObservacionCulminacion").on("submit", function (e) {        
        guardarObservacionCul(e);
    });
    $("#formDocumentacion").on("submit", function (e) {        
        guardarDocumentacion(e);
    });     
});

$(document).ready(function () {    
    $('#practica-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listar&fil=practica_general",
            type: "post",
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#practica-data').DataTable().clear().draw();
                    $('#practica-data').DataTable().rows.add(emptyData.data).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"
            }
        },
    });
    combo_Carrera();
    combo_Estudiante();
    combo_Institucion();
    combo_Docente();
    combo_Tipo();
    combo_SectorEconomico();
    combo_Semana();
    combo_Observacion();
    combo_EstadoCentro();
});

function combo_Carrera() {
    $.post("../../controller/carrera.php?op=comboCarrera", function (data) {
        $('#carrera').html(data);
    });
}
function combo_Estudiante() {
    $.post("../../controller/matricula.php?op=comboEstudiantePorCarrera", {carreradbk: $('#carrera').val()}, function (data) {
        $('#estudiante').html(data);
    });
}
function combo_Institucion() {
    $.post("../../controller/institucion.php?op=comboInstitucion", function (data) {
        $('#institucion').html(data);
    });
}
function combo_Docente() {
    $.post("../../controller/persona.php?op=comboDocente", function (data) {
        $('#docente').html(data);
    });
}
function combo_Tipo() {
    $.post("../../controller/catalogo.php?op=tipoInstitucion", function (data) {
        $('#tipo').html(data);
    });
}
function combo_SectorEconomico() {
    $.post("../../controller/catalogo.php?op=sectorEconomico", function (data) {
        $('#sector_economico').html(data);
    });
}
function combo_Semana() {
    $.post("../../controller/catalogo.php?op=semanaPractica", function (data) {
        $('#semana').html(data);
    });
}
function combo_Observacion() {
    $.post("../../controller/catalogo.php?op=ObservacionEstado", function (data) {
        $('#estadoObservacion').html(data);
        $('#estadoObservacionV').html(data);
        $('#estadoObservacionH').html(data);
        $('#estadoObservacionS').html(data);
        $('#estadoObservacionSeg').html(data);
        $('#estadoObservacionObj').html(data);
        $('#estadoObservacionRes').html(data);
        $('#estadoObservacionSem').html(data);
        $('#estadoObservacionCul').html(data);
    });
}

function combo_EstadoCentro() {
    $.post("../../controller/catalogo.php?op=EstadoFase", function (data) {
        $('#estadoCentro').html(data);
        $('#estadoV').html(data);
        $('#estadoH').html(data);
        $('#estadoS').html(data);
        $('#estadoSeg').html(data);
        $('#estadoObj').html(data);
        $('#estadoRes').html(data);
        $('#estadoSem').html(data);
        $('#estadoCul').html(data);
    });
}
function dato_Institucion() {
    $.post("../../controller/institucion.php?op=consultar_institucion", {instituciondbk: $('#institucion').val()}, function (data) {
        data = JSON.parse(data);        
        $('#ruc').val(data.ruc);
        $('#domicilio').val(data.domicilio);
        $('#email').val(data.email);
        $('#telefono').val(data.telefono);
        $('#tipo').val(data.tipo).trigger('change');
        $('#sector_economico').val(data.sector_economico).trigger('change');
    });
}
function dato_Tutor() {
    $.post("../../controller/persona.php?op=mostrar_persona", {personadbk: $('#docente').val()}, function (data) {
        data = JSON.parse(data);       
        $('#emailT').val(data.emailInstitucional);
        $('#cargo').val("DOCENTE");
    });
}
$("#carrera").change(function () {
    $("#carrera option:selected").each(function () {
        carreradbk = $(this).val();
        $("#estudiante").removeAttr('disabled');
        combo_Estudiante();
    })
})
$("#institucion").change(function () {
    $("#institucion option:selected").each(function () {
        instituciondbk = $(this).val();
        dato_Institucion();
    })
})
$("#docente").change(function () {    
    $("#docente option:selected").each(function () {        
        personadbk = $(this).val();
        dato_Tutor();
    })
})
function nuevo() {
    $('#practicadbk').val('');
    $('#carrera').val('').trigger('change');
    $('#estudiante').val('').trigger('change');    
    $('#horas').val('');
    $('#lblTitulo').html('Nuevo Registro');
    $('#formPractica')[0].reset();
    $('#practica_man').modal('show');
    $('#objetivos').val('').trigger('change');  
}
function nuevaActividad() {
    $('#actividadesdbk').val('');
    $('#fechaActividad').val('');
    $('#hora_entrada').val('');
    $('#hora_salida').val('');
    $('#obj_actividad').val('').trigger('change');  
    $('#actividad').val('');
}
function nuevaObservacion() {
    $('#observacionesdbk').val('');
    $('#comentario').val('');
    $('#estadoObservacion').val('').trigger('change');  
}
function nuevaObservacionV() {
    $('#observacionesdbkV').val('');
    $('#comentarioV').val('');
    $('#estadoObservacionV').val('').trigger('change');  
}
function nuevaObservacionH() {
    $('#observacionesdbkH').val('');
    $('#comentarioH').val('');
    $('#estadoObservacionH').val('').trigger('change');  
}
function nuevaObservacionS() {
    $('#observacionesdbkS').val('');
    $('#comentarioS').val('');
    $('#estadoObservacionS').val('').trigger('change');  
}
function nuevaObservacionSeg() {
    $('#observacionesdbkSeg').val('');
    $('#comentarioSeg').val('');
    $('#estadoObservacionSeg').val('').trigger('change');  
}
function nuevaObservacionObj() {
    $('#observacionesdbkObj').val('');
    $('#comentarioObj').val('');
    $('#estadoObservacionObj').val('').trigger('change');  
}
function nuevaObservacionRes() {
    $('#observacionesdbkRes').val('');
    $('#comentarioRes').val('');
    $('#estadoObservacionRes').val('').trigger('change');  
}
function nuevaObservacionSem() {
    $('#observacionesdbkSem').val('');
    $('#comentarioSem').val('');
    $('#estadoObservacionSem').val('').trigger('change');  
}
function nuevaObservacionCul() {
    $('#observacionesdbkCul').val('');
    $('#comentarioCul').val('');
    $('#estadoObservacionCul').val('').trigger('change');  
}
function guardaryactualizarPractica(e) {
    e.preventDefault();
    var formData = new FormData($("#formPractica")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=guardarPractica',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#practica-data').DataTable().ajax.reload();
            $('#practica_man').modal('hide');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarInstitucion(e) {
    var estado = $("#estadoCentro").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var formData = new FormData($("#formCentroPractica")[0]);
        $.ajax({
            url: '../../controller/practica.php?op=guardarInstitucion',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        });
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarEstadoCentro(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoCentroPractica")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoCentro',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoV(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoVigencia")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoV',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoH(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoHorario")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoH',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoS(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoSupervisor")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoS',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoSeg(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoSeguridad")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoSeg',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoObj(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoObjetivo")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoObj',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoRes(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoResultado")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoRes',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoSem(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoSemana")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoSem',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarEstadoCul(e) {
    e.preventDefault();
    var formData = new FormData($("#formEstadoCulminacion")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=actualizarEstadoCul',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarVigencia(e) {
    var estado = $("#estadoV").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var formData = new FormData($("#formVigencia")[0]);
        $.ajax({
            url: '../../controller/practica.php?op=guardarVigencia',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        });
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarHorario(e) {
    var estado = $("#estadoH").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var formData = new FormData($("#formHorario")[0]);
        $.ajax({
            url: '../../controller/practica.php?op=guardarHorario',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#horario-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        });
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarObjetivo(e) {
    var estado = $("#estadoObj").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var formData = new FormData($("#formObjetivos")[0]);
        $.ajax({
            url: '../../controller/practica.php?op=guardarObjetivo',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#objetivo-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        });
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarResultado(e) {
    var estado = $("#estadoRes").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var formData = new FormData($("#formResultados")[0]);
        $.ajax({
            url: '../../controller/practica.php?op=guardarResultado',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#resultado-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        });    
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarSemana(e) {
    var estado = $("#estadoSem").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var formData = new FormData($("#formSemana")[0]);
        var desde = $(this).attr("fechaDesde").value;
        var hasta = $(this).attr("fechaHasta").value;
        if(desde<hasta){
        $.ajax({
            url: '../../controller/practica.php?op=guardarSemana',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#semana-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        });
        }else{
            Swal.fire({
                    title: 'Error',
                    text: 'La fecha de inicio no puede ser mayor a la fecha de finalización',
                    icon: 'error',
                    confirmButtonText: 'Aceptar'
                });
        }
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarActividad(e) {
    var estado = $("#estadoSem").find("option:selected").text();
    if(estado != 'APROBADO'){ 
        e.preventDefault();
        var formData = new FormData($("#formActividad")[0]);
        var actividadesdbk = $(this).attr("actividadesdbk").value;
        if(actividadesdbk>0){
           $.ajax({
            url: '../../controller/practica.php?op=actualizarActividad',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#actividad-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
            });  
        }else{
            $.ajax({
            url: '../../controller/practica.php?op=guardarActividad',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#actividad-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
            }); 
        }     
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarObjetivoC(e) {
    var estado = $("#estadoCul").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var objetivosdbk = $(this).attr("objetivosdbk").value;
        if(objetivosdbk > 0){
            var formData = new FormData($("#formObjetivoCulminacion")[0]);
            $.ajax({
                url: '../../controller/practica.php?op=guardarObjetivoC',
                type: "POST",
                data: formData,
                contentType: false,
                processData: false,
                success: function (data) {
                    $('#objetivoR-data').DataTable().ajax.reload();
                    $('#informacion').modal('show');
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'La información se ha guardada satisfactoriamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                }
            });    
        }else{
           Swal.fire({
                title: '¡Advertencia!',
                text: 'Debe seleccionar un objetivo desde la matriz',
                icon: 'warning',  // Corrección: "warning" en minúsculas
                confirmButtonText: 'Aceptar',
                confirmButtonColor: '#3085d6',  // Color azul estándar
                backdrop: true,  // Fondo oscuro al mostrar la alerta
                allowOutsideClick: false  // Obliga al usuario a hacer clic en "Aceptar"
            });
        }    
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarObjetivoC2(e) {
    var estado = $("#estadoCul").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var resultadosdbk = $(this).attr("resultadosdbk").value;
        if(resultadosdbk > 0){
            var formData = new FormData($("#formCulminacion2")[0]);
            $.ajax({
                url: '../../controller/practica.php?op=guardarCompetenciaC',
                type: "POST",
                data: formData,
                contentType: false,
                processData: false,
                success: function (data) {
                    $('#competenciaR-data').DataTable().ajax.reload();
                    $('#informacion').modal('show');
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'La información se ha guardada satisfactoriamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                }
            });    
        }else{
           Swal.fire({
                title: '¡Advertencia!',
                text: 'Debe seleccionar una competencia desde la matriz',
                icon: 'warning',  // Corrección: "warning" en minúsculas
                confirmButtonText: 'Aceptar',
                confirmButtonColor: '#3085d6',  // Color azul estándar
                backdrop: true,  // Fondo oscuro al mostrar la alerta
                allowOutsideClick: false  // Obliga al usuario a hacer clic en "Aceptar"
            });
        }    
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarObjetivoC3(e) {
    var estado = $("#estadoCul").find("option:selected").text();
    if(estado != 'APROBADO'){ 
        e.preventDefault();
        var objetivosdbk2 = $(this).attr("objetivosdbk2").value;
        if(objetivosdbk2 > 0){
            var formData = new FormData($("#formCulminacion3")[0]);
            $.ajax({
                url: '../../controller/practica.php?op=guardarConclusion',
                type: "POST",
                data: formData,
                contentType: false,
                processData: false,
                success: function (data) {
                    $('#conclusion-data').DataTable().ajax.reload();
                    $('#informacion').modal('show');
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'La información se ha guardada satisfactoriamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                }
            });    
        }else{
           Swal.fire({
                title: '¡Advertencia!',
                text: 'Debe seleccionar un objetivo desde la matriz',
                icon: 'warning',  // Corrección: "warning" en minúsculas
                confirmButtonText: 'Aceptar',
                confirmButtonColor: '#3085d6',  // Color azul estándar
                backdrop: true,  // Fondo oscuro al mostrar la alerta
                allowOutsideClick: false  // Obliga al usuario a hacer clic en "Aceptar"
            });
        }    
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarObservacion1(e) {
    e.preventDefault();
    var formData = new FormData($("#formObservacionCentroPractica")[0]);
    var practicadbk = $(this).attr("practicadbkObs").value;
    var observacionesdbk = $(this).attr("observacionesdbk").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacion',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacion1-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacion1',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacion1-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionV(e) {
    e.preventDefault();
    var formData = new FormData($("#formObservacionVigencia")[0]);
    var practicadbk = $(this).attr("practicadbkV").value;
    var observacionesdbk = $(this).attr("observacionesdbkV").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionV',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionV-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionV',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionV-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionH(e) {
    e.preventDefault();
    var formData = new FormData($("#formObservacionHorario")[0]);
    var practicadbk = $(this).attr("practicadbkH").value;
    var observacionesdbk = $(this).attr("observacionesdbkH").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionH',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionH-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionH',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionH-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionS(e) {    
    e.preventDefault();
    var formData = new FormData($("#formObservacionSupervisor")[0]);
    var practicadbk = $(this).attr("practicadbkST").value;
    var observacionesdbk = $(this).attr("observacionesdbkS").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionS',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionS-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionS',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionS-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionSeg(e) {    
    e.preventDefault();
    var formData = new FormData($("#formObservacionSeguridad")[0]);
    var practicadbk = $(this).attr("practicadbkSeg").value;
    var observacionesdbk = $(this).attr("observacionesdbkSeg").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionSeg',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionSeg-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionSeg',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionSeg-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionObj(e) {    
    e.preventDefault();
    var formData = new FormData($("#formObservacionObjetivo")[0]);
    var practicadbk = $(this).attr("practicadbkO").value;
    var observacionesdbk = $(this).attr("observacionesdbkObj").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionObj',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionObj-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionObj',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionObj-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionRes(e) {    
    e.preventDefault();
    var formData = new FormData($("#formObservacionResultado")[0]);
    var practicadbk = $(this).attr("practicadbkObsRes").value;
    var observacionesdbk = $(this).attr("observacionesdbkRes").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionRes',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionRes-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionRes',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionRes-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionSem(e) {    
    e.preventDefault();
    var formData = new FormData($("#formObservacionSemana")[0]);    
    var practicadbk = $(this).attr("practicadbkSe").value;
    var observacionesdbk = $(this).attr("observacionesdbkSem").value;
    
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionSem',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionSem-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionSem',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionSem-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarObservacionCul(e) {    
    e.preventDefault();
    var formData = new FormData($("#formObservacionCulminacion")[0]);
    var practicadbk = $(this).attr("practicadbkC").value;
    var observacionesdbk = $(this).attr("observacionesdbkCul").value;
    if(observacionesdbk>0){
       $.ajax({
        url: '../../controller/practica.php?op=actualizarObservacionCul',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionCul-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    }else{
        $.ajax({
        url: '../../controller/practica.php?op=guardarObservacionCul',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#observacionCul-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
        }); 
    } 
}
function guardarTutor(e) {
    e.preventDefault();
    var formData = new FormData($("#formTutor")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=guardarTutor',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#practica-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function guardarSupervisorTecnico(e) {
    var estado = $("#estadoCentro").find("option:selected").text();
    if(estado != 'APROBADO'){
        e.preventDefault();
        var formData = new FormData($("#formSupervisorTecnico")[0]);
        $.ajax({
            url: '../../controller/practica.php?op=guardarSupervisorTecnico',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        });        
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarSeguridad(e) {
    var estado = $("#estadoSeg").find("option:selected").text();
    if(estado != 'APROBADO'){
       e.preventDefault();
        var formData = new FormData($("#formSeguridad")[0]);
        $.ajax({
            url: '../../controller/practica.php?op=guardarSeguridad',
            type: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function (data) {
                $('#practica-data').DataTable().ajax.reload();
                $('#informacion').modal('show');
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'La información se ha guardada satisfactoriamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            }
        }); 
    }else{
        e.preventDefault();
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function guardarDocumentacion(e) {
    e.preventDefault();
    var formData = new FormData($("#formDocumentacion")[0]);
    $.ajax({
        url: '../../controller/practica.php?op=guardarDocumentacion',
        type: "POST",
        data: formData,
        contentType: false,
        processData: false,
        success: function (data) {
            $('#practica-data').DataTable().ajax.reload();
            $('#informacion').modal('show');
            Swal.fire({
                title: 'Operacion Exitosa',
                text: 'La información se ha guardada satisfactoriamente',
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        }
    });
}
function editar(practicadbk) {
    $.post("../../controller/practica.php?op=consultar_practica", {practicadbk: practicadbk}, function (data) {
        data = JSON.parse(data);
        $('#practicadbk').val(data.practicadbk);
        $('#carrera').val(data.carrera).trigger("change");
        $('#estudiante').val(data.estudiante).trigger("change");
        $('#horas').val(data.horas);        
    });
    $('#lblTitulo').html('Editar Práctica');
    $('#practica_man').modal('show');
}
function editarActividades(actividadesdbk) {
    $.post("../../controller/practica.php?op=consultar_actividad", {actividadesdbk: actividadesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#actividadesdbk').val(data.actividadesdbk);
            $('#fechaActividad').val(data.fecha_actividad);
            $('#hora_entrada').val(data.hora_entrada);
            $('#hora_salida').val(data.hora_salida);
            $('#obj_actividad').val(data.obj_actividad).trigger("change");
            $('#actividad').val(data.actividad);   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacion1(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbk').val(data.observacionesdbk);
            $('#comentario').val(data.comentario);
            $('#estadoObservacion').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionV(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkV').val(data.observacionesdbk);
            $('#comentarioV').val(data.comentario);
            $('#estadoObservacionV').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionH(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkH').val(data.observacionesdbk);
            $('#comentarioH').val(data.comentario);
            $('#estadoObservacionH').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionS(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkS').val(data.observacionesdbk);
            $('#comentarioS').val(data.comentario);
            $('#estadoObservacionS').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionSeg(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkSeg').val(data.observacionesdbk);
            $('#comentarioSeg').val(data.comentario);
            $('#estadoObservacionSeg').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionObj(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkObj').val(data.observacionesdbk);
            $('#comentarioObj').val(data.comentario);
            $('#estadoObservacionObj').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionRes(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkRes').val(data.observacionesdbk);
            $('#comentarioRes').val(data.comentario);
            $('#estadoObservacionRes').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionSem(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkSem').val(data.observacionesdbk);
            $('#comentarioSem').val(data.comentario);
            $('#estadoObservacionSem').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function editarObservacionCul(observacionesdbk) {
    $.post("../../controller/practica.php?op=consultar_observaciones1", {observacionesdbk: observacionesdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#observacionesdbkCul').val(data.observacionesdbk);
            $('#comentarioCul').val(data.comentario);
            $('#estadoObservacionCul').val(data.estadoObservacion).trigger("change");   
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function eliminar(practicadbk) {
    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/practica.php?op=eliminar_practica", {practicadbk: practicadbk}, function (data) {
                $('#practica-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarHorario(horariodbk) {
    var estado = $("#estadoH").find("option:selected").text();
    if(estado != 'APROBADO'){
        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/practica.php?op=eliminar_horario", {horariodbk: horariodbk}, function (data) {
                    $('#horario-data').DataTable().ajax.reload();
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'El registro se elimino correctamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                });
            }
        });    
    }else{
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function eliminarObjetivo(objetivosdbk) {
    var estado = $("#estadoCentro").find("option:selected").text();
    if(estado != 'APROBADO'){
        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/practica.php?op=eliminar_objetivo", {objetivosdbk: objetivosdbk}, function (data) {
                    $('#objetivo-data').DataTable().ajax.reload();
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'El registro se elimino correctamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                });
            }
        });    
    }else{
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function cargarObjetivo(objetivosdbk) {
    $.post("../../controller/practica.php?op=consultar_objetivos", {objetivosdbk: objetivosdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#objetivosdbk').val(data.objetivosdbk);
            $('#objetivoE').val(data.descripcion);
            $('#cumplimiento').val(data.cumplimiento);
            $('#resultado').val(data.resultado); 
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function cargarCompetencia(resultadosdbk) {
    $.post("../../controller/practica.php?op=consultar_competencia", {resultadosdbk: resultadosdbk}, function (data) {
        console.log(data);
        try {
            data = JSON.parse(data);
            $('#resultadosdbk').val(data.resultadosdbk);
            $('#competenciaL').val(data.descripcion);
            $('#cumplimiento2').val(data.cumplimiento);
            $('#resultado2').val(data.indicador); 
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function cargarConclusion(objetivosdbk) {
    $.post("../../controller/practica.php?op=consultar_objetivos", {objetivosdbk: objetivosdbk}, function (data) {
        //console.log(data);
        try {
            data = JSON.parse(data);
            $('#objetivosdbk2').val(data.objetivosdbk);
            $('#objetivoE2').val(data.descripcion); 
            $('#conclusion').val(data.conclusion); 
        } catch (e) {
            console.error("Error parsing JSON:", e);
            alert("Error al parsear los datos recibidos"+e);
        }
    });
}
function eliminarResultado(resultadosdbk) {
    var estado = $("#estadoRes").find("option:selected").text();
    if(estado != 'APROBADO'){
      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/practica.php?op=eliminar_resultado", {resultadosdbk: resultadosdbk}, function (data) {
                    $('#resultado-data').DataTable().ajax.reload();
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'El registro se elimino correctamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                });
            }
        });  
    }else{
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function eliminarSemana(semanadbk) {
    var estado = $("#estadoSem").find("option:selected").text();
    if(estado != 'APROBADO'){
        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/practica.php?op=eliminar_semana", {semanadbk: semanadbk}, function (data) {
                    $('#semana-data').DataTable().ajax.reload();
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'El registro se elimino correctamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                });
            }
        });    
    }else{
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function eliminarActividades(actividadesdbk) {
    var estado = $("#estadoSem").find("option:selected").text();
    if(estado != 'APROBADO'){
        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/practica.php?op=eliminar_actividad", {actividadesdbk: actividadesdbk}, function (data) {
                    $('#actividad-data').DataTable().ajax.reload();
                    Swal.fire({
                        title: 'Operacion Exitosa',
                        text: 'El registro se elimino correctamente',
                        icon: 'success',
                        confirmButtonText: 'Aceptar'
                    })
                });
            }
        });    
    }else{
        Swal.fire({
            title: 'Acción no disponible',
            html: '<div style="text-align:left;">'
                + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                + '<ul>'
                + '<li>Fue validada por el tutor responsable</li>'
                + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                + '</ul>'
                + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                + '</div>',
            icon: 'info',
            confirmButtonText: 'Entendido'
        })
    }   
}
function eliminarObservacion1(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacion1-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionV(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionV-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionH(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionH-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionS(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionS-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionSeg(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionSeg-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionObj(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionObj-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionRes(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionRes-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionSem(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionSem-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
function eliminarObservacionCul(observacionesdbk) {
    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/practica.php?op=eliminar_observacion1", {observacionesdbk: observacionesdbk}, function (data) {
                $('#observacionCul-data').DataTable().ajax.reload();
                Swal.fire({
                    title: 'Operacion Exitosa',
                    text: 'El registro se elimino correctamente',
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });
        }
    });
}
$(".tablas").on("click", ".btnActivarPractica", function () {
    var practicadbk = $(this).attr("idPractica");
    var estado = $(this).attr("estadoPractica");
    var datos = new FormData();
    datos.append("activarId", practicadbk);
    datos.append("activarPractica", estado);
    $.ajax({
        url: "../../controller/practica.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('estadoPractica', "ACTIVO");
    } else {
        $(this).addClass('btn-success');
        $(this).removeClass('btn-danger');
        $(this).html('Activo');
        $(this).attr('estadoPractica', "INACTIVO");
    }
});
async function consultar_doc(practicadbk) {
    const response = await $.post(
        "../../controller/practica.php?op=consultar_practica", 
        { practicadbk: practicadbk }
    );
    const data = JSON.parse(response);
    return data.doc_informe;
}

async function documento(practicadbk) {
    try {
        const doc = await consultar_doc(practicadbk);
        
        // Verificar si el documento está vacío, es null o undefined
        if (!doc) {
            alert("El documento no contiene información para mostrar");
            return; // Salir de la función sin abrir ventana
        }
        
        // Verificar si es una URL válida
        let url;
        try {
            url = new URL(doc, window.location.origin).href;
        } catch {
            url = `${window.location.origin}/${doc.replace(/^\//, "")}`;
        }
        
        window.open(url, "_blank");
        
    } catch (error) {
        console.error("Error:", error);
        alert("Ocurrió un error al intentar obtener el documento");
    }
}
function informacion(practicadbk) { 
    $('#practicadbkCP').val('').trigger('change');
    $('#ruc').val('');
    $('#informacion').modal('show');
    $.post("../../controller/practica.php?op=consultar_practica", {practicadbk: practicadbk}, function (data) {
        data = JSON.parse(data);
        $('#practicadbkCP').val(data.practicadbk);        
        $('#practicadbkV').val(data.practicadbk);
        $('#practicadbkH').val(data.practicadbk);
        $('#practicadbkT').val(data.practicadbk);
        $('#practicadbkST').val(data.practicadbk);
        $('#practicadbkSeg').val(data.practicadbk);
        $('#practicadbkObj').val(data.practicadbk);
        $('#practicadbkRes').val(data.practicadbk);
        $('#practicadbkSem').val(data.practicadbk);
        $('#practicadbkCul').val(data.practicadbk);
        $('#practicadbkD').val(data.practicadbk);
        $('#practicadbkO').val(data.practicadbk);
        $('#practicadbkR').val(data.practicadbk);
        $('#practicadbkSe').val(data.practicadbk);
        $('#practicadbkC').val(data.practicadbk);
        $('#practicadbkC2').val(data.practicadbk);
        $('#practicadbkC3').val(data.practicadbk);
        $('#practicadbkObs').val(data.practicadbk);
        $('#practicadbkObsV').val(data.practicadbk);
        $('#practicadbkObsH').val(data.practicadbk);
        $('#practicadbkObsS').val(data.practicadbk);
        $('#practicadbkObsSeg').val(data.practicadbk);
        $('#practicadbkObsObj').val(data.practicadbk);
        $('#practicadbkObsRes').val(data.practicadbk);
        $('#practicadbkObsSem').val(data.practicadbk);
        $('#practicadbkObsCul').val(data.practicadbk);
        $('#practicadbkEst').val(data.practicadbk);
        $('#practicadbkEstV').val(data.practicadbk);
        $('#practicadbkEstH').val(data.practicadbk);
        $('#practicadbkEstS').val(data.practicadbk);
        $('#practicadbkEstSeg').val(data.practicadbk);
        $('#practicadbkEstObj').val(data.practicadbk);
        $('#practicadbkEstRes').val(data.practicadbk);
        $('#practicadbkEstSem').val(data.practicadbk);
        $('#practicadbkEstCul').val(data.practicadbk);
        $('#institucion').val(data.institucion).trigger("change");
        $('#ruc').val(data.ruc);
        $('#domicilio').val(data.domicilio);
        $('#email').val(data.email);
        $('#telefono').val(data.telefono);
        $('#tipo').val(data.tipo).trigger("change");
        $('#sector_economico').val(data.sector_economico).trigger("change");
        $('#representante_legal').val(data.representante_legal);
        $('#cargo_representante').val(data.cargo_representante);
        $('#inicioPractica').val(data.fec_inicio);
        $('#fechaCulminacion').val(data.fec_fin);
        $('#horarioAsistencia').val(data.horario);
        $('#jornada').val(data.jornada);
        $('#areaPractica').val(data.area); 
        $('#docente').val(data.docente).trigger("change");
        $('#sup_nombre').val(data.sup_nombre);
        $('#sup_cargo').val(data.sup_cargo);
        $('#sup_email').val(data.sup_email);
        $('#sup_telefono').val(data.sup_telefono);
        $('#sup_registro').val(data.sup_registro);
        $('#fec_capacitacion').val(data.fec_capacitacion);
        $('#P1').val(data.P1).trigger("change");
        $('#O1').val(data.O1);
        $('#P2').val(data.P2).trigger("change");
        $('#O2').val(data.O2);
        $('#P3').val(data.P3).trigger("change");
        $('#O3').val(data.O3);
        $('#P4').val(data.P4).trigger("change");
        $('#O4').val(data.O4);
        $('#P5').val(data.P5).trigger("change");
        $('#O5').val(data.O5);
        $('#doc_informe').val(data.doc_informe);
        $('#fec_convenio').val(data.fec_convenio);
        combo_Objetivos(data.practicadbk);
        combo_Resultados(data.practicadbk);
                   
    });        
    $.post("../../controller/practica.php?op=consultar_estados", {practicadbk: practicadbk}, function (data) {
        data = JSON.parse(data);
        $('#estadoCentro').val(data.centro_practica).trigger("change");     
        $('#estadoV').val(data.vigencia).trigger("change");  
        $('#estadoH').val(data.horario).trigger("change"); 
        $('#estadoS').val(data.supervisor).trigger("change"); 
        $('#estadoSeg').val(data.seguridad).trigger("change"); 
        $('#estadoObj').val(data.objetivos).trigger("change");
        $('#estadoRes').val(data.resultados).trigger("change");
        $('#estadoSem').val(data.semanas).trigger("change");
        $('#estadoCul').val(data.culminacion).trigger("change");
    }); 
    
    $('#horario-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarHorario",
            type: "post",
            data:{
                practicadbkH:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#horario-data').DataTable().clear().draw();
                    $('#horario-data').DataTable().rows.add(emptyData.data).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"
            }
        }
    });
    $('#objetivo-data').DataTable({
        "scrollX":true,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObjetivo",
            type: "post",
            data:{
                practicadbkO:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#objetivo-data').DataTable().clear().draw();
                    $('#objetivo-data').DataTable().rows.add(emptyData.data).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"
            }
        },
    });
    $('#objetivoR-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObjetivoCumplimiento",
            type: "post",
            data:{
                practicadbkO:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#objetivoR-data').DataTable().clear().draw();
                    $('#objetivoR-data').DataTable().rows.add(emptyData.data).draw();
                }
            }           
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });
    $('#competenciaR-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarCompetenciaCumplimiento",
            type: "post",
            data:{
                practicadbkO:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#competenciaR-data').DataTable().clear().draw();
                    $('#competenciaR-data').DataTable().rows.add(emptyData.data).draw();
                }
            }           
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });
    $('#conclusion-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarConclusiones",
            type: "post",
            data:{
                practicadbkO:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#conclusion-data').DataTable().clear().draw();
                    $('#conclusion-data').DataTable().rows.add(emptyData.data).draw();
                }
            }   
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });
    $('#resultado-data').DataTable({
        "scrollX":true,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarResultado",
            type: "post",
            data:{
                practicadbkR:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#resultado-data').DataTable().clear().draw();
                    $('#resultado-data').DataTable().rows.add(emptyData.data).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"
            }
        },
    });
    $('#semana-data').DataTable({
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarSemana",
            type: "post",
            data:{
                practicadbkSe:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#semana-data').DataTable().clear().draw();
                    $('#semana-data').DataTable().rows.add(emptyData.data).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"
            }
        },
    });  
    $('#observacion1-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacion1",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacion1-data').DataTable().clear().draw();
                    $('#observacion1-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });   
    $('#observacionV-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionV",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionV-data').DataTable().clear().draw();
                    $('#observacionV-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });  
    $('#observacionH-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionH",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionH-data').DataTable().clear().draw();
                    $('#observacionH-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    }); 
    $('#observacionS-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionS",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionS-data').DataTable().clear().draw();
                    $('#observacionS-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    }); 
    $('#observacionSeg-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionSeg",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionSeg-data').DataTable().clear().draw();
                    $('#observacionSeg-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });  
    $('#observacionObj-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionObj",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionObj-data').DataTable().clear().draw();
                    $('#observacionObj-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });  
    $('#observacionRes-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionRes",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionRes-data').DataTable().clear().draw();
                    $('#observacionRes-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    });   
    $('#observacionSem-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionSem",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionSem-data').DataTable().clear().draw();
                    $('#observacionSem-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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"
            }
        },
    }); 
    $('#observacionCul-data').DataTable({
        "scrollX": true,
        "autoWidth": false,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarObservacionCul",
            type: "post",
            data:{
                practicadbkCP:practicadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#observacionCul-data').DataTable().clear().draw();
                    $('#observacionCul-data').DataTable().rows.add(emptyData.data).draw();
                }
            }
        },
        "bDestroy": true,
        "responsive": false,
        "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_Objetivos(practica) {
    $.post("../../controller/prac_carreraobe.php?op=comboObjetivos",{practicadbk: practica}, function (data) {
        $('#objetivos').html(data);
        $('#obj_actividad').html(data);
    });
}
function combo_Resultados(practica) {
    $.post("../../controller/prac_carreraobe.php?op=comboResultados",{practicadbk: practica}, function (data) {
        $('#carreracom').html(data);
    });
}
function actividades(semanadbk) {
    $('#semanadbk').val(semanadbk);
    $('#actividad-data').DataTable({
        "scrollX":true,
        "aProcessing": true,
        "aServerSide": true,
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
            'print',
            'colvis'
        ],
        "ajax": {            
            url: "../../controller/practica.php?op=listarActividades",
            type: "post",
            data:{
                semanadbk:semanadbk
            },
            error: function(xhr, error, thrown) {
                if (xhr.status == 200 && xhr.responseText.trim() === '') {
                    // Si la respuesta está vacía, inicializar con datos vacíos
                    var emptyData = {
                        "draw": 1,
                        "recordsTotal": 0,
                        "recordsFiltered": 0,
                        "data": []
                    };
                    $('#actividad-data').DataTable().clear().draw();
                    $('#actividad-data').DataTable().rows.add(emptyData.data).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"
            }
        },
    }); 
    $('#btnNuevaActividad').click(function () {
        nuevaActividad();
    });
}
$('#btnNuevaObservacion').click(function () {
    nuevaObservacion();
});
$('#btnNuevaObservacionV').click(function () {
    nuevaObservacionV();
});
$('#btnNuevaObservacionH').click(function () {
    nuevaObservacionH();
});
$('#btnNuevaObservacionS').click(function () {
    nuevaObservacionS();
});
$('#btnNuevaObservacionSeg').click(function () {
    nuevaObservacionSeg();
});
$('#btnNuevaObservacionObj').click(function () {
    nuevaObservacionObj();
});
$('#btnNuevaObservacionRes').click(function () {
    nuevaObservacionRes();
});
$('#btnNuevaObservacionSem').click(function () {
    nuevaObservacionSem();
});
$('#btnNuevaObservacionCul').click(function () {
    nuevaObservacionCul();
});
function notificar(titulo, texto, tabla,perfil) {
    var practica = $(this).attr("practicadbkCP").value;
    var estado = $("#estadoCentro").find("option:selected").text();
    if(perfil == "ESTUDIANTE"){
        if(estado != 'APROBADO'){
            $.post("../../controller/practica.php?op=notificar", {practicadbk: practica,tabla:tabla,perfil:perfil}, 
            function (data) {
                Swal.fire({
                    title: titulo,
                    text: texto,
                    icon: 'success',
                    confirmButtonText: 'Aceptar'
                })
            });    
        }else{        
            Swal.fire({
                title: 'Acción no disponible',
                html: '<div style="text-align:left;">'
                    + '<p>❌ <b>Esta sección está aprobada</b> y no admite modificaciones porque:</p>'
                    + '<ul>'
                    + '<li>Fue validada por el tutor responsable</li>'
                    + '<li>Las modificaciones están restringidas para mantener la integridad del proceso</li>'
                    + '</ul>'
                    + '<p>Contacta al TUTOR si necesitas realizar alguna modificación.</p>'
                    + '</div>',
                icon: 'info',
                confirmButtonText: 'Entendido'
            })
        }    
    }
    if(perfil == "DOCENTE"){
        $.post("../../controller/practica.php?op=notificar", {practicadbk: practica,tabla:tabla,perfil:perfil}, 
        function (data) {
            Swal.fire({
                title: titulo,
                text: texto,
                icon: 'success',
                confirmButtonText: 'Aceptar'
            })
        });         
    }       
} 
    
    
            
