<?php
/**
 * ASISMA CRM - Modal genérico de DATOS DE FACTURACIÓN del cliente.
 * Se levanta cuando el servidor responde faltan_datos (al generar la
 * cotización o al marcarla pagada). Recibe la respuesta del servidor y un
 * callback que se invoca con los campos fact_* para reintentar la acción.
 */
?>
<script>
function pedirDatosFacturacion(r, alConfirmar, textoBoton) {
    var esc = function(t) { return $('<i>').text(t == null ? '' : t).html(); };
    var e = r.empresa || {};
    var opciones = '<option value="">-- Elegir comuna --</option>';
    (r.comunas || []).forEach(function(c) {
        opciones += '<option value="' + c.id + '"' + (e.comuna_id == c.id ? ' selected' : '') + '>' + esc(c.nombre) + '</option>';
    });
    var estiloCampo = 'width:100%;margin-bottom:8px;padding:8px 10px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f8fafc;font-size:13px';
    Swal.fire({
        title: 'Faltan datos para facturar',
        html: '<div style="text-align:left;font-size:13px">' +
              '<p style="margin-bottom:10px;color:#94a3b8"><b style="color:#fff">' + esc(e.nombre) + '</b> (' + esc(e.rut) + ') necesita sus datos de facturación completos. Complétalos para continuar:</p>' +
              '<label style="font-size:11px;color:#94a3b8">Giro *</label>' +
              '<input id="factGiro" style="' + estiloCampo + '" value="' + esc(e.giro) + '" placeholder="Ej: VENTA DE PRODUCTOS FARMACEUTICOS">' +
              '<label style="font-size:11px;color:#94a3b8">Dirección (calle y número) *</label>' +
              '<input id="factDireccion" style="' + estiloCampo + '" value="' + esc(e.direccion) + '" placeholder="Av. Ejemplo 1234">' +
              '<label style="font-size:11px;color:#94a3b8">Comuna *</label>' +
              '<select id="factComuna" style="' + estiloCampo + '">' + opciones + '</select>' +
              '<label style="font-size:11px;color:#94a3b8">Correo de facturación *</label>' +
              '<input id="factEmail" style="' + estiloCampo + '" value="' + esc(e.email) + '" placeholder="facturacion@cliente.cl">' +
              '<label style="font-size:11px;color:#94a3b8">Teléfono *</label>' +
              '<input id="factTelefono" style="' + estiloCampo + '" value="' + esc(e.telefono) + '" placeholder="+56 9 ...">' +
              '</div>',
        showCancelButton: true,
        confirmButtonText: textoBoton || 'Guardar y continuar',
        cancelButtonText: 'Cancelar',
        background: '#1e293b', color: '#f8fafc', confirmButtonColor: '#10b981',
        preConfirm: function() {
            var datos = {
                fact_giro: $('#factGiro').val().trim(),
                fact_direccion: $('#factDireccion').val().trim(),
                fact_comuna_id: $('#factComuna').val(),
                fact_email: $('#factEmail').val().trim(),
                fact_telefono: $('#factTelefono').val().trim()
            };
            if (!datos.fact_giro || !datos.fact_direccion || !datos.fact_comuna_id || !datos.fact_email || !datos.fact_telefono) {
                Swal.showValidationMessage('Todos los datos de facturación son obligatorios.');
                return false;
            }
            return datos;
        }
    }).then(function(res) {
        if (res.isConfirmed && res.value) alConfirmar(res.value);
    });
}
</script>
