<?php
// ajax/receta.php - VERSIÓN FINAL CORREGIDA (POSICIONAMIENTO ABSOLUTO LIMPIO)
error_reporting(E_ALL);
ini_set('display_errors', 1);

if (!isset($_GET['idatencion'])) {
    die("Falta idatencion");
}
$idatencion = $_GET['idatencion'];

require_once "../modelos/Persona.php";
$persona = new Persona();

// 1. CARGA DE DATOS
$rspta = $persona->imprimirHistoria($idatencion);
$reg = $rspta->fetch_object();
if (!$reg) {
    die("Error: No existen datos para esta atencion.");
}

$rspta2 = $persona->imprimirReceta($idatencion); // Medicamentos
$rspta3 = $persona->imprimirDetalleHistoria($idatencion); // Diagnosticos

// 2. VERIFICACIÓN DE FIRMA (SOLO BASE DE DATOS)
$resFirma = $persona->verificarFirmaReceta($idatencion);
$estaFirmado = false;
$rutaPDFFirmado = "";
if ($resFirma && isset($resFirma['firmado']) && $resFirma['firmado'] == 1) {
    $estaFirmado = true;
    $reg->firmado = 1;
    $rutaPDFFirmado = $resFirma['ruta_pdf_firmado'];
}

// Formatear teléfono para WhatsApp (Disponible globalmente)
$telBase = (isset($reg->telefono) && !empty($reg->telefono)) ? $reg->telefono : '';
$telLimpio = preg_replace('/[^0-9]/', '', $telBase);
if (strlen($telLimpio) == 9 && substr($telLimpio, 0, 1) == '9') $telLimpio = '593' . $telLimpio;
if (strlen($telLimpio) == 10 && substr($telLimpio, 0, 1) == '0') $telLimpio = '593' . substr($telLimpio, 1);

// 3. RECUPERAR DATOS ADICIONALES DE DIAGNOSTICO EN STRINGS
$codigosCie = '';
$enfermedades = '';
if ($rspta3) {
    while ($diag = $rspta3->fetch_object()) {
        $codigosCie .= strtoupper($diag->codigo) . ' ';
        $enfermedades .= strtoupper($diag->enfermedad) . ' ';
    }
}

// 4. RECUPERAR MEDICAMENTOS EN ARRAY PARA ITERAR
// 4. RECUPERAR MEDICAMENTOS EN ARRAY PARA ITERAR
$listaMedicamentos = [];
if (is_array($rspta2)) {
    // Caso Nuevo: Array de objetos (desde JSON o SQL convertido)
    $listaMedicamentos = $rspta2;
} elseif ($rspta2 && method_exists($rspta2, 'fetch_object')) {
    // Caso Legacy: Por si acaso retorna mysqli_result (aunque el modelo ya lo convierte)
    while ($r = $rspta2->fetch_object()) {
        $listaMedicamentos[] = $r;
    }
}

// INICIAR SESIÓN Y VERIFICAR AUTENTICACIÓN
session_start();
if (!isset($_SESSION["nombre"])) {
    header("Location: login.html");
    exit;
}

$esA4 = count($listaMedicamentos) > 4;

// Función auxiliar para números a letras en el visor
if (!function_exists('numeroALetrasVisor')) {
    function numeroALetrasVisor($num) {
        if (!class_exists('NumberFormatter')) return "";
        $formatter = new NumberFormatter("es", NumberFormatter::SPELLOUT);
        return strtoupper($formatter->format($num));
    }
}

