<?php
session_start();
date_default_timezone_set('America/Mexico_City');

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

// 2. Determinar la URL del menú para redirección
$urlMenuCorrespondiente = "";
switch ($_SESSION['Rol']) {
    case "Administrativo":
        $urlMenuCorrespondiente = "../MenuAdministrativo.php";
        break;
    case "Titular":
        $urlMenuCorrespondiente = "../MenuTitular.php";
        break;
    case "Pasante":
        $urlMenuCorrespondiente = "../MenuPasante.php";
        break;
    default:
        print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=../login.php?m=6">');
        exit;
}

// 3. Recibir datos del formulario (usando $_POST) - VERSIÓN CORREGIDA
$usuario_registro = $_SESSION['Usuario'];
$clave_paciente = isset($_POST['clave_paciente']) ? $_POST['clave_paciente'] : null;
$fecha_evaluacion = isset($_POST['fecha_evaluacion']) ? $_POST['fecha_evaluacion'] : null;
$edad = isset($_POST['edad']) ? $_POST['edad'] : null;
$edad_corregida = (isset($_POST['edad_corregida']) && $_POST['edad_corregida'] !== '') ? $_POST['edad_corregida'] : null;
$rango_edad = (isset($_POST['rango_edad']) && $_POST['rango_edad'] !== '') ? $_POST['rango_edad'] : null;

// Puntuaciones Brutas - Convierte campos vacíos a NULL, pero permite el valor "0"
$bruto_frases = (isset($_POST['invent_bruto_comprension_frases']) && $_POST['invent_bruto_comprension_frases'] !== '') ? $_POST['invent_bruto_comprension_frases'] : null;
$bruto_palabras = (isset($_POST['invent_comprension_palabras']) && $_POST['invent_comprension_palabras'] !== '') ? $_POST['invent_comprension_palabras'] : null;
$bruto_produccion = (isset($_POST['invent_produccion']) && $_POST['invent_produccion'] !== '') ? $_POST['invent_produccion'] : null;
$gestos_tempranos = (isset($_POST['invent_gestos_tempranos']) && $_POST['invent_gestos_tempranos'] !== '') ? $_POST['invent_gestos_tempranos'] : null;
$gestos_tardios = (isset($_POST['invent_gestos_tardios']) && $_POST['invent_gestos_tardios'] !== '') ? $_POST['invent_gestos_tardios'] : null;
$gestos_totales = (isset($_POST['invent_gestos_totales']) && $_POST['invent_gestos_totales'] !== '') ? $_POST['invent_gestos_totales'] : null;

// Percentiles - Convierte campos vacíos a NULL, pero permite el valor "0"
$percentil_frases = (isset($_POST['invent_percentil_comprension_frases']) && $_POST['invent_percentil_comprension_frases'] !== '') ? $_POST['invent_percentil_comprension_frases'] : null;
$percentil_palabras = (isset($_POST['invent_percentil_comprension_palabras']) && $_POST['invent_percentil_comprension_palabras'] !== '') ? $_POST['invent_percentil_comprension_palabras'] : null;
$percentil_produccion = (isset($_POST['invent_percentil_produccion']) && $_POST['invent_percentil_produccion'] !== '') ? $_POST['invent_percentil_produccion'] : null;
$percentil_gestos_tempranos = (isset($_POST['invent_percentil_gestos_tempranos']) && $_POST['invent_percentil_gestos_tempranos'] !== '') ? $_POST['invent_percentil_gestos_tempranos'] : null;
$percentil_gestos_tardios = (isset($_POST['invent_percentil_gestos_tardios']) && $_POST['invent_percentil_gestos_tardios'] !== '') ? $_POST['invent_percentil_gestos_tardios'] : null;
$percentil_totales = (isset($_POST['invent_percentil_gestos_totales']) && $_POST['invent_percentil_gestos_totales'] !== '') ? $_POST['invent_percentil_gestos_totales'] : null;

