<?php
/**
 * ASISMA CRM - JS compartido de MARCAR COMO PAGADO (lista y detalle de cotizacion).
 * Confirma el pago, pide los datos de facturacion del cliente si faltan
 * (empresa aun no creada en el CE del franquiciado), genera la factura en
 * Control Empresas y notifica la venta a la marca. Todo auditado.
 */
?>
<?php include __DIR__ . '/_datos_facturacion_js.php'; ?>
<script>
function marcarComoPagada(id, folio) {
    Swal.fire({
        title: '¿Marcar ' + folio + ' como PAGADA?',
        html: '<div style="text-align:left;font-size:13px;line-height:1.7">Al confirmar el pago:<br>' +
              '• El lead pasa a <b>GANADO</b><br>' +
              '• Se genera la <b>FACTURA en Control Empresas</b><br>' +
              '• Se <b>notifica a la MARCA por correo</b> con el detalle de la compra</div>',
        icon: 'question', showCancelButton: true,
        confirmButtonText: 'Sí, me pagaron', cancelButtonText: 'Cancelar',
        background: '#1e293b', color: '#f8fafc', confirmButtonColor: '#10b981'
    }).then(function(res) {
        if (!res.isConfirmed) return;
        enviarMarcarPagada(id, {});
    });
}

function enviarMarcarPagada(id, extra) {
    Swal.fire({ title: 'Procesando el pago...', allowOutsideClick: false, didOpen: function() { Swal.showLoading(); }, background: '#1e293b', color: '#f8fafc' });
    $.post('<?php echo APP_URL; ?>/cotizaciones/marcar-pagada', $.extend({ id: id }, extra), function(r) {
        if (r.faltan_datos) {
            pedirDatosFacturacion(r, function(datos) { enviarMarcarPagada(id, datos); }, 'Guardar y facturar');
            return;
        }
        if (!r.success) {
            Swal.fire({ icon: 'error', title: 'No se pudo marcar como pagada', text: r.message, background: '#1e293b', color: '#f8fafc' });
            return;
        }
        var detalle = '<div style="text-align:left;font-size:13px;line-height:1.8">';
        (r.detalles || []).forEach(function(d) {
            var ok = d.indexOf('FALLÓ') === -1 && d.indexOf('error') === -1;
            detalle += '<div style="color:' + (ok ? '#6ee7b7' : '#fca5a5') + '">' + (ok ? '✔ ' : '✖ ') + $('<i>').text(d).html() + '</div>';
        });
        detalle += '</div>';
        Swal.fire({ icon: 'success', title: r.message, html: detalle, background: '#1e293b', color: '#f8fafc', confirmButtonColor: '#3b82f6' })
            .then(function() { location.reload(); });
    }, 'json');
}

// El modal de datos de facturación es compartido: _datos_facturacion_js.php
</script>