ob_start();
?>
<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="utf-8">
    <style>
        /* CONFIGURACIÓN BÁSICA DE RESET Y FUENTES */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: Arial, sans-serif;
            font-size: 10px;
            /* Base pequeña para que entre todo */
            background-color: #525659;
            /* Fondo visor usuario */
            display: flex;
            justify-content: center;
            padding: 20px;
        }

        /* CONFIGURACIÓN A5 */
        .page-a5 {
            position: relative;
            width: 210mm;
            height: 148mm;
            /* A5 Landscape Exacto */
            background: white;
            overflow: hidden;
            /* Cortar desbordes */
            margin: auto;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
        }

        /* CONFIGURACIÓN A4 */
        .page-a4 {
            position: relative;
            width: 210mm;
            height: 297mm;
            /* A4 Portrait Exacto */
            background: white;
            overflow: hidden;
            margin: auto;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
        }

        /* IMAGEN DE FONDO */
        #fondo-impresion {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            object-fit: cover;
        }

        /* CAPA DE DATOS (ENCIMA DEL FONDO) */
        .datos-layer {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 50;
            /* Encima de todo */
        }

        /* ESTILOS DE TEXTO LIMPIOS (SIN BORDES NI FONDOS) */
        .campo-texto {
            position: absolute;
            font-size: 10px;
            color: #000;
            line-height: 1.2;
        }

        .etiqueta {
            font-weight: bold;
        }

        /* ESTILOS DE IMPRESIÓN */
        @media print {
            * {
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
                color-adjust: exact !important;
            }

            html, body {
                background: white !important;
                margin: 0 !important;
                padding: 0 !important;
                width: 100% !important;
                height: 100% !important;
            }

            body {
                display: block !important;
            }

            /* UNA SOLA HOJA: overflow hidden fuerza que no se genere segunda página */
            .page-a5, .page-a4 {
                box-shadow: none !important;
                margin: 0 !important;
                padding: 0 !important;
                page-break-after: avoid !important;
                page-break-before: avoid !important;
                page-break-inside: avoid !important;
                break-after: avoid !important;
                break-before: avoid !important;
                break-inside: avoid !important;
                overflow: hidden !important;
                position: relative !important;
            }

            /* A5: media de hoja A4 en landscape */
            .page-a5 {
                width: 210mm !important;
                height: 148mm !important;
            }

            /* A4: hoja completa - max-height para no desbordar */
            .page-a4 {
                width: 210mm !important;
                height: 297mm !important;
                max-height: 297mm !important;
            }

            #fondo-impresion {
                display: block !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
            }

            .datos-layer {
                display: block !important;
            }

            .campo-texto {
                display: block !important;
                -webkit-print-color-adjust: exact !important;
                print-color-adjust: exact !important;
                overflow: hidden !important;
            }

            /* Excepción: el bloque de firma conserva flex para mostrar texto a la derecha del QR */
            .campo-firma {
                display: flex !important;
                align-items: center !important;
                justify-content: flex-start !important;
                overflow: visible !important;
            }

            .no-print {
                display: none !important;
            }

            /* Tamaño de página A4 sin márgenes - coincide exactamente con el PDF */
            @page {
                size: 210mm 297mm;
                margin: 0mm;
            }

            /* Para A5 en impresión: media página */
            @page :first {
                size: 210mm 297mm;
                margin: 0mm;
            }
        }
    </style>
    <script>
        document.title = ".";
        window.onload = function() {
            setTimeout(function() {
                window.print();
            }, 500);
        };
    </script> 
</head>