// Datos Clínicos
$arthur1_interpretacion = (isset($_POST['arthur1_interpretacion']) && $_POST['arthur1_interpretacion'] !== '') ? $_POST['arthur1_interpretacion'] : null;
$arthur1_seguimiento = (isset($_POST['arthur1_seguimiento']) && $_POST['arthur1_seguimiento'] !== '') ? $_POST['arthur1_seguimiento'] : null;
$prox_eval = (isset($_POST['invent_prox_eval']) && $_POST['invent_prox_eval'] !== '') ? $_POST['invent_prox_eval'] : null;
$referir_terapia = (isset($_POST['invent_datos_clinicos_referir_aterapia']) && $_POST['invent_datos_clinicos_referir_aterapia'] !== '') ? $_POST['invent_datos_clinicos_referir_aterapia'] : null;
$inventario_datos_clinicos = (isset($_POST['inventario_datos_clinicos']) && $_POST['inventario_datos_clinicos'] !== '') ? $_POST['inventario_datos_clinicos'] : null;

$fecha_registro = date('Y-m-d H:i:s');


// 4. Validación de datos obligatorios
if (empty($clave_paciente) || empty($fecha_evaluacion) || $edad === null) {
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=cdi_missing_data">');
    exit;
}

include("../Php/Conexion.php");
$Con = Conectar();

if (!$Con) {
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=cdi_db_conn_error">');
    exit;
}

// 5. Sentencia Preparada para la inserción
// ** OJO: Los nombres de las COLUMNAS en la BD deben ser correctos. Asumo que estos están bien. **
$SQL = "INSERT INTO cdi_i (
            clave_paciente, fecha_evaluacion, edad, edad_corregida, rango_edad ,
            invent_bruto_comprension_frases, invent_comprension_palabras, invent_produccion, 
            invent_gestos_tempranos, invent_gestos_tardios, invent_gestos_totales,
            invent_percentil_comprension_frases, invent_percentil_comprension_palabras, invent_percentil_produccion,
            invent_percentil_gestos_tempranos, invent_percentil_gestos_tardios, invent_percentil_gestos_totales,
            arthur1_interpretacion, arthur1_seguimiento, arthur1_proxeval,
            invent_datos_clinicos_referir_aterapia,  
            inventario_datos_clinicos, 
            usuario_registro, fecha_registro
        ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; // 24 '?'

$stmt = mysqli_prepare($Con, $SQL);

if ($stmt) {
    // Definimos los tipos de datos: i = integer, s = string
    mysqli_stmt_bind_param($stmt, "isssssssssssssssssssssss",
        $clave_paciente, $fecha_evaluacion, $edad, $edad_corregida, $rango_edad,
        $bruto_frases, $bruto_palabras, $bruto_produccion,
        $gestos_tempranos, $gestos_tardios, $gestos_totales,
        $percentil_frases, $percentil_palabras, $percentil_produccion,
        $percentil_gestos_tempranos, $percentil_gestos_tardios, $percentil_totales,
        $arthur1_interpretacion, $arthur1_seguimiento, $prox_eval,
        $referir_terapia,  $inventario_datos_clinicos, 
        $usuario_registro, $fecha_registro
    );

    if (mysqli_stmt_execute($stmt)) {
        if (mysqli_stmt_affected_rows($stmt) == 1) {
            print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?m=cdi_insert_success">');
        } else {
            print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=cdi_insert_failed">');
        }
    } else {
        error_log("Error al ejecutar statement en ICDI_I.php: " . mysqli_stmt_error($stmt));
        print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=cdi_execute_error&err=' . urlencode(mysqli_stmt_error($stmt)) . '">');
    }
    mysqli_stmt_close($stmt);
} else {
    error_log("Error al preparar statement en ICDI_I.php: " . mysqli_error($Con));
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=cdi_prepare_error">');
}

Cerrar($Con);
exit;