<?php
ob_start();
session_start();

if (!isset($_SESSION["nombre"])) {
    header("Location: login.html");
} else {
    require 'header.php';
    ?>
    <style>
        @keyframes pulsar {
            0%   { opacity: 1; }
            50%  { opacity: 0.4; }
            100% { opacity: 1; }
        }
        .label-nuevo-resultado {
            background-color: #27ae60;
            animation: pulsar 1.5s infinite;
            font-size: 11px;
        }
    </style>

    <div class="content-wrapper">
        <section class="content-header">
            <h1><i class="fa fa-history"></i> Historial de Solicitudes de Exámenes</h1>
        </section>
        <section class="content">
            <div class="row">
                <div class="col-md-12">
                    <div class="box box-success">
                        <div class="box-header with-border">
                            <h3 class="box-title"><i class="fa fa-list"></i> Mis Solicitudes</h3>
                            <div class="box-tools pull-right">
                                <button type="button" class="btn btn-danger" id="btnEliminarSeleccionados" style="display:none;">
                                    <i class="fa fa-trash"></i> Eliminar Seleccionados
                                </button>
                            </div>
                        </div>
                        <div class="box-body">
                            <div class="table-responsive">
                                <table id="tbllistado" class="table table-striped table-bordered table-condensed table-hover">
                                    <thead>
                                        <tr>
                                            <th><input type="checkbox" id="checkAll"></th>
                                            <th>Fecha</th>
                                            <th>Paciente</th>
                                            <th>Tipo</th>
                                            <th>Área</th>
                                            <th>Estado</th>
                                            <th>Acciones</th>
                                        </tr>
                                    </thead>
                                    <tbody></tbody>
                                    <tfoot>
                                        <tr>
                                            <th></th>
                                            <th>Fecha</th>
                                            <th>Paciente</th>
                                            <th>Tipo</th>
                                            <th>Área</th>
                                            <th>Estado</th>
                                            <th>Acciones</th>
                                        </tr>
                                    </tfoot>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </div>

    <!-- MODAL: Ver Resultado -->
    <div class="modal fade" id="modalVerResultado" tabindex="-1" role="dialog">
        <div class="modal-dialog modal-lg" role="document">
            <div class="modal-content">
                <div class="modal-header" style="background:#27ae60;color:#fff;">
                    <button type="button" class="close" data-dismiss="modal" style="color:#fff;">&times;</button>
                    <h4 class="modal-title"><i class="fa fa-eye"></i> Resultado del Examen</h4>
                </div>
                <div class="modal-body" id="cuerpoResultado" style="text-align:center;padding:20px;">
                </div>
                <div class="modal-footer">
                    <a id="linkDescargarResultado" href="#" target="_blank" class="btn btn-primary">
                        <i class="fa fa-download"></i> Descargar
                    </a>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
                </div>
            </div>
        </div>
    </div>

    <?php require 'footer.php'; ?>

    <?php require_once 'empty_state.php'; ?>
    <script>
      window.EMPTY_STATE_EXAMENES = <?php echo json_encode(hc_empty_state_html(
          'flask',
          'Sin solicitudes de exámenes',
          'Las órdenes de laboratorio e imagenología que pidas para tus pacientes aparecerán aquí.',
          'Nueva solicitud',
          'examen_generar.php',
          ''
      )); ?>;
      window.ZERO_RECORDS_EXAMENES = "No se encontraron solicitudes con ese filtro.";
    </script>

    <script>
    var tabla;

    $(document).ready(function () {
        tabla = $('#tbllistado').DataTable({
            processing: true,
            language: {
                "processing":     "Procesando...",
                "lengthMenu":     "Mostrar _MENU_ registros",
                "zeroRecords":    (typeof window.ZERO_RECORDS_EXAMENES !== 'undefined') ? window.ZERO_RECORDS_EXAMENES : "No se encontraron solicitudes con ese filtro.",
                "emptyTable":     (typeof window.EMPTY_STATE_EXAMENES !== 'undefined') ? window.EMPTY_STATE_EXAMENES : "Sin solicitudes de exámenes.",
                "info":           "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
                "infoEmpty":      "Mostrando registros del 0 al 0 de un total de 0 registros",
                "infoFiltered":   "(filtrado de un total de _MAX_ registros)",
                "infoPostFix":    "",
                "search":         "Buscar:",
                "url":            "",
                "infoThousands":  ",",
                "loadingRecords": "Cargando...",
                "paginate": {
                    "first":    "Primero",
                    "last":     "Último",
                    "next":     "Siguiente",
                    "previous": "Anterior"
                },
                "aria": {
                    "sortAscending":  ": Activar para ordenar la columna de manera ascendente",
                    "sortDescending": ": Activar para ordenar la columna de manera descendente"
                }
            },
            ajax: {
                url: '../ajax/lab_rx.php?op=listar_historial_medico',
                type: 'POST',
                dataSrc: 'aaData'
            },
            columnDefs: [{ orderable: false, targets: [0, 6] }],
            columns: [
                { data: null, defaultContent: '<input type="checkbox" class="select-item">', orderable: false },
                { data: "0" },
                { data: "1" },
                { data: "2" },
                { data: "3" },
                { data: "4" },
                { data: "5", orderable: false }
            ],
            order: [[1, 'desc']]
        });

        // Seleccionar todos
        $('#checkAll').on('change', function () {
            $('.select-item').prop('checked', this.checked);
            actualizarBotonEliminar();
        });
        $('#tbllistado tbody').on('change', '.select-item', function () {
            actualizarBotonEliminar();
        });

        // Eliminar seleccionados
        $('#btnEliminarSeleccionados').on('click', function () {
            var ids = [];
            $('.select-item:checked').each(function () { ids.push($(this).val()); });
            if (ids.length === 0) return;
            bootbox.confirm('¿Eliminar ' + ids.length + ' solicitud(es) seleccionada(s)?', function (result) {
                if (!result) return;
                $.post('../ajax/solicitud_examen.php?op=eliminar_lote', { ids: ids }, function (resp) {
                    try { resp = (typeof resp === 'string') ? JSON.parse(resp) : resp; } catch(e) {}
                    if (resp.success) {
                        bootbox.alert(resp.message, function() { tabla.ajax.reload(); });
                    } else {
                        bootbox.alert('Error: ' + resp.message);
                    }
                });
            });
        });
    });

    function actualizarBotonEliminar() {
        var hay = $('.select-item:checked').length > 0;
        $('#btnEliminarSeleccionados').toggle(hay);
    }

    function verResultado(idsolicitud, rutaResultado) {
        // Marcar como visto
        $.post('../ajax/lab_rx.php?op=marcar_visto', { idsolicitud: idsolicitud }, function () {
            tabla.ajax.reload(null, false);
        });

        var rutaCompleta = '../' + rutaResultado;
        var ext = rutaResultado.split('.').pop().toLowerCase();
        var html = '';

        if (ext === 'pdf') {
            html = '<iframe src="' + rutaCompleta + '" width="100%" height="500px" style="border:none;"></iframe>';
        } else {
            html = '<img src="' + rutaCompleta + '" style="max-width:100%;border-radius:4px;" alt="Resultado">';
        }

        $('#cuerpoResultado').html(html);
        $('#linkDescargarResultado').attr('href', rutaCompleta);
        $('#modalVerResultado').modal('show');
    }
    </script>

    <?php
}
ob_end_flush();
?>