<?php
/**
 * ASISMA CRM - Ver Cotización Detalle (Vendedor)
 */
$productos = json_decode($cotiz['productos_json'], true) ?: [];
$moneda = isset($cotiz['moneda']) ? $cotiz['moneda'] : 'CLP';
$publicLink = APP_URL . '/cotizaciones/publica?h=' . $cotiz['hash'];
?>
<!-- Header -->
<div class="mb-8 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4">
    <div>
        <a href="<?php echo APP_URL; ?>/leads/ver?id=<?php echo $cotiz['lead_id']; ?>" class="inline-flex items-center gap-1.5 text-xs text-slate-500 hover:text-slate-300 font-semibold mb-3">
            <i data-lucide="arrow-left" class="w-3.5 h-3.5"></i>
            <span>Volver al Lead</span>
        </a>
        <h1 class="text-3xl font-extrabold text-white tracking-tight">Cotización <?php echo folio_cotizacion($cotiz); ?></h1>
        <p class="text-slate-400 text-sm mt-1">Creada el <?php echo date('d-m-Y H:i', strtotime($cotiz['created_at'])); ?> para <strong class="text-slate-200"><?php echo htmlspecialchars($cotiz['cliente_razon_social']); ?></strong></p>
    </div>
    
    <!-- Actions -->
    <div class="flex gap-3">
        <!-- PDF Download -->
        <a href="<?php echo APP_URL; ?>/cotizaciones/ver?id=<?php echo $cotiz['id']; ?>&pdf=1" target="_blank"
           class="px-4 py-2.5 bg-slate-900 hover:bg-slate-800 border border-slate-800 text-slate-200 rounded-xl text-sm font-semibold transition-colors flex items-center gap-1.5">
            <i data-lucide="file-text" class="w-4 h-4 text-red-500"></i>
            <span>Descargar PDF</span>
        </a>
        
        <!-- Enviar / reenviar al cliente por los canales elegidos -->
        <?php if (!in_array($cotiz['estado'], array('pagada', 'rechazada', 'vencida'))): ?>
        <button type="button" onclick="enviarCotizacionCliente()"
                class="px-4 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white rounded-xl text-sm font-semibold transition-all shadow-md flex items-center gap-1.5">
            <i data-lucide="send" class="w-4 h-4"></i>
            <span>Enviar al Cliente</span>
        </button>
        <?php endif; ?>

        <!-- Public view test link -->
        <a href="<?php echo $publicLink; ?>" target="_blank"
           class="px-4 py-2.5 bg-blue-600 hover:bg-blue-500 text-white rounded-xl text-sm font-semibold transition-all shadow-md flex items-center gap-1.5">
            <i data-lucide="external-link" class="w-4 h-4"></i>
            <span>Ver Cotización</span>
        </a>
    </div>
</div>

