<?php
ob_start();
session_start();

if (!isset($_SESSION["nombre"])) {
    header("Location: ../vistas/login.html");
} else {
    require_once "../modelos/SolicitudExamen.php";
    require_once "../modelos/Persona.php";
    require_once "../modelos/Usuario.php";

    $solicitud = new SolicitudExamen();
    $idsolicitud = isset($_GET["idsolicitud"]) ? $_GET["idsolicitud"] : "";

    if (empty($idsolicitud)) {
        echo "No se ha especificado una solicitud.";
        exit;
    }

    $rspta = $solicitud->mostrar($idsolicitud);
    if (empty($rspta)) {
        echo "Solicitud no encontrada.";
        exit;
    }

    $regSol = $rspta;
    $datos = json_decode($regSol['contenido'], true);
    
    $idpersona = $regSol['idpersona'];
    $persona = new Persona();
    $regFull = $persona->imprimirDatosPaciente($idpersona);
    $reg = (object) $regFull;

    // Datos del médico a cargo
    $idMedico = ($regSol['firmado'] == 1 && $regSol['idempleado_firma']) ? $regSol['idempleado_firma'] : $regSol['idempleado'];
    $usuarioModel = new Usuario();
    $regMedico = $usuarioModel->mostrar($idMedico);
    $nombreMedico = strtoupper($regMedico['nombre'] . ' ' . $regMedico['apaterno'] . ' ' . $regMedico['amaterno']);

    $fechaEmision = date('d/m/Y', strtotime($regSol['fecha_emision']));
    $fechaHoraRegistro = date('d/m/Y H:i', strtotime($regSol['fecha_registro']));
    ?>
    <!DOCTYPE html>
    <html lang="es">
    <head>
        <meta charset="utf-8">
        <title>Solicitud de Exámenes Médicos - Vista Previa</title>
        <link rel="stylesheet" href="../public/css/bootstrap.min.css">
        <link rel="stylesheet" href="../public/css/font-awesome.css">
        <style>
            body { font-family: "Times New Roman", Times, serif; background: #f4f4f4; padding: 20px; }
            .hoja-a4 { 
                background: white; 
                width: 210mm; 
                margin: 0 auto; 
                padding: 10mm 20mm; 
                box-shadow: 0 0 15px rgba(0,0,0,0.2); 
                min-height: 297mm; 
                position: relative; 
                color: #000;
                line-height: 1.4;
            }
            .banner-img { width: 100%; height: auto; margin-bottom: 20px; }
            .titulo-solicitud { text-align: center; font-weight: bold; font-size: 16pt; margin-bottom: 20px; text-decoration: underline; }
            .fecha-derecha { text-align: right; font-size: 11pt; margin-bottom: 10px; }
            .datos-paciente { font-size: 11pt; margin-bottom: 15px; }
            .negrita { font-weight: bold; }
            .linea-sep { border-top: 1px solid #000; margin: 10px 0; }
            
            .seccion-label { font-size: 11pt; font-weight: bold; margin-bottom: 5px; }
            .diag-box { font-size: 10pt; margin-bottom: 15px; text-transform: uppercase; }
            
            .container-examenes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; font-size: 9pt; margin-bottom: 20px; }
            .ex-item { display: flex; align-items: flex-start; }
            .bullet { margin-right: 5px; font-weight: bold; }
            
            .clausura { font-size: 11pt; margin-top: 20px; }
            .emision-tecnica { text-align: right; font-size: 9pt; color: #555; margin-top: 10px; }
            
            .controles-firma { text-align: center; margin-top: 30px; border-top: 1.5px solid #3c8dbc; padding-top: 20px; }
            
            @media print {
                .no-print { display: none; }
                body { background: white; padding: 0; }
                .hoja-a4 { box-shadow: none; margin: 0; width: 100%; border: none; }
            }
        </style>
    </head>
    <body>
        <div class="hoja-a4">
            <!-- BANNER -->
            <img src="../public/img/banner.png" class="banner-img">

            <div class="titulo-solicitud">SOLICITUD DE EXÁMENES MÉDICOS</div>

            <div class="fecha-derecha">Fecha: <?php echo $fechaEmision; ?></div>

            <div class="datos-paciente">
                <span class="negrita">PACIENTE:</span> <?php echo strtoupper($reg->paciente); ?><br>
                <span class="negrita">CÉDULA:</span> <?php echo $reg->num_documento; ?><br>
                <span class="negrita">EDAD:</span> <?php echo $reg->edad; ?> &nbsp;&nbsp; 
                <span class="negrita">SEXO:</span> <?php echo $reg->sexo; ?><br>
                <?php if(!empty($reg->telefono)): ?>
                    <span class="negrita">TELÉFONO:</span> <?php echo $reg->telefono; ?><br>
                <?php endif; ?>
            </div>

            <div class="linea-sep"></div>

            <?php if(!empty($datos['diagnostico']['texto']) || !empty($datos['diagnostico']['codigos'])): ?>
                <div class="seccion-label">DIAGNÓSTICO PRESUNTIVO:</div>
                <div class="diag-box">
                    <?php 
                        if (!empty($datos['diagnostico']['codigos'])) echo implode(", ", $datos['diagnostico']['codigos']) . " ";
                        echo strtoupper($datos['diagnostico']['texto']);
                    ?>
                </div>
            <?php endif; ?>

            <div class="seccion-label">EXÁMENES SOLICITADOS:</div>
            <div class="container-examenes">
                <?php
                $seleccionados = $datos['lista_examenes'];
                foreach ($seleccionados as $ex) {
                    echo '<div class="ex-item"><span class="bullet">•</span> ' . strtoupper($ex) . '</div>';
                }
                ?>
            </div>

            <?php if(!empty($datos['indicaciones'])): ?>
                <div class="seccion-label">INDICACIONES CLÍNICAS:</div>
                <div class="diag-box"><?php echo strtoupper($datos['indicaciones']); ?></div>
            <?php endif; ?>

            <div class="clausura">
                <p>Solicito comedidamente se realicen los exámenes indicados.</p>
                <p class="negrita">Atentamente</p>
            </div>

            <div class="emision-tecnica">
                Fecha de Emisión: <?php echo $fechaHoraRegistro; ?>
            </div>

            <!-- ÁREA DE ACCIÓN (FIRMA) -->
            <div class="controles-firma no-print">
                <?php if ($regSol['firmado'] == 1): ?>
                    <div style="text-align: center;">
                        <table style="margin: 0 auto; border-collapse: collapse;">
                            <tr>
                                <td style="padding-right: 15px;">
                                    <?php
                                    $qrFirma = "FIRMADO POR: " . $nombreMedico . "\nFECHA: " . date('Y-m-d H:i:s', strtotime($regSol['fecha_firma'])) . "\nVALIDAR EN: firmadigital.gob.ec";
                                    ?>
                                    <img src="https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=<?php echo urlencode($qrFirma); ?>" alt="QR Firma" style="width: 90px; border: 1px solid #ddd;">
                                </td>
                                <td style="text-align: left; font-family: 'Courier New', Courier, monospace;">
                                    <span style="font-size: 11px;">Firmado electrónicamente por:</span><br>
                                    <span style="font-size: 14px; font-weight: bold;"><?php echo $nombreMedico; ?></span><br>
                                    <span style="font-size: 10px;">Salud Amiga - Validar con FirmaEC</span>
                                </td>
                            </tr>
                        </table>
                    </div>
                <?php else: ?>
                    <div style="background: #fdfae3; border: 1px dashed #e67e22; padding: 20px; border-radius: 8px;">
                        <h4 class="text-warning"><i class="fa fa-warning"></i> Solicitud Pendiente de Firma</h4>
                        <p>Esta orden aún no tiene validez legal. Por favor, firme el documento digitalmente.</p>
                        <button class="btn btn-primary btn-lg" onclick="solicitarFirma()">
                            <i class="fa fa-pencil"></i> FIRMAR DIGITALMENTE AHORA
                        </button>
                    </div>
                <?php endif; ?>
            </div>
        </div>

        <script src="../public/js/jquery-3.1.1.min.js"></script>
        <script src="../public/js/bootbox.min.js"></script>
        <script src="../public/js/bootstrap.min.js"></script>
        <script>
            function solicitarFirma() {
                var idsolicitud = "<?php echo $idsolicitud; ?>";
                var idempleado = "<?php echo isset($_SESSION['idempleado']) ? $_SESSION['idempleado'] : 0; ?>";
                bootbox.prompt({
                    title: "Ingrese la contraseña de su firma electrónica (.p12)",
                    inputType: 'password',
                    callback: function (password) {
                        if (password) {
                            procederAFirmar(idsolicitud, idempleado, password);
                        }
                    }
                });
            }

            function procederAFirmar(idsolicitud, idempleado, password) {
                var loading = bootbox.dialog({
                    message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Generando firma electrónica...</div>',
                    closeButton: false
                });
                $.ajax({
                    url: "../ajax/solicitud_examen.php?op=firmar",
                    type: "POST",
                    data: { idsolicitud: idsolicitud, idempleado: idempleado, password: password },
                    dataType: "json",
                    success: function (res) {
                        loading.modal('hide');
                        if (res.success) {
                            bootbox.alert("¡Orden firmada y validada correctamente!", function(){ location.reload(); });
                        } else {
                            bootbox.alert("Error: " + res.message);
                        }
                    }
                });
            }
        </script>
    </body>
    </html>
    <?php
}
ob_end_flush();
?>
