<?php
$pageTitle = "Finalizar Pedido - CATÁLOGO 44";
include 'header.php';
include '../adm/config/db.php';

// Se o carrinho estiver vazio, redireciona para a home
if (empty($_SESSION['carrinho'])) {
    echo "<script>window.location.href='index.php';</script>";
    exit;
}

// Se o usuário estiver logado, buscar dados dele (incluindo os campos de endereço do perfil)
$user_data = null;
$end_data = null;

if (isset($_SESSION['usuario_id'])) {
    $uId = $_SESSION['usuario_id'];
    $stmt = $conn->prepare("SELECT nome_completo, email_principal, cpf_cnpj, telefone, cep, endereco, numero, complemento, bairro, cidade, estado, ponto_referencia FROM usuarios WHERE id = ?");
    $stmt->bind_param("i", $uId);
    $stmt->execute();
    $user_data = $stmt->get_result()->fetch_assoc();

    // Se o usuário não tiver endereço no perfil ainda, tenta buscar do último pedido
    if (empty($user_data['endereco'])) {
        $stmtEnd = $conn->prepare("SELECT * FROM pedidos_endereco WHERE pedido_id IN (SELECT id FROM pedidos WHERE usuario_id = ?) ORDER BY id DESC LIMIT 1");
        $stmtEnd->bind_param("i", $uId);
        $stmtEnd->execute();
        $end_data = $stmtEnd->get_result()->fetch_assoc();
    }
}

