// (c) 2026 Ana Lucia Cintra Cavazza Sabadin - Projeto Imediato. Todos os direitos reservados. // Protegido pela Lei 9.609/1998 (Lei do Software) e pela Lei 9.610/1998. Proibida a reproducao, // total ou parcial, sem autorizacao previa e por escrito da autora. /* */ /* Caixinha "Como prefere falar com a engenheira?" — Projeto Imediato (19/10/2026). v03 (19/10/2026): o atalho direto vale só dentro dos simuladores que já pedem contato (página com #leadSite); nas consultas sem contato (.srl do recadastramento, protocolo) a caixinha aparece. v02 (19/10/2026): o tema deixava botões e título em maiúsculas — text-transform:none. Pedido da Ana: em todo lugar do site que tem link do WhatsApp, oferecer também "deixe nome e WhatsApp que a engenheira chama você" (padrão DocsProj), porque o WhatsApp às vezes abre outra janela e a pessoa não está no computador. Como funciona: qualquer clique num link de WhatsApp (wa.me / api.whatsapp.com) abre esta caixinha. A pessoa escolhe: - "Quero que a engenheira me chame": nome + WhatsApp vão para o formulário Jetpack da página /contato-rapido/ (buscado só no clique; nada pesa no carregamento da página) e chegam por e-mail; - "Prefiro abrir o WhatsApp agora": abre o link original, com a mesma mensagem pronta. Regras: NENHUM link no texto do lead (com link, o Akismet manda para o spam e não sai e-mail — lição 254); não escrever nos campos "ak_" (armadilha do Akismet). Links dentro dos simuladores (que já têm etapa de contato) e links marcados com data-pi-direto abrem o WhatsApp direto. Depois que a pessoa mandou o contato, os links abrem direto (sessionStorage). Nome e WhatsApp ficam guardados no aparelho (localStorage "pi_contato", o mesmo do simulador). */ (function () { if (window.piCaixaContato) { return; } window.piCaixaContato = 1; var RELE = '/contato-rapido/'; var RX = /(^https?:\/\/)?(wa\.me|api\.whatsapp\.com|(www\.)?whatsapp\.com\/send)/i; var DDDS = [11,12,13,14,15,16,17,18,19,21,22,24,27,28,31,32,33,34,35,37,38,41,42,43,44,45,46,47,48,49, 51,53,54,55,61,62,63,64,65,66,67,68,69,71,73,74,75,77,79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96,97,98,99]; var contato = { nome: '', zap: '' }, linkAtual = null, caixa = null, focoAntes = null; function esc(s) { var d = document.createElement('div'); d.textContent = String(s == null ? '' : s); return d.innerHTML; } function digitos(v) { var d = String(v || '').replace(/\D/g, ''); if (d.length > 11) { if (d.slice(0, 2) === '55') { d = d.slice(2); } } return d; } function problema(v) { var d = digitos(v); if (!d) { return 'Informe o seu WhatsApp, com DDD.'; } if (d.length < 11) { return 'Faltam dígitos: use DDD + 9 dígitos, como (19) 98765-4321.'; } if (d.length > 11) { return 'Número com dígitos demais. Use DDD + 9 dígitos.'; } if (DDDS.indexOf(Number(d.slice(0, 2))) < 0) { return 'Não existe o DDD ' + d.slice(0, 2) + '. Confira os dois primeiros dígitos.'; } if (d.charAt(2) !== '9') { return 'Celular no Brasil tem 9 logo depois do DDD. Confira o número.'; } if (/^(\d)\1+$/.test(d.slice(2))) { return 'Esse número não parece real. Confira o seu WhatsApp.'; } return null; } function formatar(v) { var d = digitos(v).slice(0, 11); if (d.length <= 2) { return d ? '(' + d : ''; } if (d.length <= 7) { return '(' + d.slice(0, 2) + ') ' + d.slice(2); } return '(' + d.slice(0, 2) + ') ' + d.slice(2, 7) + '-' + d.slice(7); } function ler() { try { var c = JSON.parse(localStorage.getItem('pi_contato') || '{}'); if (c) { contato.nome = c.nome || ''; contato.zap = c.zap || ''; } } catch (e) {} } function guardar() { try { localStorage.setItem('pi_contato', JSON.stringify(contato)); } catch (e) {} } function jaEnviou() { try { return sessionStorage.getItem('pi_contato_enviado') === '1'; } catch (e) { return false; } } function marcarEnviado() { try { sessionStorage.setItem('pi_contato_enviado', '1'); } catch (e) {} } function evento(t) { try { fetch('/wp-json/pi/v1/evento?t=' + t, { credentials: 'same-origin', keepalive: true }).catch(function () {}); } catch (e) {} } function textoDoZap(href) { var i = href.indexOf('text='); if (i < 0) { return ''; } var t = href.slice(i + 5).split(String.fromCharCode(38))[0]; try { return decodeURIComponent(t.replace(/\+/g, ' ')); } catch (e) { return t; } } function estilo() { if (document.getElementById('picEstilo')) { return; } var s = document.createElement('style'); s.id = 'picEstilo'; s.textContent = '.pic-fundo{position:fixed;inset:0;background:rgba(20,32,42,.55);z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px}' + '.pic-caixa{background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.25);width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow:auto;padding:26px 24px 22px;position:relative;font-family:inherit;color:#333;box-sizing:border-box}' + '.pic-caixa *{box-sizing:border-box}' + '.pic-caixa h2,.pic-caixa label,.pic-btn,.pic-zap,.pic-fechar{text-transform:none;letter-spacing:normal;font-family:inherit}' + '.pic-fechar{position:absolute;top:8px;right:10px;background:none;border:0;font-size:26px;line-height:1;color:#8a8a8a;cursor:pointer;padding:6px 8px}' + '.pic-caixa h2{margin:0 28px 6px 0;font-size:21px;line-height:1.25;color:#2E4453;font-weight:800}' + '.pic-sub{margin:0 0 4px;font-size:15px;line-height:1.45;color:#6b6b6b}' + '.pic-caixa label{display:block;margin:16px 0 6px;font-size:15px;font-weight:700;color:#2E4453}' + '.pic-caixa input{width:100%;padding:13px 14px;border:1.5px solid #e2e2e2;border-radius:9px;font-size:17px;font-family:inherit;color:#222;background:#fff}' + '.pic-caixa input:focus{outline:none;border-color:#e8420f}' + '.pic-lgpd{margin:12px 0 0;font-size:13px;line-height:1.45;color:#7a7a7a}' + '.pic-lgpd a{color:#7a7a7a}' + '.pic-erro{display:none;margin-top:10px;color:#a33;font-size:14px}' + '.pic-btn{display:block;width:100%;margin-top:18px;background:#e8420f;color:#fff;border:0;border-radius:9px;padding:15px;font-size:17px;font-weight:700;font-family:inherit;cursor:pointer}' + '.pic-btn[disabled]{opacity:.6;cursor:wait}' + '.pic-ou{margin:16px 0 0;text-align:center;font-size:14px;color:#8a8a8a}' + '.pic-zap{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;background:#fff;color:#128C4A;border:1.5px solid #25D366;border-radius:9px;padding:13px;font-size:16px;font-weight:700;text-decoration:none;font-family:inherit}' + '.pic-zap:hover{background:#f1fbf5}' + '.pic-ok{margin-top:6px;background:#f1fbf5;border:1.5px solid #9fe0b7;border-radius:10px;padding:14px 15px;font-size:15.5px;line-height:1.5;color:#1b5e33}' + '@media (max-width:480px){.pic-fundo{align-items:flex-end;padding:0}.pic-caixa{border-radius:16px 16px 0 0;max-height:92vh;padding:24px 18px 20px}}'; document.head.appendChild(s); } function fechar() { if (caixa) { caixa.parentNode.removeChild(caixa); caixa = null; } document.removeEventListener('keydown', teclas, true); if (focoAntes) { try { focoAntes.focus({ preventScroll: true }); } catch (e) {} } } function teclas(e) { if (e.key === 'Escape') { fechar(); } } function linkZapHtml(rotulo) { return '' + '' + esc(rotulo) + ''; } function abrir(a) { linkAtual = a; focoAntes = document.activeElement; ler(); estilo(); caixa = document.createElement('div'); caixa.className = 'pic-fundo'; caixa.innerHTML = '
Deixe o seu nome e WhatsApp que a engenheira chama você. Ou, se preferir, abra o WhatsApp agora.
' + '' + '' + '' + '' + 'Seu nome e WhatsApp são usados só para falar com você sobre o seu imóvel (LGPD). Política de Privacidade
' + '' + '' + 'ou
' + linkZapHtml('Prefiro abrir o WhatsApp agora') + 'Se quiser adiantar a conversa:
' + linkZapHtml('Abrir o WhatsApp agora') + ''; document.getElementById('picFechar').addEventListener('click', fechar); document.getElementById('picOk').addEventListener('click', fechar); document.getElementById('picZap').addEventListener('click', function () { evento('zap'); setTimeout(fechar, 300); }); document.getElementById('picOk').focus({ preventScroll: true }); }) .catch(function (e) { if (window.console) { console.error('Caixinha de contato:', e); } b.disabled = false; b.textContent = 'Quero que a engenheira me chame'; er.textContent = 'Não consegui enviar agora. Tente de novo ou abra o WhatsApp logo abaixo.'; er.style.display = 'block'; }); } document.addEventListener('click', function (e) { if (e.defaultPrevented) { return; } if (e.button !== 0) { return; } if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey) { return; } var a = e.target.closest ? e.target.closest('a[href]') : null; if (!a) { return; } if (!RX.test(a.getAttribute('href') || '')) { return; } if (a.closest('.pic-fundo, [data-pi-direto], #leadSite')) { return; } /* nos 4 simuladores com etapa de contato própria (página com #leadSite), o WhatsApp do resultado abre direto */ if (document.getElementById('leadSite')) { if (a.closest('.srl, .palco')) { return; } } if (jaEnviou()) { return; } e.preventDefault(); abrir(a); }, true); })();