<!-- Main detailed Grid -->
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
    
    <!-- Left column: Summary details and Share link -->
    <div class="lg:col-span-2 space-y-6">
        
        <!-- Public quote link card -->
        <div class="bg-slate-900 border border-slate-800 rounded-2xl p-6 shadow-xl relative overflow-hidden">
            <div class="absolute top-0 right-0 w-24 h-24 bg-blue-500/5 rounded-full blur-2xl"></div>
            
            <h3 class="text-xs font-bold text-white uppercase tracking-wider mb-2">Enlace de la Cotización Digital para Enviar al Cliente</h3>
            <p class="text-xs text-slate-400 mb-4">Comparta este enlace único. Cuenta con seguimiento automático de lecturas y botones para que el cliente pueda aceptar o rechazar en línea.</p>
            
            <div class="flex gap-2">
                <input type="text" id="publicLinkInput" readonly value="<?php echo $publicLink; ?>"
                       class="block flex-1 px-3 py-2.5 bg-slate-950 border border-slate-800 rounded-xl text-slate-300 font-mono text-xs focus:outline-none">
                <button type="button" id="copyLinkBtn"
                        class="px-4 bg-slate-800 hover:bg-slate-700 text-slate-200 hover:text-white rounded-xl text-xs font-semibold border border-slate-700 transition-colors flex items-center gap-1.5">
                    <i data-lucide="copy" class="w-4 h-4"></i>
                    <span>Copiar</span>
                </button>
            </div>
        </div>

        <!-- Quote products table -->
        <div class="bg-slate-900 border border-slate-800 rounded-2xl overflow-hidden shadow-xl">
            <div class="px-6 py-4 border-b border-slate-800 bg-slate-950">
                <h3 class="text-sm font-bold text-white uppercase tracking-wider">Conceptos y Productos</h3>
            </div>
            
            <table class="w-full text-left text-sm border-collapse">
                <thead>
                    <tr class="bg-slate-950 border-b border-slate-800 text-slate-500 uppercase text-[10px] tracking-wider">
                        <th class="px-6 py-3 font-semibold">Producto / Concepto</th>
                        <th class="px-6 py-3 font-semibold text-center">Cant.</th>
                        <th class="px-6 py-3 font-semibold text-right">Precio Unitario</th>
                        <th class="px-6 py-3 font-semibold text-right">Total Neto</th>
                    </tr>
                </thead>
                <tbody class="divide-y divide-slate-850 text-slate-300">
                    <?php foreach ($productos as $p):
                        $itemEsUf = isset($p['moneda']) && $p['moneda'] === 'UF';
                        if (isset($p['clase']) && $p['clase'] === 'servicio_plan'): ?>
                        <!-- Plan de servicio (cotización premium) -->
                        <tr>
                            <td class="px-6 py-4 font-semibold text-slate-200">
                                <?php echo htmlspecialchars($p['plan_nombre'] . ' — ' . $p['servicio_nombre']); ?>
                                <span class="block text-[10px] text-purple-300 font-normal">Servicio con plan (documento premium)</span>
                            </td>
                            <td class="px-6 py-4 text-center">1</td>
                            <td class="px-6 py-4 text-right font-mono text-xs">
                                <?php if ($p['precio_inicial'] !== null): ?>
                                <span class="block">Inicial: <?php echo $itemEsUf ? 'UF ' . number_format($p['precio_inicial'], 2, ',', '.') : '$' . number_format($p['precio_inicial'], 0, ',', '.'); ?></span>
                                <?php endif; ?>
                                <?php if ($p['precio_mensual'] !== null): ?>
                                <span class="block text-[10px] text-slate-500">Mensual: <?php echo $itemEsUf ? 'UF ' . number_format($p['precio_mensual'], 2, ',', '.') : '$' . number_format($p['precio_mensual'], 0, ',', '.'); ?> (recurrente)</span>
                                <?php endif; ?>
                            </td>
                            <td class="px-6 py-4 text-right font-mono text-xs font-bold text-slate-200">$<?php echo number_format(isset($p['precio_inicial_clp']) ? $p['precio_inicial_clp'] : 0, 0, ',', '.'); ?></td>
                        </tr>
                        <?php continue; endif; ?>
                        <tr>
                            <td class="px-6 py-4 font-semibold text-slate-200">
                                <?php echo htmlspecialchars($p['nombre']); ?>
                                <?php if (!empty($p['es_suscripcion'])): ?>
                                <span class="block text-[10px] text-purple-300 font-normal">Suscripción <?php echo htmlspecialchars($p['periodo_suscripcion']); ?></span>
                                <?php endif; ?>
                            </td>
                            <td class="px-6 py-4 text-center"><?php echo (int)($p['cantidad']); ?></td>
                            <td class="px-6 py-4 text-right font-mono text-xs">
                                <?php if ($itemEsUf): ?>
                                UF <?php echo number_format($p['precio'], 2, ',', '.'); ?>
                                <span class="block text-[10px] text-slate-500">≈ $<?php echo number_format(isset($p['precio_clp']) ? $p['precio_clp'] : $p['precio'], 0, ',', '.'); ?></span>
                                <?php else: ?>
                                $<?php echo number_format($p['precio'], 0, ',', '.'); ?>
                                <?php endif; ?>
                            </td>
                            <td class="px-6 py-4 text-right font-mono text-xs font-bold text-slate-200">$<?php echo number_format($p['total'], 0, ',', '.'); ?></td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>

        <!-- Notes -->
        <?php if (!empty($cotiz['notas'])): ?>
            <div class="bg-slate-900 border border-slate-800 rounded-2xl p-6 shadow-xl">
                <h3 class="text-xs font-bold text-white uppercase tracking-wider mb-3">Condiciones de la Cotización</h3>
                <p class="text-xs text-slate-400 leading-relaxed whitespace-pre-wrap"><?php echo htmlspecialchars($cotiz['notas']); ?></p>
            </div>
        <?php endif; ?>

    </div>

    <!-- Right column: Totals and logs -->
    <div class="lg:col-span-1 space-y-6">
        
        <!-- Totals summary card -->
        <div class="bg-slate-900 border border-slate-800 rounded-2xl p-6 shadow-xl">
            <h3 class="text-xs font-bold text-white uppercase tracking-wider mb-6 border-b border-slate-800 pb-2">Resumen</h3>
            
            <div class="space-y-4 text-sm">
                <div class="flex justify-between text-slate-400">
                    <span>Subtotal Neto:</span>
                    <span class="font-mono text-slate-300 font-bold">$<?php echo number_format($cotiz['subtotal'], 0, ',', '.'); ?></span>
                </div>
                
                <?php if ($cotiz['descuento_valor'] > 0): ?>
                    <?php 
                    $descMonto = $cotiz['descuento_tipo'] === 'porcentaje'
                        ? ($cotiz['subtotal'] * $cotiz['descuento_valor'] / 100)
                        : $cotiz['descuento_valor'];
                    ?>
                    <div class="flex justify-between text-slate-400">
                        <span>Descuento (<?php echo $cotiz['descuento_tipo'] === 'porcentaje' ? $cotiz['descuento_valor'] . '%' : '$'; ?>):</span>
                        <span class="font-mono text-red-400 font-bold">-$<?php echo number_format($descMonto, 0, ',', '.'); ?></span>
                    </div>
                <?php endif; ?>

                <?php 
                $baseConDescuento = $cotiz['subtotal'] - (isset($descMonto) ? $descMonto : 0);
                $ivaMonto = $baseConDescuento * ($cotiz['impuesto_pct'] / 100);
                ?>
                <div class="flex justify-between text-slate-400">
                    <span>IVA (<?php echo $cotiz['impuesto_pct']; ?>%):</span>
                    <span class="font-mono text-slate-300 font-bold">$<?php echo number_format($ivaMonto, 0, ',', '.'); ?></span>
                </div>
                
                <div class="flex justify-between text-slate-200 border-t border-slate-850 pt-4 text-base font-bold">
                    <span>Total CLP:</span>
                    <span class="font-mono text-emerald-400 font-extrabold">$<?php echo number_format($cotiz['total'], 0, ',', '.'); ?></span>
                </div>
            </div>

            <!-- Validity and states -->
            <div class="border-t border-slate-850 mt-6 pt-6 space-y-4 text-xs">
                <div class="flex justify-between">
                    <span class="text-slate-500">Estado de Cotización:</span>
                    <span class="font-bold text-slate-300 uppercase"><?php echo $cotiz['estado']; ?></span>
                </div>
                <?php
                // Servicios (flujo OPS): la transferencia ES la aceptación, así
                // que el botón de pagado aparece desde que la cotización existe.
                $esServicioVer = isset($cotiz['tipo']) && $cotiz['tipo'] !== 'productos';
                $puedeMarcarPagada = $cotiz['estado'] === 'aceptada'
                    || ($esServicioVer && in_array($cotiz['estado'], array('borrador', 'enviada', 'vista')));
                ?>
                <?php if ($puedeMarcarPagada): ?>
                <button onclick="marcarComoPagada(<?php echo (int)$cotiz['id']; ?>, '<?php echo folio_cotizacion($cotiz); ?>')"
                        class="w-full inline-flex items-center justify-center gap-2 px-4 py-3 bg-emerald-600 hover:bg-emerald-500 text-white rounded-xl text-sm font-black uppercase tracking-wide transition-colors shadow-lg shadow-emerald-600/20"
                        title="Confirmar el pago: genera la factura en Control Empresas y notifica a la marca">
                    <i data-lucide="badge-dollar-sign" class="w-5 h-5"></i> Marcar como pagado
                </button>
                <?php if ($esServicioVer && $cotiz['estado'] !== 'aceptada'): ?>
                <p class="text-[10px] text-slate-500 text-center mt-1.5">En cotizaciones de servicio, la transferencia del cliente constituye la aceptación.</p>
                <?php endif; ?>
                <?php endif; ?>
                <div class="flex justify-between">
                    <span class="text-slate-500">Vence:</span>
                    <span class="font-mono text-red-400 font-bold"><?php echo date('d-m-Y H:i', strtotime($cotiz['vencimiento_at'])); ?></span>
                </div>
                <?php if ($cotiz['vista_at']): ?>
                    <div class="flex justify-between">
                        <span class="text-slate-500">Visualizado por cliente:</span>
                        <span class="text-slate-300 font-bold"><?php echo date('d/m/Y H:i', strtotime($cotiz['vista_at'])); ?></span>
                    </div>
                <?php endif; ?>
            </div>

            <!-- Documentos en el facturador (Control Empresas) -->
            <div class="border-t border-slate-850 mt-6 pt-6 space-y-3 text-xs">
                <div class="text-slate-500 font-semibold uppercase tracking-wider">Facturador (Control Empresas)</div>
                <div class="flex justify-between items-center">
                    <span class="text-slate-500">Cotización:</span>
                    <?php if (!empty($cotiz['ce_cotizacion_id'])): ?>
                        <span class="inline-flex items-center gap-1 rounded bg-emerald-500/10 px-2 py-0.5 font-semibold text-emerald-400 border border-emerald-500/20">
                            <i data-lucide="file-check" class="w-3 h-3"></i> N° <?php echo htmlspecialchars($cotiz['ce_cotizacion_numero']); ?> (doc <?php echo (int)$cotiz['ce_cotizacion_id']; ?>)
                        </span>
                    <?php else: ?>
                        <span class="text-slate-500">No generada</span>
                    <?php endif; ?>
                </div>
                <div class="flex justify-between items-center">
                    <span class="text-slate-500">Factura:</span>
                    <?php if (!empty($cotiz['ce_factura_id'])): ?>
                        <span class="inline-flex items-center gap-1 rounded bg-emerald-500/10 px-2 py-0.5 font-semibold text-emerald-400 border border-emerald-500/20">
                            <i data-lucide="file-check" class="w-3 h-3"></i> N° <?php echo htmlspecialchars($cotiz['ce_factura_numero']); ?> (doc <?php echo (int)$cotiz['ce_factura_id']; ?>)
                        </span>
                    <?php else: ?>
                        <span class="text-slate-500"><?php echo $cotiz['estado'] === 'pagada' ? 'Pendiente' : 'Se genera al pagarse'; ?></span>
                    <?php endif; ?>
                </div>
                <?php if (empty($cotiz['ce_cotizacion_id']) || ($cotiz['estado'] === 'pagada' && empty($cotiz['ce_factura_id']))): ?>
                <button onclick="generarDocumentosCE(<?php echo (int)$cotiz['id']; ?>)" id="btnGenerarCE"
                        class="w-full mt-1 inline-flex items-center justify-center gap-2 px-3 py-2 bg-slate-800 hover:bg-slate-700 border border-slate-700 text-slate-200 rounded-lg text-xs font-semibold transition-colors">
                    <i data-lucide="server" class="w-3.5 h-3.5"></i>
                    Generar documentos pendientes en Control Empresas
                </button>
                <?php endif; ?>
            </div>
        </div>

    </div>

