<?php
session_start();

// --- 1. Seguridad y Menús ---
if (!isset($_SESSION['Inicio']) || $_SESSION['Inicio'] !== "Ok" || !isset($_SESSION['Rol'])) {
    header('Location: ../Login.php?m=5');
    exit;
}

$urlMenuCorrespondiente = "";
switch ($_SESSION['Rol']) {
    case "Administrativo":
        $urlMenuCorrespondiente = "../MenuAdministrativo.php";
        break;
    case "Titular":
        $urlMenuCorrespondiente = "../MenuTitular.php";
        break;
    case "Pasante":
        // Generalmente los pasantes no pueden eliminar, verificar permisos
        $urlMenuCorrespondiente = "../MenuPasante.php";
        break;
    default:
        header('Location: ../Login.php?m=6');
        exit;
}

include("../Php/ConexionInb.php");
$errorMessage = '';

// --- 2. Manejo de Eliminación (AJAX) ---
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['action']) && $_GET['action'] === 'delete' && isset($_GET['id'])) {
    $idToDelete = $_GET['id'];
    $Con = Conectar();
    $response = ['success' => false, 'message' => 'Error desconocido.'];

    if (!filter_var($idToDelete, FILTER_VALIDATE_INT)) {
        $response['message'] = 'ID de registro no válido.';
    } else {
        $SQL_DELETE = "DELETE FROM celf9_21 WHERE id = ?";
        $stmt = mysqli_prepare($Con, $SQL_DELETE);
        if ($stmt) {
            mysqli_stmt_bind_param($stmt, "i", $idToDelete);
            mysqli_stmt_execute($stmt);
            if (mysqli_stmt_affected_rows($stmt) > 0) {
                $response['success'] = true;
                $response['message'] = 'El registro se eliminó correctamente.';
            } else {
                $response['message'] = 'No se encontró el registro o ya había sido eliminado.';
            }
            mysqli_stmt_close($stmt);
        } else {
            $response['message'] = 'Error interno al preparar la eliminación.';
        }
    }
    Cerrar($Con);
    header('Content-Type: application/json');
    echo json_encode($response);
    exit;
}

// --- 3. Búsqueda y Consulta ---
$criterioBusqueda = '';
$resultadosHtml = '';
$totalFilas = 0;

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['Nombre'])) {
    $criterioBusqueda = strtoupper(trim($_POST['Nombre']));
}

// 1. Preparar parámetros para la función centralizada
$columnas = "p.*, b.*"; // b.* traerá todos los datos de celf9_21
$sqlWhere = "";
$params = array();
$types = "";
$sqlOrder = " ORDER BY p.apellido_paterno_paciente, p.nombre_paciente, b.fecha_evaluacion DESC";

if (!empty($criterioBusqueda)) {
    $sqlWhere = " WHERE (UPPER(p.nombre_paciente) LIKE ? 
                    OR UPPER(p.apellido_paterno_paciente) LIKE ? 
                    OR UPPER(p.apellido_materno_paciente) LIKE ?)";
    $searchTerm = "%" . $criterioBusqueda . "%";
    $params = array($searchTerm, $searchTerm, $searchTerm);
    $types = "sss";
}

