<?php
session_start();
require_once "modelo/Db.php";

if (!isset($_SESSION['usu_codigo'])) {
    header("Location: sba_login.php");
    exit;
}

$bd = new clsbdd();

// Verificar si hay caja abierta para este usuario
$caja = $bd->ejecutar_fila("
    SELECT * FROM sba_caja 
    WHERE usu_codigo = {$_SESSION['usu_codigo']} 
      AND caj_estado = 'ABIERTA' 
      AND caj_fecha_cierre IS NULL
    LIMIT 1
");

$cajaAbierta = $caja ? true : false;

// Obtener productos
$productos = $bd->ejecutar_array("SELECT * FROM sba_productos ORDER BY prd_nombre");

// Funciones para deshabilitar inputs/botones
function deshabilitado($cajaAbierta) {
    return $cajaAbierta ? "" : "disabled";
}

function claseDisabled($cajaAbierta) {
    return $cajaAbierta ? "" : "disabled-pos";
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>POS - Ventas</title>
<style>
body { font-family: Arial; background: #f5f5f5; padding: 20px; }
h1 { text-align: center; margin-bottom: 20px; }
.mensaje-alerta { background-color: #ffdddd; border: 1px solid #ff5c5c; padding: 15px; margin-bottom: 20px; color: #900; font-weight: bold; text-align: center; }
form { max-width: 600px; margin: 0 auto; background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.2); }
label { display: block; margin-top: 15px; font-weight: bold; }
select, input { width: 100%; padding: 12px; margin-top: 5px; border-radius: 8px; border: 1px solid #ccc; font-size: 16px; transition: 0.3s; }
select:disabled, input:disabled { background-color: #eee; color: #999; }
.btn-pos { display: inline-block; padding: 15px 20px; margin: 5px; font-size: 18px; border: none; border-radius: 10px; cursor: pointer; background-color: #28a745; color: white; transition: 0.3s; }
.btn-pos:hover:not(:disabled) { background-color: #218838; }
.btn-pos:disabled, .disabled-pos { background-color: #ccc; cursor: not-allowed; color: #666; }
#botones-cantidad { text-align: center; margin-top: 15px; }
#total { font-weight: bold; font-size: 18px; margin-top: 10px; text-align: right; }
#salir { background-color: #dc3545; }
#salir:hover { background-color: #b02a37; }
</style>
</head>
<body>
<h1>Terminal de Ventas POS</h1>

<?php if (!$cajaAbierta): ?>
    <div class="mensaje-alerta">
        La caja no está abierta. No se pueden realizar ventas hasta abrir la caja.
    </div>
<?php endif; ?>

<form action="guardar_venta.php" method="post">
    <label for="producto">Producto:</label>
    <select id="producto" name="producto" class="<?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?>>
        <?php foreach ($productos as $p): ?>
            <option value="<?= $p['prd_codigo'] ?>"><?= htmlspecialchars($p['prd_nombre']) ?></option>
        <?php endforeach; ?>
    </select>

    <label for="cantidad">Cantidad:</label>
    <input type="number" id="cantidad" name="cantidad" min="1" value="1" class="<?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?>>

    <div id="botones-cantidad">
        <button type="button" class="btn-pos <?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?> onclick="sumarCantidad(1)">+1</button>
        <button type="button" class="btn-pos <?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?> onclick="sumarCantidad(5)">+5</button>
        <button type="button" class="btn-pos <?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?> onclick="sumarCantidad(10)">+10</button>
    </div>

    <label for="precio">Precio:</label>
    <input type="text" id="precio" name="precio" class="<?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?>>

    <div id="total">Total: $<span id="totalValor">0.00</span></div>

    <button type="submit" class="btn-pos <?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?>>Guardar Venta</button>
    <button type="reset" class="btn-pos <?= claseDisabled($cajaAbierta) ?>" <?= deshabilitado($cajaAbierta) ?>>Limpiar</button>
    <button type="button" class="btn-pos" id="salir" onclick="salirPOS()">Salir</button>
</form>

<script>
function sumarCantidad(valor) {
    let cantidadInput = document.getElementById('cantidad');
    cantidadInput.value = parseInt(cantidadInput.value) + valor;
    calcularTotal();
}

function calcularTotal() {
    let cantidad = parseInt(document.getElementById('cantidad').value) || 0;
    let precio = parseFloat(document.getElementById('precio').value) || 0;
    document.getElementById('totalValor').innerText = (cantidad * precio).toFixed(2);
}

document.getElementById('cantidad').addEventListener('input', calcularTotal);
document.getElementById('precio').addEventListener('input', calcularTotal);

// Botón Salir
function salirPOS() {
    window.location.href = 'logout.php'; // redirige al logout que destruye sesión
}
</script>
</body>
</html>
