<?php

session_start(); // Iniciar sesión al principio

// 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ú 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;
         }

$criterioBusqueda = '';
$resultadosHtml = '';
$totalFilas = 0;

// --- Lógica de Búsqueda y Consulta a la Base de Datos ---
// Esta parte ahora se ejecuta SIEMPRE que se carga la página,
// independientemente de si es un método GET (carga inicial) o POST (envío del formulario).

// Solo obtener el criterio de búsqueda si el formulario fue enviado (POST).
// Si es GET, $criterioBusqueda se quedará como '', lo que causará que se muestren todos.
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $criterioBusqueda = isset($_POST['Nombre']) ? trim($_POST['Nombre']) : '';
}
// Si es GET, $criterioBusqueda ya es '' (vacío), lo que está bien para mostrar todos.


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

// 1. Preparar parámetros para la función
$columnasSeleccionadas = "p.*"; 
$sqlWhere = "";
$params = array();
$types = "";
$sqlOrder = " ORDER BY p.apellido_paterno_paciente, p.apellido_materno_paciente, p.nombre_paciente";

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

// 2. Ejecutar la consulta centralizada
$pacientes = consultarPacientes(null, $columnasSeleccionadas, $sqlWhere, $params, $types, $sqlOrder, $errorMessage);

// 3. Construir el HTML
if ($pacientes === false) {
    $resultadosHtml = "<p class='error-message'>" . htmlspecialchars($errorMessage) . "</p>";
} else {
    if (count($pacientes) > 0) {
        $resultadosHtml .= "<div class='tabla-container'><table><thead><tr>";
        $resultadosHtml .= "<th>Clave Paciente</th><th>Código</th><th>Nombre</th><th>A. Paterno</th><th>A. Materno</th><th>F. Nacimiento</th><th>Acción</th>";
        $resultadosHtml .= "</tr></thead><tbody>";

        foreach ($pacientes as $Fila) {
            $resultadosHtml .= "<tr>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['clave_paciente']) . "</td>";
            $resultadosHtml .= "<td>" . htmlspecialchars($Fila['codigo_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>";
            
            // Usamos http_build_query para simplificar el enlace a CICELF5-8.php
            $linkParams = http_build_query($Fila);
            $resultadosHtml .= "<td><a href='CICELF5-8.php?{$linkParams}' class='btn-outline btn-small'>Agregar</a></td>";
            $resultadosHtml .= "</tr>";
        }
        $resultadosHtml .= "</tbody></table></div>";
    } else {
        $resultadosHtml = "<p class='info-message'>" . (!empty($criterioBusqueda) ? "No se encontraron pacientes." : "No hay pacientes registrados.") . "</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"> <!-- Asegúrate que este path es correcto -->
    <title>Agregar Pacientes - CELF 5-8</title>
    <style>
        /* Estilos adicionales o específicos para esta página pueden ir aquí o en el CSS */
        .btn-small {
            padding: 5px 10px;
            font-size: 0.85rem;
            height: auto;
            line-height: normal;
            min-width: auto;
        }
        .info-message, .error-message {
            text-align: center;
            padding: 15px;
            margin-top: 20px;
            border-radius: 5px;
        }
        .info-message {
            background-color: #e9f5fd;
            color: #3c70a0;
            border: 1px solid #bce8f1;
        }
        .error-message {
            background-color: #fde9e9;
            color: #a03c3c;
            border: 1px solid #f1bcbc;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 class="tittle">Agregar Pacientes para CELF 5-8</h1>

        <!-- El formulario sigue siendo necesario para la búsqueda por POST -->
        <form method="post" action="CCELF5-8.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); ?>" required>
                </div>
                <div class="input-box">
                    <input type="submit" value="Buscar" class="btn" style="margin-top: 26px;">
                </div>
                 <div class="input-box exit">
                    <a href="<?php echo htmlspecialchars($urlMenuCorrespondiente); ?>" class="btn2" style="margin-top: 26px;">Salir</a>
                </div>
            </div>
        </form>
        <?php
        // Ahora, simplemente imprimimos los resultados o mensajes generados
        // por la lógica de arriba, que se ejecuta en ambos casos (GET y POST).
        echo $resultadosHtml;
        ?>
    </div>
</body>
</html>