// En tu archivo consulta-medica.js
$(".tablas").on("click", ".btnAtender", function(){
 var idTriaje = $(this).attr("idTriaje");

    var datos = new FormData();
    datos.append("idTriaje", idTriaje);

    $.ajax({
        url: "ajax/consulta.ajax.php",
        method: "POST",
        data: datos,
        cache: false,
        contentType: false,
        processData: false,
        dataType: "json",
        success: function(respuesta) {
            // Rellenar etiquetas de texto (Signos Vitales)
            $("#nombre_paciente_atencion").html(respuesta["nombres"] + " " + respuesta["apellidos"]);
            $("#pa_atencion").html(respuesta["presion_arterial"] + " mmHg");
            $("#temp_atencion").html(respuesta["temperatura"] + " °C");
            $("#sat_atencion").html(respuesta["saturacion_oxigeno"] + " %");
            $("#pulso_atencion").html(respuesta["pulso"] + " lpm");
            $("#motivo_atencion").html(respuesta["motivo_consulta"]);
            
            // Rellenar el badge de prioridad con color dinámico
            var colorPrio = "badge-secondary";
            if(respuesta["nivel_prioridad"] == "T1") colorPrio = "badge-danger";
            if(respuesta["nivel_prioridad"] == "T2") colorPrio = "badge-warning";
            
            $("#prio_atencion").html(respuesta["nivel_prioridad"]).removeClass().addClass("badge float-right " + colorPrio);

            // Rellenar Inputs Ocultos para el POST final
            $("#idIngresoAtencion").val(respuesta["id_ingreso"]);
            $("#idTriajeAtencion").val(respuesta["id_triaje"]);
        }
    });
});

/*=============================================
REVISAR EL HISTORIAL DEL PACIENTE (RF11)
=============================================*/
$(document).on("click", "#btnVerHistorial", function() {

    var idPaciente = $(this).attr("idPaciente");

    // Mostramos el modal
    $("#modalHistorialPaciente").modal("show");

    // Limpiamos el contenido previo y ponemos un spinner de carga
    $("#timelineHistorial").html('<div class="text-center p-5"><i class="fas fa-spinner fa-spin fa-3x text-muted"></i><p>Cargando antecedentes...</p></div>');

    var datos = new FormData();
    datos.append("idPacienteHistorial", idPaciente);

    $.ajax({
        url: "ajax/consulta.ajax.php",
        method: "POST",
        data: datos,
        cache: false,
        contentType: false,
        processData: false,
        dataType: "json",
        success: function(respuesta) {
            
           // 1. Si no hay registros, mostramos un diseño limpio de "Sin historial"
            if (respuesta.length == 0) {
                
                var mensajeVacio = `
                    <div class="text-center p-5">
                        <i class="fas fa-notes-medical fa-3x text-muted mb-3"></i>
                        <h5 class="text-muted">No se registran atenciones previas</h5>
                        <p class="text-secondary small">Este paciente no cuenta con ingresos anteriores en el sistema de emergencias.</p>
                        <button type="button" class="btn btn-sm btn-outline-secondary" data-dismiss="modal">Cerrar</button>
                    </div>`;
                    
                $("#timelineHistorial").html(mensajeVacio);

            } else {
                
                // 2. Si hay registros, construimos la línea de tiempo
                var timelineHtml = '<div class="timeline">';
                
                respuesta.forEach(function(item) {
                    timelineHtml += `
                        <div class="time-label">
                            <span class="bg-navy px-3">${item.fecha_consulta}</span>
                        </div>
                        <div>
                            <i class="fas fa-user-md bg-primary text-white"></i>
                            <div class="timeline-item shadow-sm border">
                                <span class="time"><i class="fas fa-clock"></i> ${item.hora}</span>
                                <h3 class="timeline-header">
                                    <span class="badge badge-danger">CIE-10: ${item.codigo_cie10}</span>
                                </h3>
                                
                                <div class="timeline-body">
                                    <strong>Anamnesis:</strong> <p class="small text-justify">${item.anamnesis}</p>
                                    <strong>Tratamiento:</strong> <p class="small text-justify">${item.medicamentos}</p>

                                    <div class="mt-2 p-2 border-top bg-light">
                                        <h6 class="small font-weight-bold text-muted"><i class="fas fa-paperclip"></i> Archivos Adjuntos:</h6>
                                        <div id="adjuntos-ingreso-${item.id_ingreso}">
                                            ${renderizarAdjuntos(item.adjuntos)}
                                        </div>
                                    </div>
                                </div>
                                
                                <div class="timeline-footer p-2 bg-light">
                                    <small>Médico: ${item.medico}</small>
                                    <span class="badge badge-info float-right">Destino: ${item.destino_final}</span>
                                </div>
                            </div>
                        </div>`;
                });

                timelineHtml += '<div><i class="fas fa-clock bg-gray text-white"></i></div></div>';
                
                // Inyectamos todo el bloque de la línea de tiempo
                $("#timelineHistorial").html(timelineHtml);
            }
            
        },
        error: function(xhr, status, error) {
            // ESTO EVITA QUE SE QUEDE "CARGANDO" SI HAY ERROR
            console.error("Error del servidor:", xhr.responseText);
            $("#timelineHistorial").html('<div class="alert alert-danger">Error técnico: ' + error + '. Revisa la consola (F12).</div>');
        }
    });
});

$(document).ready(function() {
    $('.select2').select2({
        theme: 'bootstrap4',
        placeholder: "Busque diagnóstico por código o nombre..."
    });
});

$(document).on("click", ".btnNuevaEvolucion", function() {
    var idIngreso = $(this).attr("idIngreso");
    $("#idIngresoEvolucion").val(idIngreso);
    $("#modalNuevaEvolucion").modal("show");
});

$(document).on("click", ".btnFinalizarObs", function() {
    var idIngreso = $(this).attr("idIngreso");
    $("#idIngresoEgreso").val(idIngreso);
    $("#modalFinalizarObservacion").modal("show");
});

function renderizarAdjuntos(adjuntos) {
    // Si no hay adjuntos o el array viene vacío desde PHP
    if (!adjuntos || adjuntos.length === 0) {
        return '<span class="text-muted is-italic small">Sin documentos escaneados</span>';
    }

    var htmlAdjuntos = '';
    adjuntos.forEach(function(doc) {
        // Determinamos el icono según el tipo de documento
        var icono = (doc.tipo.includes("DNI")) ? "fa-id-card" : "fa-file-medical";
        
        htmlAdjuntos += `
            <a href="${doc.ruta}" target="_blank" class="btn btn-xs btn-outline-danger mr-1 mb-1">
                <i class="fas ${icono}"></i> ${doc.tipo}
            </a>`;
    });

    return htmlAdjuntos;
}