<?php
session_start();

// --- INICIO DEL BLOQUE AÑADIDO PARA MENÚS ---
// 1. Verificación de sesión y obtención del rol
if (!isset($_SESSION['Inicio']) || $_SESSION['Inicio'] !== "Ok" || !isset($_SESSION['Rol'])) {
    header('Location: ../Login.php?m=5');
    exit;
}

// 2. Determinar la URL del menú correspondiente basada en el rol
$urlMenuCorrespondiente = ""; 

switch ($_SESSION['Rol']) {
    case "Administrativo":
        $urlMenuCorrespondiente = "../MenuAdministrativo.php";
        break;
    case "Titular":
        $urlMenuCorrespondiente = "../MenuTitular.php";
        break;
    case "Pasante":
        $urlMenuCorrespondiente = "../MenuPasante.php";
        break;
    default:
        header('Location: ../Login.php?m=6');
        exit;
}

// INCLUIMOS EL NUEVO ARCHIVO CENTRALIZADO
include("../Php/ConexionInb.php");

// --- INICIO: MANEJO DE LA PETICIÓN AJAX PARA ELIMINAR ---
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['action']) && $_GET['action'] === 'delete' && isset($_GET['id'])) {
    $idToDelete = $_GET['id'];
    $Con = Conectar(); // Conectar() funciona gracias a ConexionInb.php
    $response = array('success' => false, 'message' => 'Error desconocido al procesar la eliminación.');

    if (!filter_var($idToDelete, FILTER_VALIDATE_INT)) {
         $response['message'] = 'ID de registro no válido.';
    } else {
        $SQL_DELETE = "DELETE FROM cdi_i 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 con ID ' . htmlspecialchars($idToDelete) . ' o no se pudo eliminar.';
            }
            mysqli_stmt_close($stmt);
        } else {
            $response['message'] = 'Error interno al preparar la eliminación: ' . mysqli_error($Con);
        }
    }

    Cerrar($Con);
    header('Content-Type: application/json');
    echo json_encode($response);
    exit;
}
// --- FIN: MANEJO DE LA PETICIÓN AJAX ---


// =================== INICIO: BLOQUE DE CONSULTA REFACTORIZADO ===================
$criterioBusqueda = '';
$resultadosHtml = '';
$errorMessage = '';

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

// 1. Preparar las instrucciones para la función
// Pedimos datos del paciente (p.*) y de la evaluación (b.*, que será cdi_i)
$columnasSeleccionadas = "p.*, b.*"; 
$sqlWhere = "";
$params = array();
$types = "";
$sqlOrder = " ORDER BY p.apellido_paterno_paciente, p.nombre_paciente";

// 2. Lógica de búsqueda
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 . "%";
    
    // Usamos array() para mantener la compatibilidad con tu PHP 5.4
    $params = array($searchTerm, $searchTerm, $searchTerm);
    $types = "sss";
}

// 3. Llamada a la función (Le pasamos 'cdi_i' para que haga el JOIN con esa tabla)
$datosCDI = consultarPacientes(
    'cdi_i', 
    $columnasSeleccionadas, 
    $sqlWhere, 
    $params, 
    $types, 
    $sqlOrder, 
    $errorMessage
);

