(function() { 'use strict'; // ========================================================================= // SECAO 1: CONFIGURACOES CENTRALIZADAS // ========================================================================= const CONFIG = { loaderControl: { manage: true, zIndex: 10000, fadeOutMs: 400, backdropColor: 'rgba(255,255,255,0.6)', blurPx: 10, }, // ------------------------------------------------------------------------- // MODO DE OPERACAO // enabled: true -> Modo RetryStep (1 bloco, ignora no-fill, timeout global) // enabled: false -> Modo Cascata (3 blocos em sequencia, no-fill pula bloco) // ------------------------------------------------------------------------- retryStep: { enabled: true, timeoutMs: 10000, logAttempts: true, }, // ------------------------------------------------------------------------- // BLOCO ATIVO // Usado apenas quando retryStep.enabled = true. // ------------------------------------------------------------------------- activePlacement: 'bloco2', // ------------------------------------------------------------------------- // ORDEM DE CASCATA // Usado apenas quando retryStep.enabled = false. // ------------------------------------------------------------------------- executionOrder: ['bloco2', 'bloco1', 'bloco3'], // ------------------------------------------------------------------------- // CADASTRO DE BLOCOS // ------------------------------------------------------------------------- placements: { 'bloco1': { cookieName: 'AutoRewardCompleted_1', placementId: 'vja_rewarded_gift', adUnitPath: 'vja_rewarded_gift', divId: 'vja_rewarded_gift', timeoutMs: 10000 }, 'bloco2': { cookieName: 'AutoRewardCompleted_2', placementId: 'av_rewarded', adUnitPath: 'vja_rewarded', divClass: 'av-rewarded', timeoutMs: 8000 }, 'bloco3': { cookieName: 'AutoRewardCompleted_3', placementId: 'vja_rewarded_quizz', adUnitPath: 'vja_rewarded_quizz', divId: 'vja_rewarded_quizz', timeoutMs: 8000 } }, // --- Cookies --- // Mesmo cookie para completo e abandonado; muda apenas a duracao. cookie: { duration_minutes: 60, duration_closed_minutes: 2, samesite: 'Lax', secure: false, }, // --- Loader Textos --- loader: { loader_text_element_id: 'av-loader__text', text: 'O conteudo sera liberado apos o anuncio.', text_initial: 'O conteudo sera liberado apos o anuncio.', text_fallback1:'O conteudo sera liberado apos o anuncio.', text_fallback2:'O conteudo sera liberado apos o anuncio.', loaderBloqueado: 'Carregando...', }, // --- Prevencao Contra Multi-Requests --- guard_flag: '__autoRewardRunning', // --- Rastreamento (Analytics GA4) --- analytics: { enable_ga4: false }, // --- Fallback Top --- fallbackTop: { targetWrapperId: 'vja_top_wrapper2', adElementId: 'vja_top', insertPosition: 'afterend', htmlTemplate: `

Anuncios

` } }; // ========================================================================= // SECAO 2: FUNCOES AUXILIARES E UI // ========================================================================= // ---- LOADER ---- let _rewardLoaderEl = null; let _fallbackTopInserido = false; function criarRewardLoader(text) { if (!CONFIG.loaderControl.manage) return; if (document.getElementById('av-reward-loader')) return; if (!document.getElementById('av-reward-loader-style')) { const style = document.createElement('style'); style.id = 'av-reward-loader-style'; style.innerHTML = ` #av-reward-loader { position: fixed; width: 100vw; height: 100vh; z-index: ${CONFIG.loaderControl.zIndex}; top: 0; left: 0; background-color: ${CONFIG.loaderControl.backdropColor}; backdrop-filter: blur(${CONFIG.loaderControl.blurPx}px); -webkit-backdrop-filter: blur(${CONFIG.loaderControl.blurPx}px); opacity: 0; animation: rl-fadeIn 0.4s forwards; display: flex; flex-direction: column; align-items: center; justify-content: center; } @keyframes rl-fadeIn { from { opacity: 0 } to { opacity: 1 } } @keyframes rl-fadeOut { from { opacity: 1 } to { opacity: 0 } } #av-reward-loader__spinner { width: 52px; height: 52px; border: 7px solid #f3f3f3; border-radius: 50%; border-top: 7px solid #808080; animation: rl-spin 0.9s linear infinite; } @keyframes rl-spin { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} } #av-reward-loader__text { margin-top: 18px; font-size: 17px; font-weight: bold; text-align: center; padding: 0 24px; color: #222; } `; document.head.appendChild(style); } const el = document.createElement('div'); el.id = 'av-reward-loader'; el.innerHTML = `
${text || ''}
`; document.body.appendChild(el); _rewardLoaderEl = el; window.scrollTo({ top: 0, behavior: 'smooth' }); } function setRewardLoaderText(text) { try { const avEl = document.getElementById(CONFIG.loader.loader_text_element_id); if (avEl) avEl.textContent = text; } catch(e) {} const el = document.getElementById('av-reward-loader__text'); if (el) el.textContent = text; } function fecharRewardLoader(motivo) { if (!CONFIG.loaderControl.manage) return; const el = document.getElementById('av-reward-loader'); if (!el) return; console.log(`[Reward Loader] Fechando loader. Motivo: ${motivo}`); el.style.animation = `rl-fadeOut ${CONFIG.loaderControl.fadeOutMs}ms forwards`; setTimeout(() => { el.remove(); _rewardLoaderEl = null; }, CONFIG.loaderControl.fadeOutMs + 50); } // ---- COOKIES ---- function setCookie(name, value, minutes) { const date = new Date(); date.setTime(date.getTime() + (minutes * 60 * 1000)); const expires = 'expires=' + date.toUTCString(); const samesite = 'SameSite=' + CONFIG.cookie.samesite; const secure = CONFIG.cookie.secure ? '; Secure' : ''; document.cookie = name + '=' + (value || '') + '; ' + expires + '; path=/; ' + samesite + secure; } function getCookie(name) { const nameEQ = name + '='; const ca = document.cookie.split(';'); for (let i = 0; i < ca.length; i++) { let c = ca[i].trimStart(); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length); } return null; } function usuarioJaInteragiu(placement) { return !!(placement && getCookie(placement.cookieName)); } function motivoCookieAtivo(placement) { return usuarioJaInteragiu(placement) ? 'already_interacted' : null; } // ---- ANALYTICS ---- function getTrackerData() { const params = new URLSearchParams(window.location.search); const getVal = (paramName, storageKey) => { let val = params.get(paramName); if (val) return val; val = sessionStorage.getItem(storageKey); if (val) return val; val = localStorage.getItem(storageKey); if (val) return val; return ''; }; return { utm_source: getVal('utm_source', 'avUtmSource'), utm_medium: getVal('utm_medium', 'avUtmMedium'), utm_campaign: getVal('utm_campaign', 'avUtmCampaign'), utm_term: getVal('utm_term', 'avUtmTerm'), utm_content: getVal('utm_content', 'avUtmContent'), gclid: getVal('gclid', 'avGclid'), fbclid: getVal('fbclid', 'avFbclid'), tbclid: getVal('tbclid', 'avTbclid'), ttclid: getVal('ttclid', 'avTtclid'), user_id: localStorage.getItem('avUserId') || '', session_id: sessionStorage.getItem('avSessionId') || '', experiment: sessionStorage.getItem('avExperiment') || '', marketplace: sessionStorage.getItem('avMarketplace') || '' }; } function trackGA4(eventName, placement, extraParams = {}) { if (!CONFIG.analytics.enable_ga4) return; if (!window.dataLayer) window.dataLayer = []; const payload = { event: eventName, country: window.av?.country || sessionStorage.getItem('avCountry') || 'unknown', ...getTrackerData(), ...extraParams }; if (placement) payload.reward_block = placement.placementId; window.dataLayer.push(payload); console.log(`[GA4 Track] ${eventName}`, payload); } // ---- FALLBACK TOP ---- function inserirAnuncioTop(reason = 'unknown') { if (_fallbackTopInserido) { fecharRewardLoader(reason); return; } fecharRewardLoader(reason); const targetDiv = document.getElementById(CONFIG.fallbackTop.targetWrapperId); if (!targetDiv) { console.warn(`[Reward] Fallback (${CONFIG.fallbackTop.targetWrapperId}) nao encontrado.`); return; } if (document.getElementById(CONFIG.fallbackTop.adElementId)) { _fallbackTopInserido = true; return; } console.log(`[Reward] Inserindo fallback top. Motivo: ${reason}`); trackGA4('reward_ad_fallback_top', null, { fallback_reason: reason }); targetDiv.insertAdjacentHTML(CONFIG.fallbackTop.insertPosition, CONFIG.fallbackTop.htmlTemplate); _fallbackTopInserido = true; } // ---- DIV ISCA ---- function inserirDivGenerica(placement) { if (placement.divId) { if (document.getElementById(placement.divId)) return; const div = document.createElement('div'); div.id = placement.divId; div.style.display = 'none'; document.body.appendChild(div); } else if (placement.divClass) { if (document.querySelector('.' + placement.divClass)) return; const div = document.createElement('div'); div.className = placement.divClass; div.style.display = 'none'; if (placement.divClass === 'av-rewarded') { div.dataset.avRewarded = 'true'; div.setAttribute('aria-hidden', 'true'); } document.body.appendChild(div); } } // ========================================================================= // SECAO 3A: MOTOR RETRYSTEP // ========================================================================= let activePlacementAdUnitPath = null; let activePlacement = null; let grantOcorreu = false; let globalActiveCleanup = null; let activeOnFail = null; function limparEstadoReward() { activePlacementAdUnitPath = null; activePlacement = null; activeOnFail = null; grantOcorreu = false; } function executarRewardComRetry(placement) { console.log(`[Reward][RetryStep] Iniciando para bloco: '${placement.placementId}'`); activePlacementAdUnitPath = placement.adUnitPath; activePlacement = placement; grantOcorreu = false; activeOnFail = null; trackGA4('reward_ad_request', placement); inserirDivGenerica(placement); let timeoutHandle = null; let isResolved = false; const cleanup = () => { isResolved = true; if (timeoutHandle) clearTimeout(timeoutHandle); globalActiveCleanup = null; }; globalActiveCleanup = cleanup; timeoutHandle = setTimeout(() => { if (isResolved) return; cleanup(); console.warn(`[Reward][RetryStep] Timeout (${CONFIG.retryStep.timeoutMs}ms) esgotado. Abrindo top.`); trackGA4('reward_ad_timeout', placement); limparEstadoReward(); inserirAnuncioTop('timeout'); }, CONFIG.retryStep.timeoutMs); window.av.waitFor(() => { if (isResolved) return true; const slot = window.av?.definedSlots?.find(s => s.placement === placement.placementId); return slot && slot.lifecycle === 'ready'; }).then(() => { if (isResolved) return; cleanup(); const rewardedSlot = window.av.definedSlots.find(s => s.placement === placement.placementId); if (!rewardedSlot) { console.error(`[Reward][RetryStep] Slot ausente apos retry. Abrindo top.`); trackGA4('reward_ad_nofill', placement); limparEstadoReward(); inserirAnuncioTop('slot_missing'); return; } console.log(`[Reward][RetryStep] Slot VENDIDO. Exibindo...`); trackGA4('reward_ad_filled', placement); rewardedSlot.show(function() { console.log(`[Reward][RetryStep] Usuario assistiu tudo.`); trackGA4('reward_ad_completed', placement); setCookie(placement.cookieName, 'true', CONFIG.cookie.duration_minutes); limparEstadoReward(); inserirAnuncioTop('completed'); }); }); } // ========================================================================= // SECAO 3B: MOTOR CASCATA // ========================================================================= function tentarPlacement(placement, onFail) { console.log(`[Reward][Cascata] Tentando bloco: '${placement.placementId}'`); activeOnFail = onFail; activePlacementAdUnitPath = placement.adUnitPath; activePlacement = placement; grantOcorreu = false; trackGA4('reward_ad_request', placement); inserirDivGenerica(placement); let timeoutHandle = null; let isResolved = false; const cleanup = () => { isResolved = true; if (timeoutHandle) clearTimeout(timeoutHandle); globalActiveCleanup = null; }; globalActiveCleanup = cleanup; timeoutHandle = setTimeout(() => { if (isResolved) return; cleanup(); console.warn(`[Reward][Cascata] Timeout em '${placement.placementId}'. Pulando...`); onFail(); }, placement.timeoutMs || 10000); window.av.waitFor(() => { if (isResolved) return true; const slot = window.av?.definedSlots?.find(s => s.placement === placement.placementId); return slot && slot.lifecycle === 'ready'; }).then(() => { if (isResolved) return; cleanup(); const rewardedSlot = window.av.definedSlots.find(s => s.placement === placement.placementId); if (!rewardedSlot) { console.error(`[Reward][Cascata] Slot '${placement.placementId}' ausente. Pulando...`); onFail(); return; } console.log(`[Reward][Cascata] Anuncio '${placement.placementId}' PRONTO. Exibindo...`); trackGA4('reward_ad_filled', placement); rewardedSlot.show(function() { console.log(`[Reward][Cascata] Usuario assistiu tudo em '${placement.placementId}'.`); trackGA4('reward_ad_completed', placement); setCookie(placement.cookieName, 'true', CONFIG.cookie.duration_minutes); limparEstadoReward(); inserirAnuncioTop('completed'); }); }); } function determinarPontoDeEntrada() { for (let i = 0; i < CONFIG.executionOrder.length; i++) { const blockKey = CONFIG.executionOrder[i]; const placement = CONFIG.placements[blockKey]; if (placement && !usuarioJaInteragiu(placement)) return i; } return -1; } function executarCascata(startIndex) { const loaderTexts = [ CONFIG.loader.text_initial, CONFIG.loader.text_fallback1, CONFIG.loader.text_fallback2 ]; let cadeia = function() { limparEstadoReward(); inserirAnuncioTop('all_empty_or_timeout'); }; for (let i = CONFIG.executionOrder.length - 1; i >= startIndex; i--) { (function(index, nextFail) { const blockKey = CONFIG.executionOrder[index]; const placement = CONFIG.placements[blockKey]; const loaderText = loaderTexts[index] || CONFIG.loader.text_initial; const thisOnFail = function() { if (index < CONFIG.executionOrder.length - 1) { setRewardLoaderText(loaderTexts[index + 1] || CONFIG.loader.text_fallback2); } nextFail(); }; cadeia = function() { if (!placement) { console.error(`[Reward][Cascata] Bloco '${blockKey}' faltante. Queimando etapa.`); thisOnFail(); return; } if (usuarioJaInteragiu(placement)) { console.log(`[Reward][Cascata] Cookie ativo em '${placement.placementId}'. Pulando bloco.`); thisOnFail(); return; } setRewardLoaderText(loaderText); tentarPlacement(placement, thisOnFail); }; })(i, cadeia); } cadeia(); } // ========================================================================= // SECAO 4: INTEGRACAO GAM // ========================================================================= window.googletag = window.googletag || { cmd: [] }; googletag.cmd.push(function() { googletag.pubads().addEventListener('rewardedSlotGranted', function(event) { const adUnitPath = event.slot.getAdUnitPath(); if (activePlacementAdUnitPath && adUnitPath.includes(activePlacementAdUnitPath)) { grantOcorreu = true; } }); googletag.pubads().addEventListener('rewardedSlotClosed', function(event) { const adUnitPath = event.slot.getAdUnitPath(); if (!activePlacementAdUnitPath || !adUnitPath.includes(activePlacementAdUnitPath)) return; if (grantOcorreu) return; console.warn(`[Reward] Usuario fechou o reward sem completar.`); trackGA4('reward_ad_abandoned', activePlacement); if (globalActiveCleanup) globalActiveCleanup(); if (activePlacement) { setCookie(activePlacement.cookieName, 'true', CONFIG.cookie.duration_closed_minutes); } limparEstadoReward(); inserirAnuncioTop('abandoned'); }); googletag.pubads().addEventListener('slotRenderEnded', function(event) { if (!event.isEmpty) return; const adUnitPath = event.slot.getAdUnitPath(); if (!activePlacementAdUnitPath || !adUnitPath.includes(activePlacementAdUnitPath)) return; if (CONFIG.retryStep.enabled) { if (CONFIG.retryStep.logAttempts) { console.log(`[Reward][RetryStep] Tentativa sem fill em '${activePlacement?.placementId}'. Aguardando proximo retry...`); } trackGA4('reward_ad_retry_attempt', activePlacement); } else { trackGA4('reward_ad_nofill', activePlacement); if (globalActiveCleanup) globalActiveCleanup(); if (activeOnFail) { console.warn(`[Reward][Cascata] NO FILL. Pulando para proximo bloco...`); const fail = activeOnFail; activeOnFail = null; fail(); } } }); }); // ========================================================================= // SECAO 5: INICIALIZACAO // ========================================================================= document.addEventListener('DOMContentLoaded', function() { if (window[CONFIG.guard_flag]) { console.warn('[Reward] Execucao paralela abortada.'); return; } window[CONFIG.guard_flag] = true; if (window.av?.skipAds) { console.warn('[Reward] AdBlock detectado.'); inserirAnuncioTop('adblock'); return; } if (!window.av) { inserirAnuncioTop('av_not_loaded'); return; } window.av.waitFor(() => window.av.isSafe !== null).then(() => { if (!window.av.isSafe) { console.warn('[Reward] Bot / trafego invalido. Negando reward.'); inserirAnuncioTop('bot_traffic'); return; } if (CONFIG.retryStep.enabled) { const placement = CONFIG.placements[CONFIG.activePlacement]; if (!placement) { console.error(`[Reward] activePlacement '${CONFIG.activePlacement}' nao encontrado.`); inserirAnuncioTop('config_error'); return; } const cookieReason = motivoCookieAtivo(placement); if (cookieReason) { console.log(`[Reward][RetryStep] Cookie ativo. Abrindo top direto.`); trackGA4('reward_ad_already_interacted', placement); criarRewardLoader(CONFIG.loader.loaderBloqueado); setRewardLoaderText(CONFIG.loader.loaderBloqueado); inserirAnuncioTop(cookieReason); return; } criarRewardLoader(CONFIG.loader.text); setRewardLoaderText(CONFIG.loader.text); executarRewardComRetry(placement); } else { const pontoDeEntrada = determinarPontoDeEntrada(); if (pontoDeEntrada === -1) { console.log('[Reward][Cascata] Todos os cookies ativos. Abrindo top direto.'); trackGA4('reward_ad_already_interacted_all', null); criarRewardLoader(CONFIG.loader.loaderBloqueado); setRewardLoaderText(CONFIG.loader.loaderBloqueado); inserirAnuncioTop('already_interacted_all'); return; } criarRewardLoader(CONFIG.loader.text_initial); setRewardLoaderText(CONFIG.loader.text_initial); executarCascata(pontoDeEntrada); } }); }); })();

Caixa Construção: Conheça esse financiamento para você que sonha com a casa própria

A Caixa Econômica Federal é uma grande parceira do governo federal brasileiro no quesito de financiamento imobiliário, sendo a principal intermediadora do Casa Verde e Amarela, antigo Minha Casa Minha Vida.

Entretanto, poucos sabem que a instituição também possui a sua própria linha de crédito voltada para o financiamento de imóveis e para a construção.

Essa linha de crédito recebe o nome de Caixa Construção, possui parceria com o Casa Verde e Amarela, permite o uso do FGTS e apresenta excelentes condições pra você que quer financiar a casa própria ou construir um imóvel.

Anúncios

Conheça o Caixa Construção

O Caixa Construção é uma linha de crédito da Caixa Econômica Federal voltada para o financiamento de imóveis e de construções. A instituição está com boas expectativas para esse ano, de que cerca de R$30 bilhões serão financiados com as novas condições. É o crédito imobiliário perfeito para você que deseja comprar um terreno e construir a casa dos seus sonhos, sendo possível financiar somente a construção, caso você já possua o terreno.

Toda a operação do Caixa Construção é feita através do Sistema Financeiro de Habitação, onde o próprio imóvel funciona como a garantia de alienação fiduciária. Entre as condições dessa linha de crédito, está que é possível financiar 80% do valor total, precisando dar uma entrada de 20%. As parcelas podem ser pagas em até 35 anos e não podem atingir mais do que 30% da renda mensal.

Detalhes sobre a linha de crédito

Essa linha de crédito é voltada principalmente para quem tem o desejo de construir a casa própria do jeito que sempre imaginou. Com ela você pode obter o crédito necessário para a compra de todo o material de construção e ainda tem muitos anos para pagar.

Para conseguir contratar o Caixa Construção, você não precisa ser correntista do banco, por isso, é uma linha de crédito que pode ser contratada até mesmo por clientes de outros bancos. A Caixa permite o uso do Fundo de Garantia por Tempo de Serviço (FGTS) na linha de crédito, sendo possível usar o saldo como entrada ou para abater os valores das parcelas, deixando-as mais acessíveis.

Entretanto, para poder usar o saldo do seu FGTS, é preciso atender a algumas exigências como estar com carteira assinada há pelo menos 3 anos (na mesma empresa ou não), não ter outro financiamento em seu nome, não possuir dívidas e também não ter usado o seu saldo nos últimos anos.

Nem todo mundo sabe, mas o Caixa Construção também possui convênio com o Casa Verde e Amarela, tornando possível subsidiar o valor do terreno ou da construção, variando conforme o perfil de cada consumidor.

Vale a pena contratar?

Agora que você já sabe de todos os detalhes sobre a linha de crédito, é hora de discutir se é uma boa opção fazer esse investimento ou não, colocando na balança todos os prós e contras.

A linha de crédito Caixa Construção pode ser uma boa opção de investimento para você que quer construir a casa própria. Mesmo que você ainda não tenha um terreno, mas sim um dinheiro guardado, é possível investir. Você pode usar esse dinheiro como entrada da linha de crédito e financiar o restante do valor, contando com o FGTS para amortizar parcelas por 12 meses.

E é possível financiar o terreno junto da construção, assim você não precisa fazer mais de um investimento. A Caixa Econômica está sempre oferecendo novas e melhores condições para que os brasileiros tenham mais acesso a uma boa qualidade de vida. Recomendamos que você simule o financiamento Caixa Construção para saber, mais ou menos, como serão as parcelas mensais e se certificar de que cabem no seu orçamento.

Também leve em conta que, por 12 meses, os valores das parcelas podem ficar ainda menores, se optar por usar o FGTS desse modo.

Veja como contratar

Para contratar o Caixa Construção, é fundamental atender todos os requisitos e exigências da linha de crédito que nós já mencionamos aqui. Depois disso, inicia-se alguns procedimentos como a simulação do financiamento, a análise de crédito por parte do banco, avaliação de engenharia do lote e então a assinatura do contrato.

Depois que você assina o contrato, recebe o crédito e começa a pagar as parcelas. É preciso reunir os seus documentos pessoais e documentos do lote, e ir até uma agência mais próxima. Antes, você pode fazer a simulação no site da Caixa, por onde você conseguirá informações como o valor das prestações, prazos de pagamento, entre outras. É uma etapa que te permite planejar mais suas ações e o futuro.

Quando você faz a simulação, reúne a documentação e vai até a agência, é realizada a etapa de análise de crédito, onde o banco avalia suas informações e condições financeiras para liberar ou não o crédito. A avaliação de engenharia é necessária para analisar o terreno escolhido, saber se ele está apto para receber a estrutura de um imóvel e ainda pode ser o momento de negociar alguns valores.

Todas essas etapas concluídas com sucesso, o acordo entre você e o banco pode ser firmado, através da assinatura do contrato. Então, o banco liberará o crédito dentro do prazo estipulado e você pode começar a usar o dinheiro para construir a casa dos seus sonhos.

Caixa Construção

O financiamento Caixa Construção passou por algumas mudanças e agora oferece melhores condições para você que quer construir a casa própria. No site do banco você encontra todas as informações detalhadas, para tirar todas suas dúvidas sobre o financiamento antes de ir contratar.

As taxas de juros também são pequenas e podem ser negociadas de acordo com a sua renda e o seu perfil de consumidor, por isso é tão importante conversar com o atendente para que ambos cheguem em um acordo. A contratação pode ser feita a qualquer momento, basta ir até uma agência e dar início aos procedimentos.

Contrate o Caixa Construção e realize o sonho do imóvel próprio.

redator
redator

Diariamente publicamos conteúdo em nosso site relacionadas a empresas de todos os portes, desde micro empresas a multinacionais.