let carrito = {};

function agregarProducto(id, nombre, precio) {
    if (!carrito[id]) {
        carrito[id] = { nombre, precio, cantidad: 1 };
    } else {
        carrito[id].cantidad++;
    }
    render();
}

function render() {
    let tbody = document.querySelector("#tablaVenta tbody");
    tbody.innerHTML = "";
    let total = 0;

    for (let id in carrito) {
        let p = carrito[id];
        let sub = p.precio * p.cantidad;
        total += sub;

        tbody.innerHTML += `
        <tr>
            <td>${p.nombre}</td>
            <td>${p.cantidad}</td>
            <td>$${sub.toFixed(2)}</td>
        </tr>`;
    }

    document.getElementById("total").innerText = total.toFixed(2);

    let entregado = parseFloat(document.getElementById("entregado").value || 0);
    document.getElementById("vuelto").innerText = (entregado - total).toFixed(2);
}

document.getElementById("entregado").addEventListener("input", render);

document.getElementById("formVenta").addEventListener("submit", function(e){
    e.preventDefault();

    let form = new FormData(this);

    for (let id in carrito) {
        form.append(`cantidad[${id}]`, carrito[id].cantidad);
    }

    fetch("guardar_venta.php", {
        method: "POST",
        body: form
    })
    .then(r => r.json())
    .then(d => {
        if (d.ok) {
            alert("Venta realizada\nVuelto: $" + d.vuelto);
            location.reload();
        } else {
            alert("Error");
        }
    });
});
