<?php
session_start();

// 1. Verificación de sesión y rol
if (!isset($_SESSION['Inicio']) || $_SESSION['Inicio'] !== "Ok" || !in_array($_SESSION['Rol'], array("Administrativo", "Titular"))) {
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=../login.php?m=5">');
    exit;
}

// 2. Determinar la URL del menú
$urlMenuCorrespondiente = ($_SESSION['Rol'] === "Administrativo") ? "../MenuAdministrativo.php" : "../MenuTitular.php";

// --- Variables para filtros y resultados ---
$Nombre = "";
$datosParaTabla = array();
$TotalFilas = 0;
$errorMessage = "";
$infoMessage = "";

// --- Lógica de captura de filtros ---
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['Nombre'])) {
    $Nombre = strtoupper(trim($_POST['Nombre']));
}

// --- Lógica de conexión y consulta ---
include("../Php/ConexionInb.php");
$errorMessage = '';

// 1. Preparar parámetros para la función centralizada
$columnas = "p.*, b.*"; // p=paciente, b=sondeo
$sqlWhere = "";
$params_values = array();
$types = "";
$sqlOrder = " ORDER BY p.apellido_paterno_paciente, p.apellido_materno_paciente, p.nombre_paciente, b.fecha_evaluacion DESC";

// 2. Construcción del filtro de búsqueda segura
if (!empty($Nombre)) {
    $sqlWhere = " WHERE (UPPER(p.nombre_paciente) LIKE ? 
                    OR UPPER(p.apellido_paterno_paciente) LIKE ? 
                    OR UPPER(p.apellido_materno_paciente) LIKE ?)";
    $searchTerm = "%" . $Nombre . "%";
    $params_values = array($searchTerm, $searchTerm, $searchTerm);
    $types = "sss";
}

// 3. Llamar a la función centralizada (Unimos con la tabla 'sondeo')
$datosParaTabla = consultarPacientes(
    'sondeo', 
    $columnas, 
    $sqlWhere, 
    $params_values, 
    $types, 
    $sqlOrder, 
    $errorMessage
);

