/**
 * Gestión de Venta Especial
 */

document.addEventListener('DOMContentLoaded', () => {
    const modalEspecial = document.getElementById('modalVentaEspecial');
    const formEspecial = document.getElementById('formVentaEspecial');
    const btnOpen = document.getElementById('btnVentaEspecial');
    const btnClose = document.getElementById('btnCloseVentaEspecial');
    const btnCancel = document.getElementById('btnCancelVentaEspecial');

    // Abrir Modal
    if (btnOpen) {
        btnOpen.addEventListener('click', (e) => {
            e.preventDefault();
            modalEspecial.style.display = 'block';
            document.getElementById('descVentaEspecial').focus();
        });
    }

    // Cerrar Modal
    function closeModal() {
        modalEspecial.style.display = 'none';
        formEspecial.reset();
    }

    if (btnClose) btnClose.addEventListener('click', closeModal);
    if (btnCancel) btnCancel.addEventListener('click', closeModal);

    // Cerrar al hacer clic fuera del modal
    window.addEventListener('click', (e) => {
        if (e.target === modalEspecial) {
            closeModal();
        }
    });

    // Enviar Formulario
    if (formEspecial) {
        formEspecial.addEventListener('submit', async (e) => {
            e.preventDefault();

            const descripcion = document.getElementById('descVentaEspecial').value;
            const precio = document.getElementById('precioVentaEspecial').value;

            if (!descripcion || !precio) {
                alert('Por favor complete todos los campos');
                return;
            }

            const submitBtn = formEspecial.querySelector('button[type="submit"]');
            const originalText = submitBtn.textContent;
            submitBtn.disabled = true;
            submitBtn.textContent = 'Guardando...';

            try {
                const response = await fetch('api/ventas/guardar_especial.php', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                        descripcion: descripcion,
                        precio: precio
                    })
                });

                const data = await response.json();

                if (data.success) {
                    // alert('✅ Venta especial registrada correctamente');
                    closeModal();
                    // Recargar totales del header si existen
                    if (typeof loadSalesSummary === 'function') {
                        loadSalesSummary();
                    } else {
                        // Fallback: recargar página si no hay función dinámica
                        location.reload();
                    }
                } else {
                    throw new Error(data.error || 'Error desconocido');
                }
            } catch (error) {
                console.error('Error:', error);
                alert('❌ Error: ' + error.message);
            } finally {
                submitBtn.disabled = false;
                submitBtn.textContent = originalText;
            }
        });
    }
});
