<?php
session_start();
include("conexion.php");

$id_usuario = $_SESSION['id_usuario'];
$usuario = $conexion->query("SELECT * FROM usuarios_sistema WHERE id_usuario = $id_usuario")->fetch_assoc();

$rol = $usuario['rol'];
$id_empresa = $usuario['id_empresa'];
$id_bodega = $usuario['id_bodega'];
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Movimiento de Stock - Ferretería</title>
    <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-gray-100 p-6 font-sans">

<h1 class="text-2xl font-bold mb-4">📦 Movimiento de Stock - Ferretería</h1>

<!-- Botón para abrir modal -->
<button onclick="document.getElementById('modalMovimiento').classList.remove('hidden')" class="bg-green-600 hover:bg-green-700 text-white font-semibold py-2 px-4 rounded-md">
    ➤ Registrar Movimiento
</button>

<!-- Modal -->
<div id="modalMovimiento" class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center pt-10 z-50 hidden">
    <div class="bg-white w-full max-w-3xl rounded-lg shadow-lg p-6 relative">
        <button onclick="document.getElementById('modalMovimiento').classList.add('hidden')" class="absolute top-4 right-4 text-xl font-bold text-gray-600 hover:text-red-500">&times;</button>
        
        <h2 class="text-xl font-semibold mb-4">Registrar Movimiento de Stock</h2>

        <form action="procesar_movimiento.php" method="POST" class="space-y-4">
            <!-- Tipo de Movimiento -->
            <div>
                <label class="block font-medium mb-1">Tipo de Movimiento:</label>
                <select name="tipo" class="w-full border-gray-300 rounded-md shadow-sm" required>
                    <option value="ingreso" selected>Ingreso</option>
                </select>
            </div>

            <!-- Fecha del Movimiento -->
            <div>
                <label class="block font-medium mb-1">Fecha del Movimiento:</label>
                <input type="date" name="fecha_movimiento" class="w-full border border-gray-300 rounded-md shadow-sm" required>
            </div>

            <!-- Fecha de Registro -->
            <div>
                <label class="block font-medium mb-1">Fecha de Registro (Sistema):</label>
                <input type="text" value="<?php echo date('Y-m-d H:i:s'); ?>" disabled class="w-full border border-gray-200 bg-gray-100 rounded-md shadow-sm">
            </div>

            <!-- Empresa y Bodega -->
            <?php if ($rol == 'admin_general') { ?>
                <div>
                    <label class="block font-medium mb-1">Empresa:</label>
                    <select name="empresa" id="empresa" class="w-full border-gray-300 rounded-md shadow-sm" required>
                        <option value="">Seleccionar empresa</option>
                        <?php
                        $empresas = $conexion->query("SELECT * FROM empresas");
                        while ($emp = $empresas->fetch_assoc()) {
                            echo "<option value='{$emp['id_empresa']}'>{$emp['nombre']}</option>";
                        }
                        ?>
                    </select>
                </div>
                <div>
                    <label class="block font-medium mb-1">Bodega:</label>
                    <select name="bodega" id="bodega" class="w-full border-gray-300 rounded-md shadow-sm" required>
                        <option value="">Seleccionar bodega</option>
                    </select>
                </div>
            <?php } elseif ($rol == 'admin_empresa') {
                $empresa = $conexion->query("SELECT nombre FROM empresas WHERE id_empresa = $id_empresa")->fetch_assoc();
            ?>
                <div>
                    <label class="block font-medium mb-1">Empresa:</label>
                    <input type="text" value="<?php echo $empresa['nombre']; ?>" disabled class="w-full bg-gray-100 border border-gray-200 rounded-md shadow-sm">
                    <input type="hidden" name="empresa" value="<?php echo $id_empresa; ?>">
                </div>
                <div>
                    <label class="block font-medium mb-1">Bodega:</label>
                    <select name="bodega" id="bodega" class="w-full border-gray-300 rounded-md shadow-sm" required>
                        <option value="">Seleccionar bodega</option>
                        <?php
                        $bodegas = $conexion->query("SELECT * FROM bodegas WHERE id_empresa = $id_empresa");
                        while ($b = $bodegas->fetch_assoc()) {
                            echo "<option value='{$b['id_bodega']}'>{$b['nombre']}</option>";
                        }
                        ?>
                    </select>
                </div>
            <?php } else {
                $empresa = $conexion->query("SELECT nombre FROM empresas WHERE id_empresa = $id_empresa")->fetch_assoc();
                $bodega = $conexion->query("SELECT nombre FROM bodegas WHERE id_bodega = $id_bodega")->fetch_assoc();
            ?>
                <div>
                    <label class="block font-medium mb-1">Empresa:</label>
                    <input type="text" value="<?php echo $empresa['nombre']; ?>" disabled class="w-full bg-gray-100 border border-gray-200 rounded-md shadow-sm">
                    <input type="hidden" name="empresa" value="<?php echo $id_empresa; ?>">
                </div>
                <div>
                    <label class="block font-medium mb-1">Bodega:</label>
                    <input type="text" value="<?php echo $bodega['nombre']; ?>" disabled class="w-full bg-gray-100 border border-gray-200 rounded-md shadow-sm">
                    <input type="hidden" name="bodega" value="<?php echo $id_bodega; ?>">
                </div>
            <?php } ?>

            <!-- Detalle -->
            <div>
                <label class="block font-medium mb-1">Detalle de la Boleta:</label>
                <textarea name="detalle" rows="3" class="w-full border border-gray-300 rounded-md shadow-sm" required></textarea>
            </div>

            <!-- Productos -->
            <div id="productos_carro_container" class="space-y-3">
                <div class="grid grid-cols-1 md:grid-cols-2 gap-4 items-end">
                    <div>
                        <label class="block font-medium mb-1">Producto:</label>
                        <select name="productos_carro[]" id="producto_1" class="w-full border-gray-300 rounded-md shadow-sm" required>
                            <option value="">Seleccionar</option>
                        </select>
                    </div>
                    <div>
                        <label class="block font-medium mb-1">Cantidad:</label>
                        <input type="number" name="cantidades_carro[]" class="w-full border border-gray-300 rounded-md shadow-sm" required>
                    </div>
                </div>
            </div>

            <button type="button" onclick="agregarProductoCarro()" class="text-sm text-blue-600 hover:underline">
                ➤ Agregar otro producto
            </button>

            <div class="pt-4">
                <button type="submit" class="bg-green-600 hover:bg-green-700 text-white font-semibold py-2 px-6 rounded-md">
                    Guardar Movimiento
                </button>
            </div>
        </form>
    </div>