<body>

    <div class="<?php echo $esA4 ? 'page-a4' : 'page-a5'; ?>">
        <!-- 1. FONDO -->
        <img id="fondo-impresion" src="../public/img/<?php echo $esA4 ? 'A4 recetas.png' : 'fondo_receta.png'; ?>" alt="Fondo Receta">

        <!-- 2. CAPA DE DATOS ABSOLUTOS (AJUSTADA AL MILÍMETRO) -->
        <div class="datos-layer" style="color: #000 !important;">

            <?php if (!$esA4): ?>
                <!-- ============================================== -->
                <!-- ============= FORMATO A5 ORIGINAL ============ -->
                <!-- ============================================== -->
                
                <!-- [AZUL/AMARILLO IZQ] NÚMERO DE RECETA -->
                <div class="campo-texto" style="top: 25mm; left: 12mm; width: 45mm; text-align: left; color: #000; font-size: 12px; text-shadow: 1px 1px 0 #fff;">
                    <b>Receta#:</b> <?php echo $idatencion; ?>
                </div>

                <!-- COLUMNA 1 (Izquierda: X=45) -->
                <div class="campo-texto" style="top: 17mm; left: 45mm; width: 60mm; align-items: center; display: flex;">
                    <b>Paciente:</b>&nbsp;<?php echo $reg->paciente; ?>
                </div>
                <div class="campo-texto" style="top: 22mm; left: 45mm; width: 60mm; align-items: center; display: flex;">
                    <b>Cédula:</b>&nbsp;<?php echo $reg->num_documento; ?>
                </div>
                <div class="campo-texto" style="top: 27mm; left: 45mm; width: 60mm; align-items: center; display: flex;">
                    <b>Edad:</b>&nbsp;<?php echo $reg->edad; ?>
                </div>

                <!-- COLUMNA 2 (Centro: X=105) -->
                <div class="campo-texto" style="top: 17mm; left: 105mm; width: 50mm; align-items: center; display: flex;">
                    <b>Peso:</b>&nbsp;<?php echo $reg->peso; ?> kg
                </div>
                <div class="campo-texto" style="top: 22mm; left: 105mm; width: 50mm; align-items: center; display: flex;">
                    <b>Dirección:</b>&nbsp;<?php echo ($reg->direccion ? $reg->direccion : 'Guayaquil'); ?>
                </div>
                <div class="campo-texto" style="top: 27mm; left: 105mm; width: 50mm; align-items: center; display: flex;">
                    <b>HC#:</b>&nbsp;<?php echo $reg->historia_clinica; ?>
                </div>

                <!-- COLUMNA 3 (Derecha: X=155) -->
                <div class="campo-texto" style="top: 17mm; left: 155mm; width: 50mm; align-items: center; display: flex;">
                    <b>Sexo:</b>&nbsp;<?php echo $reg->sexo; ?>
                </div>
                <div class="campo-texto" style="top: 22mm; left: 155mm; width: 50mm; align-items: center; display: flex;">
                    <b>Alergias:</b>&nbsp;<?php echo ($reg->alergia ? $reg->alergia : 'Ninguna'); ?>
                </div>
                <div class="campo-texto" style="top: 27mm; left: 155mm; width: 50mm; align-items: center; display: flex;">
                    <b>Fecha:</b>&nbsp;<?php echo $reg->fecha; ?>
                </div>

                <!-- [VERDE] MEDICO Y SENESCYT (Alineado a X=12) -->
                <div class="campo-texto" style="top: 47mm; left: 12mm; width: 140mm; font-size: 11px; display: flex; align-items: center;">
                    <b>Medico Prescriptor:</b>&nbsp;<?php echo $reg->especialista; ?> 
                    <span style="margin-left: 15px;"><b>Senescyt:</b>&nbsp;<?php echo $reg->registro_senescyt; ?></span>
                </div>

                <!-- [NEGRO] VIGENCIA -->
                <div class="campo-texto" style="top: 47mm; left: 155mm; width: 50mm; text-align: center; font-size: 11px; display: flex; align-items: center; justify-content: center;">
                    <b>Vigencia:</b>&nbsp;<?php echo $reg->vigencia; ?>
                </div>

                <!-- MEDICAMENTOS -->
                <div class="campo-texto" style="top: 58mm; left: 5mm; width: 105mm; height: 58mm; overflow: hidden; font-size: 10.5px; line-height: 1.3;">
                    <?php foreach ($listaMedicamentos as $med):
                        $desc = strtoupper($med->medicamento);
                        if ($med->concentracion) $desc .= ' ' . $med->concentracion;
                        if ($med->presentacion) $desc .= ' (' . $med->presentacion . ')';
                        ?>
                        <div style="margin-bottom: 3px; padding-bottom: 1px;">
                            <b>• <?php echo $desc; ?></b><br>
                            &nbsp;&nbsp; <b>Cant:</b> <?php echo $med->cantidad; ?>
                        </div>
                    <?php endforeach; ?>
                </div>

                <!-- POSOLOGÍA -->
                <div class="campo-texto" style="top: 58mm; left: 112mm; width: 93mm; height: 58mm; overflow: hidden; font-size: 10.5px; line-height: 1.3;">
                    <?php foreach ($listaMedicamentos as $med): ?>
                        <div style="margin-bottom: 3px; padding-bottom: 1px;">
                            <b>Vía:</b> <?php echo ($med->via_administracion ? $med->via_administracion : '-'); ?><br>
                            <?php echo ($med->posologia ? $med->posologia : '-'); ?>
                        </div>
                    <?php endforeach; ?>
                </div>

                <!-- SECCIONES INFERIORES -->
                <div class="campo-texto" style="top: 113mm; left: 5mm; width: 200mm; height: 4mm; font-size: 9px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Indicaciones:</b> <?php echo str_replace("\n", " ", $reg->tratamiento); ?>
                </div>
                <div class="campo-texto" style="top: 118mm; left: 5mm; width: 200mm; height: 4mm; font-size: 9px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Indicaciones No Farmacologicas:</b> <?php echo str_replace("\n", " ", $reg->Indicaciones_no_farmacologicas); ?>
                </div>
                <div class="campo-texto" style="top: 123mm; left: 5mm; width: 200mm; height: 4mm; font-size: 9px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Signos de alarma:</b> <?php echo ($reg->signnose_de_alarma ? $reg->signnose_de_alarma : 'Ninguno'); ?>
                </div>
                <div class="campo-texto" style="top: 128mm; left: 5mm; width: 135mm; height: 4mm; font-size: 9px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Diagnostico:</b> <?php echo $enfermedades; ?>
                </div>
                <div class="campo-texto" style="top: 133mm; left: 5mm; width: 135mm; height: 4mm; font-size: 9px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Cie10:</b> <?php echo $codigosCie; ?>
                </div>

                <!-- FIRMA A5 -->
                <?php if ($estaFirmado):
                    $qrContent = "FIRMADO POR: " . strtoupper($reg->especialista) . "\nFECHA: " . $reg->fecha_firma . "\nvalidar con firma ec";
                    $qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=" . urlencode($qrContent);
                    ?>
                    <div class="campo-texto campo-firma" style="top: 119mm; left: 140mm; width: 62mm; height: 20mm; display: flex; align-items: center; justify-content: flex-start;">
                        <img src="<?php echo $qrUrl; ?>" style="width: 55px; height: 55px; margin-right: 4px; border: 1px solid #333;" onerror="this.style.display='none'">
                        <div style="font-size: 8px; line-height: 1.1;">
                            FIRMADO DIGITALMENTE<br>
                            <b><?php echo htmlspecialchars(substr($reg->especialista, 0, 22)); ?></b><br>
                            <?php echo htmlspecialchars($reg->fecha_firma); ?><br>
                            validar con firma ec
                        </div>
                    </div>
                <?php endif; ?>

            <?php else: ?>
                <!-- ============================================== -->
                <!-- ============ NUEVO FORMATO A4 ================ -->
                <!-- ============================================== -->
                
                <!-- [AZUL/AMARILLO IZQ] NÚMERO DE RECETA (Bajado a Y=27) -->
                <div class="campo-texto" style="top: 27mm; left: 12mm; width: 45mm; text-align: left; color: #000; font-size: 12px; text-shadow: 1px 1px 0 #fff;">
                    <b>Receta#:</b> <?php echo $idatencion; ?>
                </div>

                <!-- COLUMNA 1 (Izquierda: X=45) -->
                <div class="campo-texto" style="top: 17mm; left: 45mm; width: 60mm; align-items: center; display: flex;">
                    <b>Paciente:</b>&nbsp;<?php echo strtoupper($reg->paciente); ?>
                </div>
                <div class="campo-texto" style="top: 22mm; left: 45mm; width: 60mm; align-items: center; display: flex;">
                    <b>Cédula:</b>&nbsp;<?php echo $reg->num_documento; ?>
                </div>
                <div class="campo-texto" style="top: 27mm; left: 45mm; width: 60mm; align-items: center; display: flex;">
                    <b>Edad:</b>&nbsp;<?php echo $reg->edad; ?>
                </div>

                <!-- COLUMNA 2 (Centro: X=105) -->
                <div class="campo-texto" style="top: 17mm; left: 105mm; width: 50mm; align-items: center; display: flex;">
                    <b>Peso:</b>&nbsp;<?php echo $reg->peso; ?> kg
                </div>
                <div class="campo-texto" style="top: 22mm; left: 105mm; width: 50mm; align-items: center; display: flex;">
                    <b>Dirección:</b>&nbsp;<?php echo ($reg->direccion ? $reg->direccion : 'Guayaquil'); ?>
                </div>
                <div class="campo-texto" style="top: 27mm; left: 105mm; width: 50mm; align-items: center; display: flex;">
                    <b>HC#:</b>&nbsp;<?php echo $reg->historia_clinica; ?>
                </div>

                <!-- COLUMNA 3 (Derecha: X=155) -->
                <div class="campo-texto" style="top: 17mm; left: 155mm; width: 50mm; align-items: center; display: flex;">
                    <b>Sexo:</b>&nbsp;<?php echo $reg->sexo; ?>
                </div>
                <div class="campo-texto" style="top: 22mm; left: 155mm; width: 50mm; align-items: center; display: flex;">
                    <b>Alergias:</b>&nbsp;<?php echo ($reg->alergia ? $reg->alergia : 'Ninguna'); ?>
                </div>
                <div class="campo-texto" style="top: 27mm; left: 155mm; width: 50mm; align-items: center; display: flex;">
                    <b>Fecha:</b>&nbsp;<?php echo $reg->fecha; ?>
                </div>

                <!-- [VERDE] MEDICO Y SENESCYT (Alineado a X=12) -->
                <div class="campo-texto" style="top: 47mm; left: 12mm; width: 140mm; font-size: 11px; display: flex; align-items: center;">
                    <b>Medico Prescriptor:</b>&nbsp;<?php echo $reg->especialista; ?> 
                    <span style="margin-left: 15px;"><b>Senescyt:</b>&nbsp;<?php echo $reg->registro_senescyt; ?></span>
                </div>

                <!-- [NEGRO] VIGENCIA -->
                <div class="campo-texto" style="top: 47mm; left: 155mm; width: 50mm; text-align: center; font-size: 11px; display: flex; align-items: center; justify-content: center;">
                    <b>Vigencia:</b>&nbsp;<?php echo $reg->vigencia; ?>
                </div>

                <!-- MEDICAMENTOS A4 (PÁRRAFO ÚNICO) -->
                <!-- font-size: 6.5px para coincidir exactamente con el PDF (TCPDF usa 6.5pt) -->
                <div class="campo-texto" style="top: 58mm; left: 12mm; width: 186mm; height: 195mm; overflow: hidden; font-size: 6.5px; line-height: 1.3;">
                    <?php foreach ($listaMedicamentos as $med):
                        $desc = strtoupper($med->medicamento);
                        if ($med->concentracion) $desc .= ' ' . $med->concentracion;
                        if ($med->presentacion) $desc .= ' (' . $med->presentacion . ')';
                        $cantLetras = function_exists('numeroALetrasVisor') ? numeroALetrasVisor($med->cantidad) : "";
                        ?>
                        <div style="margin-bottom: 4px;">
                            <b>• <?php echo htmlspecialchars($desc); ?></b><br>
                            <b>Cant:</b> <?php echo htmlspecialchars($med->cantidad . ($cantLetras ? " ($cantLetras)" : "")); ?> - <b>Vía:</b> <?php echo htmlspecialchars($med->via_administracion ? $med->via_administracion : '-'); ?><br>
                            <b>Posología:</b> <?php echo htmlspecialchars($med->posologia ? $med->posologia : '-'); ?>
                        </div>
                    <?php endforeach; ?>
                </div>




                <!-- INDICACIONES A4 (EMPIEZAN MÁS ABAJO: Y=262) - font-size: 7px coincide con PDF 7pt -->
                <div class="campo-texto" style="top: 262mm; left: 12mm; width: 186mm; height: 5mm; font-size: 7px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Indicaciones:</b> <?php echo htmlspecialchars(str_replace("\n", " ", $reg->tratamiento)); ?>
                </div>
                <div class="campo-texto" style="top: 268mm; left: 12mm; width: 130mm; height: 5mm; font-size: 7px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Indicaciones No Farm.:</b> <?php echo htmlspecialchars(str_replace("\n", " ", $reg->Indicaciones_no_farmacologicas)); ?>
                </div>
                <div class="campo-texto" style="top: 274mm; left: 12mm; width: 186mm; height: 5mm; font-size: 7px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Signos de alarma:</b> <?php echo htmlspecialchars($reg->signnose_de_alarma ? $reg->signnose_de_alarma : 'Ninguno'); ?>
                </div>
                <div class="campo-texto" style="top: 280mm; left: 12mm; width: 130mm; height: 5mm; font-size: 7px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>Diagnóstico:</b> <?php echo htmlspecialchars($enfermedades); ?>
                </div>
                <div class="campo-texto" style="top: 286mm; left: 12mm; width: 130mm; height: 5mm; font-size: 7px; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">
                    <b>CIE-10:</b> <?php echo htmlspecialchars($codigosCie); ?>
                </div>

                <!-- FIRMA A4 (A LA DERECHA DE LAS INDICACIONES, Y=268 coincide con PDF) -->
                <?php if ($estaFirmado):
                    $qrContent = "FIRMADO POR: " . strtoupper($reg->especialista) . "\nFECHA: " . $reg->fecha_firma . "\nvalidar con firma ec";
                    $qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=" . urlencode($qrContent);
                    ?>
                    <div class="campo-texto campo-firma" style="top: 268mm; left: 140mm; width: 62mm; height: 22mm; display: flex; align-items: center; justify-content: flex-start;">
                        <img src="<?php echo $qrUrl; ?>" style="width: 55px; height: 55px; margin-right: 4px; border: 1px solid #333;" onerror="this.style.display='none'">
                        <div style="font-size: 6.5px; line-height: 1.2;">
                            FIRMADO DIGITALMENTE<br>
                            <b><?php echo htmlspecialchars(substr($reg->especialista, 0, 22)); ?></b><br>
                            <?php echo htmlspecialchars($reg->fecha_firma); ?><br>
                            validar con firma ec
                        </div>
                    </div>
                <?php endif; ?>

            <?php endif; ?>

        </div>
    </div>

    <!-- BOTONES DE ACCIÓN (NO IMPRIMIR) -->
    <div class="no-print"
        style="position:fixed; bottom:10px; right:10px; background: rgba(0,0,0,0.7); padding: 10px; border-radius: 5px; display: flex; gap: 10px; align-items: center;">

        <!-- BOTÓN DE IMPRIMIR -->
        <button onclick="window.print()"
            style="background: #28a745; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 14px;">
            <i class="fa fa-print"></i> IMPRIMIR RECETA <?php echo $esA4 ? 'A4' : 'A5'; ?>
        </button>

        <!-- BOTÓN DE ENVÍO WHATSAPP (DOCUMENTO FÍSICO) -->
        <?php if ($estaFirmado): ?>
            <button onclick="enviarDocumentoFisico()"
                style="background: #25D366; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 14px;">
                <i class="fa fa-whatsapp"></i> ENVIAR RECETA
            </button>
        <?php endif; ?>

        <!-- BOTÓN DE FIRMA -->
        <?php if (!$estaFirmado): ?>
            <button id="btnFirmar" class="btn btn-primary" onclick="solicitarFirma()"
                style="background: #007bff; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 14px;">
                <i class="fa fa-pencil"></i> FIRMAR DIGITALMENTE
            </button>
        <?php else: ?>
            <div style="color: #25D366; font-weight: bold; font-size: 14px;">
                <i class="fa fa-check-circle"></i> FIRMADA
            </div>
        <?php endif; ?>
    </div>

    <!-- SCRIPTS PARA FIRMA -->
    <script src="../public/js/jquery-3.1.1.min.js"></script>
    <script src="../public/js/bootstrap.min.js"></script>
    <script src="../public/js/bootbox.min.js"></script>
    <script>
        function solicitarFirma() {
            var idatencion = "<?php echo $idatencion; ?>";
            var idempleado = "<?php echo isset($_SESSION['idempleado']) ? $_SESSION['idempleado'] : (isset($_SESSION['idusuario']) ? $_SESSION['idusuario'] : 0); ?>";

            bootbox.prompt({
                title: "Ingrese contraseña de Firma Digital",
                inputType: 'password',
                callback: function (password) {
                    if (password) {
                        var dialog = bootbox.dialog({ message: '<p class="text-center"><i class="fa fa-spin fa-spinner"></i> Firmando...</p>', closeButton: false });

                        $.ajax({
                            url: "../ajax/firmar_receta.php?op=firmar",
                            type: "POST",
                            data: { idatencion: idatencion, idempleado: idempleado, password: password },
                            dataType: "json",
                            success: function (response) {
                                dialog.modal('hide');
                                if (response.success) {
                                    bootbox.alert("Firma Exitosa", function () { location.reload(); });
                                } else {
                                    bootbox.alert("Error: " + response.message);
                                }
                            },
                            error: function () {
                                dialog.modal('hide');
                                bootbox.alert("Error de conexión");
                            }
                        });
                    }
                }
            });
        }

        async function enviarDocumentoFisico() {
            const pdfUrl = "<?php echo '../' . $rutaPDFFirmado; ?>";
            const nombrePaciente = "<?php echo $reg->paciente; ?>";
            const telefono = "<?php echo $telLimpio; ?>";
            const nombreArchivo = "Receta_<?php echo $idatencion; ?>.pdf";

            try {
                const response = await fetch(pdfUrl);
                const blob = await response.blob();
                const file = new File([blob], nombreArchivo, { type: 'application/pdf' });

                // 1. Intentar compartir como archivo (Solo en dispositivos compatibles: Móviles/Tablets)
                if (navigator.canShare && navigator.canShare({ files: [file] })) {
                    await navigator.share({
                        files: [file],
                        title: 'Receta Médica - ' + nombrePaciente,
                        text: 'Hola ' + nombrePaciente + ', le adjunto su receta médica digital.'
                    });
                } else {
                    // 2. Fallback para Desktop o navegadores sin soporte de compartir archivos
                    // Primero forzar descarga
                    const link = document.createElement('a');
                    link.href = pdfUrl;
                    link.download = nombreArchivo;
                    document.body.appendChild(link);
                    link.click();
                    document.body.removeChild(link);

                    // Segundo abrir WhatsApp Web
                    const mensaje = "Hola " + nombrePaciente + ", le envío su receta médica digital. Por favor adjunte el archivo '" + nombreArchivo + "' que se acaba de descargar.";
                    const waUrl = "https://api.whatsapp.com/send?phone=" + telefono + "&text=" + encodeURIComponent(mensaje);
                    window.open(waUrl, '_blank');
                }
            } catch (error) {
                console.error("Error al enviar documento:", error);
                bootbox.alert("No se pudo procesar el archivo físico para envío. Verifique su conexión.");
            }
        }
    </script>

</body>

</html>
<?php ob_end_flush(); ?>