// 4. Procesar resultados
if ($datosParaTabla !== false) {
    $TotalFilas = count($datosParaTabla);
    if ($TotalFilas == 0) {
        $infoMessage = !empty($Nombre) ? "No se encontraron registros de Sondeo para '" . htmlspecialchars($Nombre) . "'." : "No hay registros de Sondeo para mostrar.";
    }
}
?>
<!DOCTYPE HTML>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Modificar Evaluación Sondeo</title>
    <link rel="stylesheet" href="../Css/EstilosConsultas.css">
    <style>
        .sticky-col { 
            position: sticky; 
            left: 0; 
            background-color: white; 
            z-index: 1; 
            border-right: 2px solid #ddd;
        }
        .tabla-container table thead th.sticky-col { 
            background-color: #f2f2f2;
            z-index: 3;
        }
        .col-text { min-width: 250px; max-width: 400px; white-space: pre-wrap; }
        .results-info, .error-message { text-align: center; margin: 15px auto; padding: 10px; border-radius: 4px; max-width: 800px; }
        .results-info { color: #555; background-color: #f0f0f0; border: 1px solid #ddd;}
        .error-message { color: #a94442; background-color: #f2dede; border: 1px solid #ebccd1; }
    </style>
</head>
<body>
    <div class="container">
        <h1 class="tittle">Modificar Registros de Evaluación Sondeo</h1>
        
        <form method="post" action="USondeo.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í para buscar..." name="Nombre" id="Nombre" value="<?php echo htmlspecialchars($Nombre); ?>">
                </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 if (!empty($errorMessage)): ?>
            <div class="error-message"><?php echo $errorMessage; ?></div>
        <?php elseif (!empty($infoMessage)): ?>
            <div class="results-info"><p><?php echo $infoMessage; ?></p></div>
        <?php endif; ?>

        <?php if (empty($errorMessage) && $TotalFilas > 0): ?>
            <div class="tabla-container">
                <table>
                    <thead>
                        <tr>
                            <th rowspan="2" class="sticky-col">Modificar</th>
                            <th colspan="5">DATOS DEL PACIENTE</th>
                            <th colspan="7">RESULTADOS DE LA EVALUACIÓN SONDEO</th>
                        </tr>
                        <tr>
                            <!-- Paciente -->
                            <th>Clave Paciente</th>
                            <th>Nombre</th>
                            <th>A. Paterno</th>
                            <th>A. Materno</th>
                            <th>F. Nacimiento</th>
                            <!-- Sondeo -->
                            <th>F. Evaluación</th>
                            <th>Edad</th>
                            <th>Edad Corregida</th>
                            <th>Rango Edad</th>
                            <th>P. Bruta</th>
                            <th class="col-text">Fonemas Retraso</th>
                            <th class="col-text">Interpretación</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($datosParaTabla as $Fila): ?>
                        <tr>
                            <td class="sticky-col">
                                <a href="UISondeo.php?<?php echo http_build_query($Fila); ?>" class="btn-outline btn-small modify-btn">Modificar</a>
                            </td>
                            <!-- Datos del Paciente -->
                            <td><?php echo htmlspecialchars($Fila['clave_paciente']); ?></td>
                            <td><?php echo htmlspecialchars($Fila['nombre_paciente']); ?></td>
                            <td><?php echo htmlspecialchars($Fila['apellido_paterno_paciente']); ?></td>
                            <td><?php echo htmlspecialchars($Fila['apellido_materno_paciente']); ?></td>
                            <td><?php echo htmlspecialchars($Fila['fecha_nacimiento_paciente']); ?></td>
                            <!-- Datos de la Evaluación Sondeo -->
                            <td><?php echo htmlspecialchars($Fila['fecha_evaluacion']); ?></td>
                            <td><?php echo htmlspecialchars($Fila['edad']); ?></td>
                            <td><?php echo htmlspecialchars(isset($Fila['edad_corregida']) ? $Fila['edad_corregida'] : ''); ?></td>
                            <td><?php echo htmlspecialchars(isset($Fila['rango_edad']) ? $Fila['rango_edad'] : ''); ?></td>
                            <td><?php echo htmlspecialchars($Fila['sond_art_punt_brutosa']); ?></td>
                            <td class="col-text"><?php echo nl2br(htmlspecialchars($Fila['sond_articul_fonem_con_retras'])); ?></td>
                            <td class="col-text"><?php echo nl2br(htmlspecialchars($Fila['sond_articu_interpr'])); ?></td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        <?php endif; ?>

        <!-- Alertas de SweetAlert -->
        <?php if (isset($_GET['m'])): ?><div class="flash-data" data-flashdata="<?php echo htmlspecialchars($_GET['m']); ?>"></div><?php endif; ?>
        <?php if (isset($_GET['n'])): ?><div class="flash-data-error" data-flashdata="<?php echo htmlspecialchars($_GET['n']); ?>"></div><?php endif; ?>
    </div>
    
    <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <script>
        document.addEventListener('DOMContentLoaded', function() {
            var modifyButtons = document.querySelectorAll('.modify-btn');
            for (var i = 0; i < modifyButtons.length; i++) {
                modifyButtons[i].addEventListener('click', function(e) {
                    e.preventDefault();
                    var href = this.getAttribute('href');
                    Swal.fire({
                        title: '¿Desea modificar este registro?',
                        text: "Será redirigido al formulario para editar los datos.",
                        icon: 'question',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Sí, modificar',
                        cancelButtonText: 'Cancelar'
                    }).then(function(result) {
                        if (result.isConfirmed) {
                            window.location.href = href;
                        }
                    });
                });
            }

            var flashdata = document.querySelector('.flash-data');
            if (flashdata) {
                var msg = (flashdata.getAttribute('data-flashdata') === 'sondeo_no_changes_made') 
                    ? 'Operación completada, pero no se realizaron cambios.' 
                    : 'El registro de Sondeo se modificó exitosamente.';
                Swal.fire({ title: '¡Éxito!', text: msg, icon: 'success' });
            }

            var flashdataError = document.querySelector('.flash-data-error');
            if (flashdataError) {
                Swal.fire({ title: 'Error', text: 'No se pudo completar la operación de modificación.', icon: 'error' });
            }
        });
    </script>
</body>
</html>