<?php
// Confirmar sesión
session_start();
if (!isset($_SESSION['loggedin'])) {
    header('Location: index.php');
    exit;
}

include_once('conexion.php');

// Obtener lista de descripciones previas
$sql_descripciones = "SELECT DISTINCT desgas FROM gasto ORDER BY desgas ASC";
$resultado_descripciones = mysqli_query($conexion, $sql_descripciones);
$descripciones = array();
while ($fila = mysqli_fetch_assoc($resultado_descripciones)) {
    $descripciones[] = $fila['desgas'];
}

// Obtener lista de usuarios
$sql_usuarios = "SELECT idusu, nomusu FROM usuario ORDER BY nomusu ASC";
$resultado_usuarios = mysqli_query($conexion, $sql_usuarios);
$usuarios = array();
while ($fila = mysqli_fetch_assoc($resultado_usuarios)) {
    $usuarios[] = $fila;
}

// Guardar gastos
if (isset($_POST['guardar'])) {
    foreach ($_POST['gastos'] as $gasto) {
        $idusu = $gasto['idusu'];
        $fecha = $gasto['fecha'];
        $descripcion = $gasto['descripcion'];
        $monto = $gasto['monto'];
        
        $sql = "INSERT INTO gasto (idusu, FecGas, desgas, cosgas) VALUES ('$idusu', '$fecha', '$descripcion', '$monto')";
        mysqli_query($conexion, $sql);
    }
    header('Location: gastos.php');
    exit;
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Registro de Gastos por Volumen</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        let usuarios = <?php echo json_encode($usuarios); ?>;
    </script>
</head>
<body class="loggedin">
    <nav class="navtop">
        <h1 style="color:white;">Registro de Gastos por Volumen</h1>
        <table width="35%" border="0" style="width: 200px;">
            <tr>
                <td><a href="gastos.php" style="color:white;">Regresar</a></td>
                <td><a href="inicio.php" style="color:white;">Cerrar</a></td>
            </tr>
        </table>
    </nav>
    <br><br>
    <center>
        <h1>Registrar Gastos en Volumen</h1>
        <form method="post" action="">
            <table border="2" id="tabla_gastos" cellpadding="5">
                <tr>
                    <th>Responsable</th>
                    <th>Fecha</th>
                    <th>Descripción</th>
                    <th>Monto</th>
                </tr>
                <tr>
                    <td>
                        <select name="gastos[0][idusu]" class="responsable">
                            <?php foreach ($usuarios as $usuario) {
                                $selected = ($usuario['idusu'] == 2) ? "selected" : "";
                                echo "<option value='{$usuario['idusu']}' $selected>{$usuario['nomusu']}</option>";
                            } ?>
                        </select>
                    </td>
                    <td><input type="date" name="gastos[0][fecha]" required autofocus></td>
                    <td><input type="text" name="gastos[0][descripcion]" class="descripcion" list="sugerencias" required></td>
                    <td><input type="number" name="gastos[0][monto]" step="0.01" required></td>
                </tr>
            </table>
            <br>
            <button type="button" onclick="agregarFila()">Agregar Fila</button>
            <button type="submit" name="guardar">Guardar</button>
        </form>
        
        <datalist id="sugerencias">
            <?php foreach ($descripciones as $desc) { echo "<option value='$desc'></option>"; } ?>
        </datalist>
    </center>

    <script>
        let contador = 1;
        function generarSelectUsuarios(index) {
            let select = `<select name='gastos[${index}][idusu]'>`;
            usuarios.forEach(usuario => {
                let selected = usuario.idusu == 2 ? "selected" : "";
                select += `<option value='${usuario.idusu}' ${selected}>${usuario.nomusu}</option>`;
            });
            select += `</select>`;
            return select;
        }

        function agregarFila() {
            let fila = `<tr>
                            <td>${generarSelectUsuarios(contador)}</td>
                            <td><input type='date' name='gastos[${contador}][fecha]' required></td>
                            <td><input type='text' name='gastos[${contador}][descripcion]' class='descripcion' list='sugerencias' required></td>
                            <td><input type='number' name='gastos[${contador}][monto]' step='0.01' required></td>
                        </tr>`;
            $("#tabla_gastos").append(fila);
            contador++;
        }
    </script>
</body>
</html>