// 2. Llamar a la función centralizada (Unimos con la tabla 'celf9_21')
$datosCelf = consultarPacientes('celf9_21', $columnas, $sqlWhere, $params, $types, $sqlOrder, $errorMessage);

    if ($datosCelf === false) {
    $resultadosHtml = "<p class='error-message'>" . htmlspecialchars($errorMessage) . "</p>";
} else {
    $totalFilas = count($datosCelf);
    if ($totalFilas > 0) {
            $resultadosHtml .= "<div class='tabla-container'>";
            $resultadosHtml .= "<table id='tablaResultados'>";
            
            // --- ENCABEZADOS AGRUPADOS ---
            $resultadosHtml .= "<thead>";
            $resultadosHtml .= "<tr>";
            $resultadosHtml .= "<th rowspan='2' class='sticky-col'>Acción</th>";
            $resultadosHtml .= "<th colspan='5'>Datos del Paciente</th>";
            $resultadosHtml .= "<th colspan='3'>Info Evaluación</th>"; // Incluye Rango Edad

            // Bloques de Sub-tests (4 columnas cada uno generalmente)
            $resultadosHtml .= "<th colspan='4'>Sub-test: Conceptos y Sig. Direcciones</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Recordar Oraciones</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Formulación de Oraciones</th>";
            
            $resultadosHtml .= "<th colspan='4'>Sub-test: Clases Palabras (Receptivo)</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Clases Palabras (Expresivo)</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Clases Palabras (Total)</th>";
            
            $resultadosHtml .= "<th colspan='4'>Sub-test: Definición de Palabras</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Vocabulario Expresivo</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Entendiendo Párrafos</th>";
            
            $resultadosHtml .= "<th colspan='4'>Sub-test: Rep. Números (Directa)</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Rep. Números (Inversa)</th>";
            $resultadosHtml .= "<th colspan='4'>Sub-test: Rep. Números (Total)</th>";
            
            $resultadosHtml .= "<th colspan='4'>Sub-test: Secuencias Familiares</th>";

            // Índices (6 índices x 3 columnas)
            $resultadosHtml .= "<th colspan='18'>Índices Principales y Complementarios</th>";

            // Clínicos
            $resultadosHtml .= "<th colspan='3'>Datos Clínicos</th>";
            $resultadosHtml .= "</tr>";

            // --- SEGUNDA FILA DE ENCABEZADOS ---
            $resultadosHtml .= "<tr>";
            // Paciente
            $resultadosHtml .= "<th>Clave Paciente</th><th>Nombre</th><th>A. Paterno</th><th>A. Materno</th><th>F. Nacim.</th>";
            // Info
            $resultadosHtml .= "<th>Fecha</th><th>Edad</th><th>Rango</th>";

            // Subtests (Repetimos patrón Bruto/Esc/Perc/Int)
            // Conceptos
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Recordar Oraciones
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Formulación Oraciones
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Clases Palabras (Receptivo)
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Clases Palabras (Expresivo)
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Clases Palabras (Total) - (Suma Esc, Total Esc, Perc, Int)
            $resultadosHtml .= "<th>Suma Esc.</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Definición Palabras
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Vocabulario Expresivo
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Entendiendo Párrafos
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Rep Num (Directa)
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Rep Num (Inversa)
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Rep Num (Total)
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";
            // Secuencias Familiares
            $resultadosHtml .= "<th>Bruto</th><th>Escalar</th><th>Percentil</th><th class='col-text-limited'>Interpretación</th>";

            // Índices (Estándar, Percentil, Interpretación)
            $resultadosHtml .= "<th>L. Total (Est)</th><th>(%)</th><th class='col-text-limited'>(Int)</th>";
            $resultadosHtml .= "<th>L. Recep (Est)</th><th>(%)</th><th class='col-text-limited'>(Int)</th>";
            $resultadosHtml .= "<th>L. Expre (Est)</th><th>(%)</th><th class='col-text-limited'>(Int)</th>";
            $resultadosHtml .= "<th>Contenido (Est)</th><th>(%)</th><th class='col-text-limited'>(Int)</th>";
            $resultadosHtml .= "<th>M. Lenguaje (Est)</th><th>(%)</th><th class='col-text-limited'>(Int)</th>";
            $resultadosHtml .= "<th>M. Trabajo (Est)</th><th>(%)</th><th class='col-text-limited'>(Int)</th>";

            // Clínicos
            $resultadosHtml .= "<th>¿Terapia?</th><th class='col-text-limited'>Obs. Clínica</th><th class='col-text-limited'>Otra Obs.</th>";
            $resultadosHtml .= "</tr>";
            $resultadosHtml .= "</thead>";

            // --- CUERPO DE LA TABLA ---
            $resultadosHtml .= "<tbody>";

            foreach ($datosCelf as $Fila) {
                $resultadosHtml .= "<tr data-id='" . htmlspecialchars($Fila['id']) . "'>";
                
                // Acción Sticky
                $resultadosHtml .= "<td class='sticky-col'><a href='#' class='btn-outline btn-small del-btn' data-id='" . htmlspecialchars($Fila['id']) . "'>Eliminar</a></td>";

                // Paciente
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['clave_paciente']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['nombre_paciente']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['apellido_paterno_paciente']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['apellido_materno_paciente']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['fecha_nacimiento_paciente']) . "</td>";

                // Info
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['fecha_evaluacion']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['edad']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['rango_edad']) . "</td>";

                // --- Sub-tests (Manteniendo el orden de los encabezados) ---

                // Conceptos y Sig Direcciones
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_concep_sig_dir_bruto']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_concep_sig_dir_escal']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_concep_sig_dir_perce']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_concep_sig_dir_interpre']) . "</td>";

                // Recordar Oraciones
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_record_oraci_brut']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_record_oraci_escal']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_record_oraci_percen']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_record_oraci_interpr']) . "</td>";

                // Formulación Oraciones
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_formul_oraci_brut']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_formul_oraci_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_formul_oraci_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_formul_oraci_interpr']) . "</td>";

                // Clases Palabras (Receptivo)
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clases_palab_recep_bru']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clases_palab_recep_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clases_palab_recep_percen']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_clases_palab_recep_interp']) . "</td>";

                // Clases Palabras (Expresivo)
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clas_pala_expre_brut']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clas_pala_expre_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clas_pala_expre_percen']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_clas_pala_expre_interpr']) . "</td>";

                // Clases Palabras (Total)
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clas_palab_suma_escalares']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clas_pala_tot_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_clas_pala_tot_perce']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_clas_pala_tot_inter']) . "</td>";

                // Definición Palabras
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_defin_pala_brut']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_defin_pala_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_defin_pala_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_defin_pala_inter']) . "</td>";

                // Vocabulario Expresivo
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_vocab_expr_bruto']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_voc_expr_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_voc_expr_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_voc_expr_inter']) . "</td>";

                // Entendimiento Párrafos
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_enten_parra_bru']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_enten_parra_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_enten_parra_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_enten_parra_inter']) . "</td>";

                // Rep Números Directa
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num_forw1o2_bru']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num_forw1o2_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num_forw1o2_perce']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_rep_num_forw1o2_inter']) . "</td>";

                // Rep Números Inversa
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num_backw1o2_bru']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num_backw1o2_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num_backw1o2_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_rep_num_backw1o2_inter']) . "</td>";

                // Rep Números Total
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num1o2_tot_bru']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num1o2_tot_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_rep_num1o2_tot_perce']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_rep_num1o2_tot_inter']) . "</td>";

                // Secuencias Familiares
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_sec_famil1o2_bru']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_sec_famil1o2_esc']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sub_sec_famil1o2_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['sub_sec_famil1o2_inter']) . "</td>";

                // --- Índices ---
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_leng_tot_stand']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_leng_tot_percen']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['celf921_leng_tot_interp']) . "</td>";

                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_leng_recep_stand']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_leng_recep_perce']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['celf921_leng_recep_inter']) . "</td>";

                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_leng_expre_stand']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_leng_expre_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['celf921_leng_expre_interpre']) . "</td>";

                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_conte_stand']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_conte_perc']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['celf921_conte_interp']) . "</td>";

                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_mem_leng_stand']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_mem_leng_percent']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['celf921_mem_leng_inter']) . "</td>";

                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_mem_trab_stand']) . "</td>";
                $resultadosHtml .= "<td>" . htmlspecialchars($Fila['celf921_mem_trab_percen']) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . htmlspecialchars($Fila['celf921_mem_trab_interp']) . "</td>";

                // --- Clínicos ---
                $requiereTerapia = ($Fila['dat_clin_ref_ater'] == 1) ? 'Sí' : 'No';
                $resultadosHtml .= "<td>" . $requiereTerapia . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . nl2br(htmlspecialchars($Fila['dat_clin_observ_clin'])) . "</td>";
                $resultadosHtml .= "<td class='col-text-limited'>" . nl2br(htmlspecialchars($Fila['dat_clin_otra_observ'])) . "</td>";

                $resultadosHtml .= "</tr>";
            }
            $resultadosHtml .= "</tbody></table></div>";
        } else {
            if (!empty($criterioBusqueda)) {
                $resultadosHtml = "<p class='info-message'>No se encontraron registros CELF 9-21 para el criterio de búsqueda.</p>";
            } else {
                $resultadosHtml = "<p class='info-message'>No hay registros de evaluación CELF 9-21 para eliminar.</p>";
            }
        }
}
?>