</div>

<script>
    let productosDisponibles = [];

    function cargarProductosDisponibles(bodegaId) {
        const productoSelect = document.getElementById('producto_1');
        productoSelect.innerHTML = '<option>Cargando productos...</option>';
        fetch('ferreteria.php?bodega_id=' + bodegaId)
            .then(res => res.json())
            .then(data => {
                productosDisponibles = data;
                renderOpciones(productoSelect, productosDisponibles);
            })
            .catch(err => {
                console.error('Error cargando productos:', err);
                productoSelect.innerHTML = '<option value="">Error al cargar</option>';
            });
    }

    function renderOpciones(select, productos) {
        select.innerHTML = '<option value="">Seleccionar producto</option>';
        productos.forEach(p => {
            select.innerHTML += `<option value="${p.id_producto}">${p.nombre}</option>`;
        });
    }

    const bodegaSelect = document.getElementById('bodega');
    if (bodegaSelect) {
        bodegaSelect.addEventListener('change', function () {
            cargarProductosDisponibles(this.value);
        });
    }

    const empresaSelect = document.getElementById('empresa');
    if (empresaSelect) {
        empresaSelect.addEventListener('change', function () {
            const empresaId = this.value;
            fetch('bodegas.php?empresa_id=' + empresaId)
                .then(res => res.json())
                .then(data => {
                    bodegaSelect.innerHTML = '<option value="">Seleccionar bodega</option>';
                    data.forEach(b => {
                        bodegaSelect.innerHTML += `<option value="${b.id_bodega}">${b.nombre}</option>`;
                    });
                });
        });
    }

    function agregarProductoCarro() {
        const container = document.getElementById("productos_carro_container");
        const id = Math.floor(Math.random() * 10000);
        const div = document.createElement("div");
        div.classList = "grid grid-cols-1 md:grid-cols-2 gap-4 items-end";

        div.innerHTML = `
            <div>
                <label class="block font-medium mb-1">Producto:</label>
                <select name="productos_carro[]" id="producto_${id}" class="w-full border-gray-300 rounded-md shadow-sm" required>
                    <option value="">Seleccionar</option>
                </select>
            </div>
            <div>
                <label class="block font-medium mb-1">Cantidad:</label>
                <input type="number" name="cantidades_carro[]" class="w-full border border-gray-300 rounded-md shadow-sm" required>
            </div>
        `;
        container.appendChild(div);
        const nuevoSelect = document.getElementById(`producto_${id}`);
        if (productosDisponibles.length > 0) {
            renderOpciones(nuevoSelect, productosDisponibles);
        }
    }

    <?php if ($rol != 'admin_general' && $rol != 'admin_empresa') { ?>
    document.addEventListener('DOMContentLoaded', function () {
        const bodegaId = '<?php echo $id_bodega; ?>';
        if (bodegaId) {
            cargarProductosDisponibles(bodegaId);
        }
    });
    <?php } ?>
</script>

</body>
</html>