// 4. Procesamiento de resultados para crear la tabla
if ($datosCDI === false) {
    // Si la función nos devuelve false, hubo un error de conexión o SQL
    $resultadosHtml = "<p class='error-message'>Error al consultar: " . htmlspecialchars($errorMessage) . "</p>";
} else {
    $totalFilas = count($datosCDI);
    if ($totalFilas > 0) {
        $resultadosHtml .= "<div class='tabla-container'><table><thead>";

        $resultadosHtml .= "<tr>";
        $resultadosHtml .= "<th rowspan='2' class='sticky-col'>Acción</th>";
        $resultadosHtml .= "<th colspan='5'>Datos del Paciente</th>";
        $resultadosHtml .= "<th colspan='20'>Datos de la Prueba CDI-I</th>";
        $resultadosHtml .= "</tr>";

        $resultadosHtml .= "<tr>";
        // Datos del paciente
        $resultadosHtml .= "<th>Clave Paciente</th><th>Nombre</th><th>A. Paterno</th><th>A. Materno</th><th>F. Nacimiento</th>";

        // Datos de la prueba CDI-I
        $resultadosHtml .= "<th>Fecha Eval.</th><th>Edad</th><th>Edad Corregida</th><th>Semanas Gestacion</th><th>Sexo Paciente</th>";
        $resultadosHtml .= "<th>Rango Edad</th><th>Bruto Comp. Frases</th><th>Bruto Comp. Palabras</th><th>Bruto Producción</th>";
        $resultadosHtml .= "<th>Bruto Gest. Temp.</th><th>Bruto Gest. Tard.</th><th>Bruto Gest. Tot.</th><th>% Comp. Frases</th>";
        $resultadosHtml .= "<th>% Comp. Palabras</th><th>% Producción</th><th>% Gest. Temp.</th><th>% Gest. Tard.</th>";
        $resultadosHtml .= "<th>% Gest. Tot.</th><th>Interpretación</th><th>Seguimiento</th><th>Próx. Eval.</th>";
        $resultadosHtml .= "<th>Referir a Terapia</th><th>Datos Clín. Adic.</th>";
        $resultadosHtml .= "</tr></thead><tbody>";

        // Iteramos los resultados limpios que nos dio la función
        foreach ($datosCDI as $Fila) {
            $resultadosHtml .= "<tr data-id='" . htmlspecialchars($Fila['id']) . "'>";
            $resultadosHtml .= "<td class='sticky-col'><a href='#' class='btn-outline btn-small del-btn' data-id='" . htmlspecialchars($Fila['id']) . "'>Eliminar</a></td>";

            // Datos del 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>";

            // Datos de la prueba CDI-I
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['fecha_evaluacion']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['edad']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['edad_corregida']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['semanas_gestacion']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['sexo_paciente']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['rango_edad']) . "</td>";

            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_bruto_comprension_frases']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_comprension_palabras']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_produccion']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_gestos_tempranos']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_gestos_tardios']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_gestos_totales']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_percentil_comprension_frases']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_percentil_comprension_palabras']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_percentil_produccion']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_percentil_gestos_tempranos']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_percentil_gestos_tardios']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['invent_percentil_gestos_totales']) . "</td>";
            $resultadosHtml .= "<td>" . nl2br(htmlspecialchars($Fila['arthur1_interpretacion'])) . "</td>";
            $resultadosHtml .= "<td>" . nl2br(htmlspecialchars($Fila['arthur1_seguimiento'])) . "</td>";
            $resultadosHtml .= "<td>" . nl2br(htmlspecialchars($Fila['arthur1_proxeval'])) . "</td>";
            $referir = ($Fila['invent_datos_clinicos_referir_aterapia'] == 1) ? 'Sí' : 'No';
            $resultadosHtml .= "<td>" . htmlspecialchars($referir) . "</td>";
            $resultadosHtml .= "<td>" . nl2br(htmlspecialchars($Fila['inventario_datos_clinicos'])) . "</td>";
            $resultadosHtml .= "</tr>";
        }
        $resultadosHtml .= "</tbody></table></div>";
    } else {
        if (!empty($criterioBusqueda)) {
            $resultadosHtml = "<p class='info-message'>No se encontraron registros de CDI-I para pacientes con el criterio '" . htmlspecialchars($criterioBusqueda) . "'.</p>";
        } else {
             $resultadosHtml = "<p class='info-message'>No hay registros de evaluación de CDI-I en la base de datos.</p>";
        }
    }
}
// =================== FIN: BLOQUE DE CONSULTA REFACTORIZADO ===================
?>
<!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="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Montserrat:wght@700&display=swap" rel="stylesheet">
    <link rel="icon" type="image/png" href="./img/UNAM amarillo.png"> 
    <link rel="stylesheet" href="../Css/EstilosConsultas.css">
    <title>Eliminar Evaluación CDI-I</title>
    <style>
        .sticky-col { position: -webkit-sticky; position: sticky; left: 0; background-color: #fff; z-index: 1; }
        .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-bottom: 20px; border: 1px solid transparent; border-radius: 4px; }
        .info-message { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; }
        .error-message { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
        
        td {
            word-wrap: break-word;
            max-width: 300px;
            white-space: pre-wrap;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 class="tittle">Eliminar Registros de Evaluación CDI-I</h1>
        
        <form method="post" action="DCDI_I.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');
            container.addEventListener('click', function(event) {
                const deleteButton = event.target.closest('.del-btn');
                if (deleteButton) {
                    event.preventDefault();
                    const itemId = deleteButton.dataset.id;
                    const rowToRemove = deleteButton.closest('tr');

                    Swal.fire({
                        title: '¿Estás seguro de eliminar este registro?',
                        text: "Esta acción es irreversible y eliminará la evaluación de CDI-I.",
                        icon: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Sí, eliminar',
                        cancelButtonText: 'Cancelar'
                    }).then((result) => {
                        if (result.isConfirmed) {
                            Swal.fire({
                                title: 'Eliminando...',
                                text: 'Por favor, espera.',
                                icon: 'info',
                                showConfirmButton: false,
                                allowOutsideClick: false,
                                didOpen: () => { Swal.showLoading(); }
                            });

                            fetch(`DCDI_I.php?action=delete&id=${encodeURIComponent(itemId)}`, {
                                method: 'GET',
                            })
                            .then(response => response.json())
                            .then(data => {
                                Swal.close();
                                if (data.success) {
                                    Swal.fire('¡Eliminado!', data.message, 'success');
                                    if (rowToRemove) {
                                        rowToRemove.remove();
                                        const tbody = container.querySelector('.tabla-container tbody');
                                        if (tbody && tbody.children.length === 0) {
                                            const tablaContainer = container.querySelector('.tabla-container');
                                            const searchInput = document.getElementById('Nombre');
                                            if (searchInput && searchInput.value.trim() !== '') {
                                                 tablaContainer.innerHTML = "<p class='info-message'>No hay más registros CDI-I encontrados para este criterio de búsqueda.</p>";
                                            } else {
                                                tablaContainer.innerHTML = "<p class='info-message'>No hay registros de evaluación CDI-I en la base de datos.</p>";
                                            }
                                        }
                                    }
                                } else {
                                    Swal.fire('Error', data.message, 'error');
                                }
                            })
                            .catch(error => {
                                Swal.close();
                                console.error("Fetch Error:", error);
                                Swal.fire('Error de conexión', 'Ocurrió un error al comunicarse con el servidor.', 'error');
                            });
                        }
                    });
                }
            });
        });
    </script>
</body>
</html>