<!DOCTYPE HTML>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="../Css/EstilosConsultas.css">
    <title>Eliminar Evaluación CELF 9-21</title>
    <style>
        .sticky-col { position: -webkit-sticky; position: sticky; left: 0; background-color: #fff; z-index: 1; border-right: 2px solid #e1e1e1; }
        .tabla-container table thead th.sticky-col { z-index: 2; }
        .input-box .btn, .input-box .btn2 { margin-top: 26px; }
        @media (max-width: 768px) { .input-box .btn, .input-box .btn2 { margin-top: 0; } }
        .info-message, .error-message { padding: 15px; margin: 20px 0; border: 1px solid transparent; border-radius: 4px; text-align: center; }
        .info-message { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; }
        .error-message { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
        
        /* Limitar ancho de columnas de texto largo */
        .col-text-limited { max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .col-text-limited:hover { white-space: normal; overflow: visible; position: relative; z-index: 10; background: #fff; box-shadow: 0 0 5px #ccc; }
    </style>
</head>
<body>
    <div class="container">
        <h1 class="tittle">Eliminar Registros de Evaluación CELF 9-21</h1>
        <form method="post" action="DCELF9-21.php">
            <div class="dentro">
                <div class="input-box">
                    <label for="Nombre" class="detalles">Buscar Paciente (Nombre o Apellido):</label>
                    <input type="text" placeholder="Escriba aquí..." name="Nombre" id="Nombre" value="<?php echo htmlspecialchars($criterioBusqueda); ?>">
                </div>
                <div class="input-box">
                    <input type="submit" value="Buscar" class="btn">
                </div>
                <div class="input-box exit">
                    <a href="<?php echo htmlspecialchars($urlMenuCorrespondiente); ?>" class="btn2">Salir</a>
                </div>
            </div>
        </form>

        <?php echo $resultadosHtml; ?>
    </div>

    <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <script>
        document.addEventListener('DOMContentLoaded', function() {
            const container = document.querySelector('.container');
            
            // Delegación de eventos para el botón eliminar
            container.addEventListener('click', function(event) {
                const deleteButton = event.target.closest('.del-btn');
                if (!deleteButton) return;

                event.preventDefault();
                const itemId = deleteButton.dataset.id;
                const rowToRemove = deleteButton.closest('tr');

                Swal.fire({
                    title: '¿Estás seguro?',
                    text: "Esta acción es irreversible y eliminará el registro de CELF 9-21.",
                    icon: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#d33',
                    cancelButtonColor: '#3085d6',
                    confirmButtonText: 'Sí, ¡eliminar!',
                    cancelButtonText: 'Cancelar'
                }).then((result) => {
                    if (result.isConfirmed) {
                        Swal.fire({
                            title: 'Eliminando...',
                            allowOutsideClick: false,
                            didOpen: () => { Swal.showLoading(); }
                        });

                        fetch(`DCELF9-21.php?action=delete&id=${itemId}`)
                            .then(response => response.json())
                            .then(data => {
                                if (data.success) {
                                    Swal.fire('¡Eliminado!', data.message, 'success');
                                    if (rowToRemove) {
                                        rowToRemove.remove();
                                        // Comprobar si la tabla quedó vacía
                                        const tbody = container.querySelector('table tbody');
                                        if (tbody && tbody.children.length === 0) {
                                            const tableContainer = container.querySelector('.tabla-container');
                                            if(tableContainer) tableContainer.innerHTML = "<p class='info-message'>No quedan registros para mostrar.</p>";
                                        }
                                    }
                                } else {
                                    Swal.fire('Error', data.message, 'error');
                                }
                            })
                            .catch(error => {
                                Swal.fire('Error de Conexión', 'No se pudo comunicar con el servidor.', 'error');
                            });
                    }
                });
            });
        });
    </script>
</body>
</html>