</div>

<!-- Copy script -->
<script>
    function generarDocumentosCE(id) {
        var btn = document.getElementById('btnGenerarCE');
        btn.disabled = true;
        $.post('<?php echo APP_URL; ?>/cotizaciones/generar-documento-ce', { id: id }, function(json) {
            Swal.fire({
                icon: json.success ? 'success' : 'warning',
                title: json.success ? 'Facturador actualizado' : 'No se pudo generar',
                text: json.message,
                background: '#1e293b', color: '#f8fafc'
            }).then(function() { if (json.success) location.reload(); });
            btn.disabled = false;
        }, 'json').fail(function() {
            Swal.fire({ icon: 'error', title: 'Error de conexión', background: '#1e293b', color: '#f8fafc' });
            btn.disabled = false;
        });
    }

    // Enviar / reenviar la cotización por los canales que elija el usuario
    function enviarCotizacionCliente() {
        Swal.fire({
            icon: 'question',
            title: '¿Por dónde enviarla al cliente?',
            background: '#1e293b',
            color: '#f8fafc',
            showDenyButton: true,
            showCancelButton: true,
            confirmButtonText: 'Correo y WhatsApp',
            denyButtonText: 'Solo correo',
            cancelButtonText: 'Solo WhatsApp',
            confirmButtonColor: '#3b82f6',
            denyButtonColor: '#6366f1',
            cancelButtonColor: '#059669'
        }).then(function(eleccion) {
            let canales = null;
            if (eleccion.isConfirmed) canales = ['correo', 'whatsapp'];
            else if (eleccion.isDenied) canales = ['correo'];
            else if (eleccion.dismiss === Swal.DismissReason.cancel) canales = ['whatsapp'];
            if (!canales) return;

            Swal.fire({ title: 'Enviando...', background: '#1e293b', color: '#f8fafc', allowOutsideClick: false, didOpen: () => Swal.showLoading() });
            $.post('<?php echo APP_URL; ?>/cotizaciones/enviar', { id: <?php echo (int)$cotiz['id']; ?>, canales: canales }, function(envio) {
                Swal.fire({
                    icon: envio.success ? 'success' : 'warning',
                    title: envio.success ? 'Cotización enviada' : 'Envío con problemas',
                    text: envio.message,
                    background: '#1e293b', color: '#f8fafc', confirmButtonColor: '#3b82f6'
                }).then(function() { if (envio.success) window.location.reload(); });
            }, 'json').fail(function() {
                Swal.fire({ icon: 'error', title: 'Error de servidor', text: 'No se pudo enviar la cotización.', background: '#1e293b', color: '#f8fafc' });
            });
        });
    }

    document.getElementById('copyLinkBtn').addEventListener('click', function() {
        const input = document.getElementById('publicLinkInput');
        input.select();
        document.execCommand('copy');
        
        Swal.fire({
            toast: true,
            position: 'top-end',
            icon: 'success',
            title: 'Enlace copiado al portapapeles',
            background: '#1e293b',
            color: '#f8fafc',
            showConfirmButton: false,
            timer: 1500
        });
    });
</script>

<?php include dirname(__FILE__) . '/_marcar_pagada_js.php'; ?>