$carrinho = $_SESSION['carrinho'];
$total = 0;
foreach ($carrinho as $item) {
    $total += $item['preco'] * $item['quantidade'];
}
?>

    <!-- Hero Start -->
    <div class="container-fluid bg-primary py-5 hero-header mb-5">
        <div class="row py-3">
            <div class="col-12 text-center">
                <h1 class="display-3 text-white animated zoomIn">Finalizar Pedido</h1>
                <a href="index.php" class="h4 text-white">Início</a>
                <i class="far fa-circle text-white px-2"></i>
                <span class="h4 text-white">Checkout</span>
            </div>
        </div>
    </div>
    <!-- Hero End -->


    <!-- Checkout Start -->
    <div class="container-fluid py-5">
        <div class="container">
            <div class="row g-5">
                <!-- LADO ESQUERDO: DADOS E ENDEREÇO -->
                <div class="col-xl-7 col-lg-6 wow slideInUp" data-wow-delay="0.1s">
                    <div class="bg-light rounded p-5">
                        <div class="section-title mb-4">
                            <h5 class="position-relative d-inline-block text-primary text-uppercase">Identification</h5>
                            <h1 class="display-6 mb-4">Seus Dados e Entrega</h1>
                        </div>
                        
                        <?php if (!isset($_SESSION['usuario_id'])): ?>
                        <div class="alert alert-primary border-0 mb-4 d-flex align-items-center" role="alert">
                            <i class="fas fa-info-circle me-3 fs-4"></i>
                            <div>
                                Já tem uma conta? <a href="login.php" class="fw-bold text-decoration-underline">Faça login aqui</a> para um checkout mais rápido.
                            </div>
                        </div>
                        <?php endif; ?>

                        <form id="form-checkout" action="processar-pedido.php" method="POST">
                            <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
                            <div class="row g-3">
                                <div class="col-md-12">
                                    <label class="form-label">Nome Completo</label>
                                    <input type="text" name="nome" class="form-control border-0 bg-white px-4" placeholder="Como no seu RG" style="height: 55px;" value="<?= $user_data['nome_completo'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-6">
                                    <label class="form-label">E-mail</label>
                                    <input type="email" name="email" class="form-control border-0 bg-white px-4" placeholder="Para receber o comprovante" style="height: 55px;" value="<?= $user_data['email_principal'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-6">
                                    <label class="form-label">WhatsApp / Telefone</label>
                                    <input type="text" name="telefone" id="telefone" class="form-control border-0 bg-white px-4" placeholder="(00) 00000-0000" style="height: 55px;" value="<?= $user_data['telefone'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-12">
                                    <label class="form-label">CPF / CNPJ</label>
                                    <input type="text" name="cpf_cnpj" id="input_cpf_cnpj" class="form-control border-0 bg-white px-4" placeholder="000.000.000-00" style="height: 55px;" value="<?= $user_data['cpf_cnpj'] ?? '' ?>" required>
                                </div>

                                <div class="col-md-4">
                                    <label class="form-label">CEP</label>
                                    <input type="text" name="cep" id="cep" class="form-control border-0 bg-white px-4" placeholder="00000-000" style="height: 55px;" value="<?= $user_data['cep'] ?? $end_data['cep'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-8">
                                    <label class="form-label">Endereço / Rua</label>
                                    <input type="text" name="endereco" id="rua" class="form-control border-0 bg-white px-4" placeholder="Nome da rua" style="height: 55px;" value="<?= $user_data['endereco'] ?? $end_data['endereco'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-3">
                                    <label class="form-label">Número</label>
                                    <input type="text" name="numero" id="numero" class="form-control border-0 bg-white px-4" placeholder="Nº" style="height: 55px;" value="<?= $user_data['numero'] ?? $end_data['numero'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-9">
                                    <label class="form-label">Complemento</label>
                                    <input type="text" name="complemento" id="complemento" class="form-control border-0 bg-white px-4" placeholder="Apto, Sala, Fundos..." style="height: 55px;" value="<?= $user_data['complemento'] ?? $end_data['complemento'] ?? '' ?>">
                                </div>
                                <div class="col-md-5">
                                    <label class="form-label">Bairro</label>
                                    <input type="text" name="bairro" id="bairro" class="form-control border-0 bg-white px-4" placeholder="Bairro" style="height: 55px;" value="<?= $user_data['bairro'] ?? $end_data['bairro'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-5">
                                    <label class="form-label">Cidade</label>
                                    <input type="text" name="cidade" id="cidade" class="form-control border-0 bg-white px-4" placeholder="Cidade" style="height: 55px;" value="<?= $user_data['cidade'] ?? $end_data['cidade'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-2">
                                    <label class="form-label">UF</label>
                                    <input type="text" name="estado" id="uf" class="form-control border-0 bg-white px-4" placeholder="UF" style="height: 55px;" value="<?= $user_data['estado'] ?? $end_data['estado'] ?? '' ?>" required>
                                </div>
                                <div class="col-md-12">
                                    <label class="form-label">Observação / Ponto de Referência</label>
                                    <input type="text" name="ponto_referencia" id="ponto_referencia" class="form-control border-0 bg-white px-4" placeholder="Ex: Casa branca ao lado do mercado" style="height: 55px;" value="<?= $user_data['ponto_referencia'] ?? $end_data['ponto_referencia'] ?? '' ?>">
                                </div>

                                <?php if (!isset($_SESSION['usuario_id'])): ?>
                                <div class="col-12 mt-4 pt-3 border-top">
                                    <div class="section-title mb-3">
                                        <h2 class="h4">Crie sua senha de acesso</h2>
                                        <p class="small text-muted">Para você acompanhar seu pedido e comprar mais rápido na próxima vez.</p>
                                    </div>
                                    <div class="row g-3">
                                        <div class="col-md-6">
                                            <label class="form-label">Senha de Acesso</label>
                                            <input type="password" name="senha" class="form-control border-0 bg-white px-4" placeholder="Mínimo 6 caracteres" style="height: 55px;" required>
                                        </div>
                                        <div class="col-md-6">
                                            <label class="form-label">Confirmar Senha</label>
                                            <input type="password" name="senha_conf" class="form-control border-0 bg-white px-4" placeholder="Repita a senha" style="height: 55px;" required>
                                        </div>
                                    </div>
                                </div>
                                <?php endif; ?>

                                <div class="col-12 mt-4">
                                    <button class="btn btn-primary w-100 py-3" type="submit">
                                        <i class="fas fa-lock me-2"></i>FINALIZAR PELO MERCADO PAGO
                                    </button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>

                <!-- LADO DIREITO: RESUMO DA COMPRA -->
                <div class="col-xl-5 col-lg-6 wow slideInUp" data-wow-delay="0.3s">
                    <div class="bg-light rounded p-5 h-100">
                        <div class="section-title mb-4">
                            <h5 class="position-relative d-inline-block text-primary text-uppercase">Carrinho</h5>
                            <h1 class="display-6 mb-4">Resumo da Compra</h1>
                        </div>
                        
                        <div class="lista-itens-checkout mb-4" style="max-height: 500px; overflow-y: auto;">
                            <?php 
                            // db.php incluso apenas uma vez antes do loop (já está disponível via header.php)
                            if (!isset($conn)) { include '../adm/config/db.php'; }
                            foreach ($carrinho as $item): 
                                // Busca a foto do produto para o resumo
                                $pId = $item['id'];
                                $sqlP = "SELECT imagem_principal FROM produtos WHERE id = $pId";
                                $resP = $conn->query($sqlP);
                                $imgP = $resP->fetch_assoc()['imagem_principal'] ?? '';
                            ?>
                            <div class="d-flex align-items-center mb-3 bg-white p-3 rounded shadow-sm">
                                <img src="../adm/uploads/produtos/<?= htmlspecialchars($imgP) ?>" alt="<?= htmlspecialchars($item['nome']) ?>" class="rounded" style="width: 70px; height: 70px; object-fit: cover;">
                                <div class="ms-3 flex-grow-1">
                                    <h6 class="mb-0"><?= htmlspecialchars($item['nome']) ?></h6>
                                    <div class="small text-muted mt-1">
                                        <?php if (!empty($item['tamanho'])): ?><span class="badge border text-dark me-1">Tam: <?= $item['tamanho'] ?></span><?php endif; ?>
                                        <?php if (!empty($item['cor'])): ?><span class="badge border text-dark me-1">Cor: <?= $item['cor'] ?></span><?php endif; ?>
                                        <?php if (!empty($item['numero'])): ?><span class="badge border text-dark me-1">Nº: <?= $item['numero'] ?></span><?php endif; ?>
                                    </div>
                                    <small class="text-muted d-block mt-1"><?= $item['quantidade'] ?>x R$ <?= number_format($item['preco'], 2, ',', '.') ?></small>
                                </div>
                                <div class="text-end">
                                    <strong>R$ <?= number_format($item['preco'] * $item['quantidade'], 2, ',', '.') ?></strong>
                                </div>
                            </div>
                            <?php endforeach; ?>
                        </div>

                        <div class="border-top pt-4">
                            <div class="d-flex justify-content-between mb-2">
                                <span class="h5">Subtotal</span>
                                <span class="h5">R$ <?= number_format($total, 2, ',', '.') ?></span>
                            </div>
                            <div class="d-flex justify-content-between mb-3">
                                <span class="h5 text-success">Frete</span>
                                <span class="h5 text-success">Grátis</span>
                            </div>
                            <div class="d-flex justify-content-between border-top pt-3 mb-4">
                                <h3 class="text-primary">TOTAL</h3>
                                <h3 class="text-primary">R$ <?= number_format($total, 2, ',', '.') ?></h3>
                            </div>

                            <button type="button" onclick="finalizarZapCheckout()" class="btn btn-success w-100 py-3 mb-3 d-flex align-items-center justify-content-center">
                                <i class="fab fa-whatsapp me-2 fs-4"></i> FINALIZAR PELO WHATSAPP
                            </button>
                        </div>

                        <div class="mt-5 p-3 bg-white rounded border border-primary text-center">
                                 <button class="btn btn-primary w-100 py-3" type="submit" form="form-checkout">
                                                            
                            <img src="img/mercadopago.png" alt="Mercado Pago" style="width: 100%;" class="mb-2"> 
                            </button>
                            <p class="small text-muted mb-0">Pagamento 100% processado pelo Mercado Pago com segurança criptografada.</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!-- Checkout End -->

    <!-- CEP e Máscaras Autocomplete Script -->
    <script>
    // Máscara Dinâmica CPF/CNPJ
    const inputCpfCnpj = document.getElementById('input_cpf_cnpj');
    if (inputCpfCnpj) {
        inputCpfCnpj.addEventListener('input', function(e) {
            let value = e.target.value.replace(/\D/g, '');
            if (value.length <= 11) {
                value = value.replace(/(\d{3})(\d)/, '$1.$2');
                value = value.replace(/(\d{3})(\d)/, '$1.$2');
                value = value.replace(/(\d{3})(\d{1,2})$/, '$1-$2');
            } else {
                value = value.slice(0, 14);
                value = value.replace(/^(\d{2})(\d)/, '$1.$2');
                value = value.replace(/^(\d{2})\.(\d{3})(\d)/, '$1.$2.$3');
                value = value.replace(/\.(\d{3})(\d)/, '.$1/$2');
                value = value.replace(/(\d{4})(\d)/, '$1-$2');
            }
            e.target.value = value;
        });
    }

    // Máscara Telefone
    const inputTelefone = document.getElementById('telefone');
    if (inputTelefone) {
        inputTelefone.addEventListener('input', function(e) {
            let v = e.target.value.replace(/\D/g, '');
            if (v.length > 2) v = '(' + v.substring(0,2) + ') ' + v.substring(2);
            if (v.length > 9) v = v.substring(0,9) + '-' + v.substring(9,13);
            e.target.value = v.substring(0, 15);
        });
    }

    // CEP
    const inputCep = document.getElementById('cep');
    if (inputCep) {
        inputCep.addEventListener('input', function(e) {
            let v = e.target.value.replace(/\D/g, '');
            v = v.replace(/^(\d{5})(\d)/, '$1-$2').slice(0, 9);
            e.target.value = v;

            if (v.length === 9) {
                let cep = v.replace('-', '');
                fetch(`https://viacep.com.br/ws/${cep}/json/`)
                    .then(response => response.json())
                    .then(data => {
                        if (!data.erro) {
                            document.getElementById('rua').value = data.logradouro;
                            document.getElementById('bairro').value = data.bairro;
                            document.getElementById('cidade').value = data.localidade;
                            document.getElementById('uf').value = data.uf;
                            document.getElementById('numero').focus();
                        }
                    });
            }
        });
    }

    // FINALIZAR VIA WHATSAPP (PEGA DADOS DO FORM)
    function finalizarZapCheckout() {
        const nome = document.querySelector('[name="nome"]').value;
        const rua = document.getElementById('rua').value;
        const num = document.getElementById('numero').value;
        const bairro = document.getElementById('bairro').value;
        const cidade = document.getElementById('cidade').value;
        const uf = document.getElementById('uf').value;
        const ref = document.getElementById('ponto_referencia').value;
        const tel = document.getElementById('telefone').value;

        if (!nome || !rua || !num || !bairro) {
            alert('Por favor, preencha os dados de entrega para finalizar no WhatsApp.');
            return;
        }

        fetch("carrinho.php")
        .then(r => r.json())
        .then(data => {
            const iconFoguete = String.fromCodePoint(0x1F680);
            const iconCaixa = String.fromCodePoint(0x1F4E6);
            const iconItem = String.fromCodePoint(0x1F539);
            const iconDinheiro = String.fromCodePoint(0x1F4B0);
            const iconCheck = String.fromCodePoint(0x2705);
            const iconCasa = String.fromCodePoint(0x1F3E0);
            const iconUser = String.fromCodePoint(0x1F464);

            let msg = `${iconFoguete} *NOVO PEDIDO - CATÁLOGO 44*\n`;
            msg += "--------------------------\n";
            msg += `${iconUser} *CLIENTE:* ${nome}\n`;
            msg += `${iconCasa} *ENTREGA:* ${rua}, ${num}\n`;
            msg += `   ${bairro} - ${cidade}/${uf}\n`;
            if (ref) msg += `   *OBS/REF:* ${ref}\n`;
            msg += `   *WHATSAPP:* ${tel}\n`;
            msg += "--------------------------\n";
            msg += `${iconCaixa} *ITENS:*\n\n`;
            
            data.carrinho.forEach(item => {
                let infoVariacao = "";
                if (item.tamanho) infoVariacao += ` [Tam: ${item.tamanho}]`;
                if (item.cor)     infoVariacao += ` [Cor: ${item.cor}]`;
                if (item.numero)  infoVariacao += ` [Nº: ${item.numero}]`;
                
                msg += `${iconItem} *${item.nome}*${infoVariacao} (${item.quantidade}x)\n`;
            });
            
            msg += `\n${iconDinheiro} *TOTAL: R$ ${parseFloat(data.total).toLocaleString('pt-BR', {minimumFractionDigits: 2, maximumFractionDigits: 2})}*\n\n`;
            msg += `${iconCheck} *Acabei de preencher o checkout, gostaria de finalizar agora!*`;
            
            const waPhone = "<?= $whatsappLoja ?>";
            if (!waPhone) {
                alert('WhatsApp da loja está indisponível');
                return;
            }
            window.open("https://api.whatsapp.com/send?phone=" + waPhone + "&text=" + encodeURIComponent(msg), "_blank");
        });
    }
    </script>

<?php 
$marginTop = 'style="margin-top: -75px;"'; 
include 'footer.php'; 
?>
