<?php
session_start();

// 1. Verificación de sesión más robusta y obtención del rol
if (!isset($_SESSION['Inicio']) || $_SESSION['Inicio'] !== "Ok" || !isset($_SESSION['Rol'])) {
    // Si no hay sesión válida o no hay rol, redirigir al login
    // Asegúrate de que login.php esté en el directorio padre
    header("Location: ../login.php?m=5"); // m=5 para "acceso no autorizado"
    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:
        // Si el rol no es reconocido, redirigir al login
        header("Location: ../login.php?m=6"); // m=6 para "rol desconocido o sesión inválida"
        exit;
}
// Todos los roles pueden acceder a esta página para iniciar una evaluación

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

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



// --- INICIO DEL NUEVO BLOQUE CON ConexionInb.php ---
include("../Php/ConexionInb.php");
$errorMessage = '';

// 1. Preparar parámetros para la función
$columnasSeleccionadas = "p.*"; // Traemos todos los datos del paciente
$sqlWhere = "";
$params = [];
$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 = [$criterio, $criterio, $criterio];
    $types = "sss";
}

// 2. Llamar a la función centralizada (null porque no hay JOIN con tabla bele aquí)
$pacientes = consultarPacientes(null, $columnasSeleccionadas, $sqlWhere, $params, $types, $sqlOrder, $errorMessage);

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

        // Usamos foreach en lugar de while
        foreach ($pacientes as $Fila) {
            $datosJson = htmlspecialchars(json_encode($Fila), ENT_QUOTES, 'UTF-8');
            $clavePaciente = htmlspecialchars($Fila['clave_paciente']);
            $nombrePaciente = htmlspecialchars($Fila['nombre_paciente']);
            $codigoPaciente = htmlspecialchars($Fila['codigo_paciente']);
            $apPaterno = htmlspecialchars($Fila['apellido_paterno_paciente']);
            $apMaterno = htmlspecialchars($Fila['apellido_materno_paciente']);
            $fechaNac = htmlspecialchars($Fila['fecha_nacimiento_paciente']);
            $sexoPaciente = htmlspecialchars($Fila['sexo_paciente']);
            $semanasgesta = htmlspecialchars($Fila['semanas_gestacion']);

            $resultadosHtml .= "<tr>";
            $resultadosHtml .= "<td>" . $clavePaciente . "</td>";
            $resultadosHtml .= "<td>" . $codigoPaciente . "</td>";
            $resultadosHtml .= "<td>" . $nombrePaciente . "</td>";
            $resultadosHtml .= "<td>" . $apPaterno . "</td>";
            $resultadosHtml .= "<td>" . $apMaterno . "</td>";
            $resultadosHtml .= "<td>" . $fechaNac . "</td>";
            $resultadosHtml .= "<td>" . $sexoPaciente . "</td>";
            $resultadosHtml .= "<td>" . $semanasgesta . "</td>";
            // Tu mismo enlace a CIBele.php
             $resultadosHtml .= "<td>
        <button type='button' onclick='enviarABele($datosJson)' class='btn-outline btn-small' style='cursor:pointer;'>
            Agregar
        </button>
    </td>";
    $resultadosHtml .= "</tr>";
            $resultadosHtml .= "</tr>";
        }
        $resultadosHtml .= "</tbody></table></div>";
    } else {
        if (!empty($criterioBusqueda)) {
            $resultadosHtml = "<p class='info-message'>No se encontraron pacientes con el criterio '" . htmlspecialchars($criterioBusqueda) . "'.</p>";
        } else {
            $resultadosHtml = "<p class='info-message'>No hay pacientes registrados. Realice una búsqueda o agregue pacientes nuevos.</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="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>Agregar Evaluación Bele Articulación</title>
    <style>
        .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">Seleccionar Paciente para Evaluación Bele Articulación</h1>

        <form method="post" action="CBele.php"> <!-- action apunta a sí mismo -->
            <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">
                    <!-- 3. Usar la URL dinámica para el botón Salir -->
                    <a href="<?php echo htmlspecialchars($urlMenuCorrespondiente); ?>" class="btn2" style="margin-top: 26px;">Salir</a>
                </div>
            </div>
        </form>

        <?php echo $resultadosHtml; ?>
    </div>
</body>
<!-- Formulario invisible que se usará para todos los pacientes -->
<form id="formPostBele" method="POST" action="CIBele.php" style="display:none;"></form>

<script>
function enviarABele(paciente) {
    const form = document.getElementById('formPostBele');
    form.innerHTML = ''; // Limpiamos envíos anteriores

    // Creamos los campos dinámicamente según lo que venga en el objeto paciente
    for (const campo in paciente) {
        if (paciente.hasOwnProperty(campo)) {
            const input = document.createElement('input');
            input.type = 'hidden';
            input.name = campo;
            input.value = paciente[campo];
            form.appendChild(input);
        }
    }

    // Enviamos el formulario
    form.submit();
}
</script>
</html>