Localização de endereço através do CEP usando jQuery

Nesse tutorial vou mostrar como facilitar o preenchimento de formulário que contenha campos de endereço, tornando seu preenchido automático para alguns campos.

Por | @jonathanlamimkt Programação Pular para comentários

Nesse tutorial vou mostrar como facilitar o preenchimento de formulário que contenha campos de endereço. Quanto menos o usuário tiver que digitar para preencher um formulário, mais feliz ele ficará.

Para esse tutorial nós vamos utilizar o web service da República Virtual, para fazermos a localização a partir do CEP e também a última versão da biblioteca jQuery.

Antes de começarmos a escrever os códigos, é preciso saber as informações que devem ser enviadas ao web service e o seu endereço para requisição. Vejamos:

URL WebService: http://cep.republicavirtual.com.br/web_cep.php

Variáveis de entrada
cep: númerico com 8 dígitos (Ex: 90200971)
formato: xml, json, query_string ou javascript

Agora que já sabemos quais informações precisam ser enviadas ao web service, podemos começar a desenvolver o código.

Antes de mais nada certifique-se dos seguintes itens:

- Ter feito o download da última versão da biblioteca jQuery;
- Ter um editor de texto para escrever os códigos;
- Ter instalado o Firefox ou outro navegador para poder testar os códigos escritos;
- Criar uma pasta para salvar os arquivos deste tutorial;

Vamos começar criando o formulário que o usuário deverá preencher. Não utilizaremos muitos campos nesse tutorial, somente os campos de cep, cidade e estado. Você pode ficar a vontade para colocar no formulário os campos que forem preciso.

Abra o editor de textos e antes de escrever o código salve o arquivo com o nome "form.html", dentro da pasta criada. Após salvar digite o código a seguir e depois salve o arquivo novamente.

Ao digitar, substitua "localizacao_do_arquivo_jquery" pelo caminho do arquivo ".js" da biblioteca jQuery e substitua também "localizacao_do_arquivo_com_o_codigo_js" pelo endereço de localização do arquivo da biblioteca jQuery, só que ao invés de chamar a biblioteca, você chamará o arquivo "getEndereco.js".


    
        Localização de endereço através do CEP usando jQuery e PHP</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="localizacao_do_arquivo_jquery" type="text/javascript"></script>
	<script src="localizacao_do_arquivo_com_o_codigo_js" type="text/javascript"></script>        
    </head>
    <body>
        Cep: <input type="text" maxlength="8" value="" id="cep"/><input type="button" id="getEndereco" value="Pesquisar"/><br/>
        <p id="loadingCep"></p>
        Cidade: <input type="text" readonly="readonly" id="cidade"/><br/>
        Estado: <input type="text" readonly="readonly" id="estado"/>
    </body>
</html></code></pre><br />
<br />
Se você reparar, o único campo que está disponível para edição é o do CEP, os demais (cidade e estado) estão bloqueados, pois serão preenchidos automaticamente.<br />
<br />
O botão <strong>"Pesquisar"</strong> é o responsável por executar a operação de pesquisa, enviando o CEP informado para o web service, e retornando os dados encontrados, ou até mesmos erros.<br />
<br />
A tag <strong>< p ></strong> com o id <em>loadingCep</em> será a responsável por exibir as mensagens retornadas, conforme a execução da pesquisa.<br />
<br />
Com o código do formulário pronto, crie um arquivo JS e salve-o com o nome de <strong>"getEndereco.js"</strong>, na mesma pasta onde está o arquivo da biblioteca jQuery. Em seguida, digite o código abaixo:<br />
<br />
<pre><code>function getEndereco(cep) {
    if($.trim(cep) != ""){
        $("#loadingCep").html('Pesquisando...');
        $.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+cep, function(){            
            if (resultadoCEP["resultado"] != 0) {
                $("#cidade").val(unescape(resultadoCEP["cidade"]));
                $("#estado").val(unescape(resultadoCEP["uf"]));
            }else{
                $("#loadingCep").html(unescape(resultadoCEP["resultado_txt"]));                
            }            
        });
    }
    else{
        $("#loadingCep").html('Informe o CEP');
    }
}</code></pre><br />
<br />
Nesse arquivo temos somente uma função, a <em>getEndereço(cep)</em>, que precisa de um parâmetro, que é o cep informado pelo usuário.<br />
<br />
Começamos a função verificando se o cep foi informado, se ele estiver em branco, emitimos um alerta para o usuário. caso tenha sido preenchido, seguimos com a verificação.<br />
<br />
Para enviar a requisição ao web service, usamos o método <strong>$.getScript</strong>, do jQuery, que é muito similar ao <strong>$.ajax</strong>. Passamos nesse método o parâmetro que corresponde à url do web service, incluindo as informações obrigatórias, que são o cep e o formato. Para esse exemplo vamos usar o formato "javascript" que irá nos retornar um array com as informações.<br />
<br />
Veja um exemplo do array retornado:<br />
<br />
<pre><code>var resultadoCEP = {
	'uf' 			: 'RS',
	'cidade' 		: 'Porto%20Alegre',
	'bairro' 		: 'Passo%20D%27Areia',
	'tipo_logradouro' 	: 'Avenida',
	'logradouro' 		: 'Assis%20Brasil',
	'resultado' 		: '1',
	'resultado_txt' 	: 'sucesso%20-%20cep%20completo'
}</code></pre><br />
<br />
Os dados retornados na chave "resultado" e "resultado_txt" podem variar. A seguir veja quais podem ser essas variações:<br />
<br />
<pre><code>var resultadoCEP = { 
	'uf' : 'ES', 
	'cidade' : 'Marata%EDzes', 
	'bairro' : '', 
	'tipo_logradouro' : '', 
	'logradouro' : '', 	
	'resultado' : '2', 
	'resultado_txt' : 'sucesso%20-%20cep%20%FAnico' 
}</code></pre><br />
<br />
Nesse caso, não há informações sobre o nome da rua, o tipo de logradouro (rua, avenida, travessa ou outros) e o bairro. O resultado informado é "2" e o resultado_txt é "sucesso - cep único".<br />
<br />
<pre><code>var resultadoCEP = { 
	'uf' : '', 
	'cidade' : '', 
	'bairro' : '', 
	'tipo_logradouro' : '', 
	'logradouro' : '', 
	'resultado' : '0', 
	'resultado_txt' : 'servi%E7o%20indispon%EDvel%2Fcep%20inv%E1lido' 
}</code></pre><br />
<br />
Se o resultado for "0", então é porque o cep não foi encontrado ou o serviço está indisponível.<br />
<br />
Essas informações são importantes para que você possa fazer uma validação mais precisa e informar ao usuário o que ocorreu.<br />
<br />
Quando chamamos o método getScript, ele automaticamente já retorna os dados vindos do web service, nesse caso, o array resultadoCEP. Com o array, fazemos então a verificação se o resultado é diferente de "0" (zero), pois se for, então não ocorreram erros, e o cep é válido. Se ocorrer algum erro, então informamos ao usuário. Repare que é utilizado o método "unescape" sempre que os dados vindos do array precisam ser exibidos; o seu uso é necessário pois precisamos decodificar os dados, uma vez que eles vêm codificados.<br />
<br />
Não havendo erros, então nós inserimos os dados nos respectivos campos do formulário, poupando o usuário de ter que digitar essas informações.<br />
<br />
Nosso código ainda não está 1005 concluído, é preciso chamar a execução do método getEndereco quando o usuário clicar no botão "Pesquisar". Para isso, volte ao arquivo form.html e logo após a linha <br />
<pre><code><script src="localizacao_do_arquivo_com_o_codigo_js" type="text/javascript"></script></code></pre><br />
<br />
E coloque o código abaixo:<br />
<br />
<pre><code><script type="text/javascript">
	$(document).ready(function(){
        	$("#getEndereco").click(function(){
        		getEndereco($("#cep").val());
        	}); 
     	});
</script></code></pre><br />
<br />
Você pode criar vários tipos de validação dentro do evento click do botão pesquisar, mas como esse não é o foco do tutorial, deixarei que sua criatividade o leve a fazer essas validações.<br />
<br />
Agora que seu código está pronto, certifique-se de que todos os arquivos estejam salvos, se não estiverem, salve-os e vá até o navegador (browser) e teste o seu código.<br />
<br />
Vou deixar aqui algumas dicas de validação que você poderá utilizar na hora de validar os dados do cep enviados pelo usuário.<br />
<br />
- Verifique se o cep possui 8 caracteres<br />
- Verifique se todos os caracteres são numéricos<br />
- Não deixe que o usuário digite o traço, somente números<br />
<br />
Bom pessoal, espero que tenham gostado! Deixem seus comentários se tiverem dúvidas ou sugestões.</p><script src="https://painel.m3midia.com.br/lib/prism/prism.js"></script><link rel="stylesheet" type="text/css" href="https://painel.m3midia.com.br/lib/prism/prism.css"></p>
                </div>
                    <div class="wifl m-t-30">
                        <p><strong>Recomendações do editor:</strong></p>
                        <ul class="relacionadolink"><li><a onclick="_gaq.push(['_trackEvent', 'recomendacoes_editor', 'pfr2979', 'pto18978']);" href="https://www.oficinadanet.com.br/post/18978-veja-como-receber-endereco-nos-eua-para-fazer-compras-em-lojas-online-americanas">Veja como receber endereço nos EUA para fazer compras em lojas online americanas</a></li><li><a onclick="_gaq.push(['_trackEvent', 'recomendacoes_editor', 'pfr2979', 'pto12166']);" href="https://www.oficinadanet.com.br/post/12166-the-pirate-bay-muda-novamente-de-endereco">The Pirate Bay muda novamente de endereço</a></li>
                        </ul>
                    </div>
                
            </div>
            <script>try { _402_Show(); } catch(e) {}</script>
        </div>  
            <div class="bar2" >

                <div class="bar2"><div class="wifl m-b-40"><span class="titulo1"><span>Últimas notícias</span></span><ul class="lst12  wifl  lsn "  ><li  >
                            <a  href="https://www.oficinadanet.com.br/smartphones/26325-rumores-indicam-que-a-samsung-pode-lancar-mais-um-smartphone-dobravel"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr12785', 'pto26325']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26325/samsung---novo-dobravel-da-samsung-faz-mais-sentido-do-que-o-galaxy-fold_14080.jpg" title="Rumores indicam que a Samsung pode lançar mais um smartphone dobrável" alt="Rumores indicam que a Samsung pode lançar mais um smartphone dobrável" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >26/06/2019  21:00h</span>
                                    <span class="tit tit2" >Rumores indicam que a Samsung pode lançar mais um smartphone dobrável</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/tecnologia/26323-tecnologia-da-nokia-aumentar-em-ate-duas-vezes-a-vida-util-das-baterias-do-seu-smartphone"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr12785', 'pto26323']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26323/nokia-nova-tecnologia-para-baterias-promete-aumentar-a-vida-util-das-baterias-em-ate-2-vezes_14080.jpg" title="Tecnologia da Nokia aumentar em até duas vezes a vida útil das baterias do seu smartphone" alt="Tecnologia da Nokia aumentar em até duas vezes a vida útil das baterias do seu smartphone" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >26/06/2019  20:20h</span>
                                    <span class="tit tit2" >Tecnologia da Nokia aumentar em até duas vezes a vida útil das bateria...</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/xiaomi/26310-loja-da-xiaomi-no-shopping-ibirapuera-e-autuada-pelo-procon-de-sp"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr12785', 'pto26310']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26310/xiaomi_1400x875_5d1385e4c3570_14080.jpg" title="Loja da Xiaomi no Shopping Ibirapuera é autuada pelo Procon de SP" alt="Loja da Xiaomi no Shopping Ibirapuera é autuada pelo Procon de SP" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >26/06/2019  19:20h</span>
                                    <span class="tit tit2" >Loja da Xiaomi no Shopping Ibirapuera é autuada pelo Procon de SP</span>
                                </div>
                            </a>
                        </li><li  >
                            <a class="pdest" href="https://www.oficinadanet.com.br/asus/26315-os-ultrabooks-que-a-asus-lancou-no-brasil-em-2019"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr12785', 'pto26315']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26315/capa-_14080.jpg" title="Os ultrabooks que a ASUS lançou no Brasil em 2019" alt="Os ultrabooks que a ASUS lançou no Brasil em 2019" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >26/06/2019  18:51h</span>
                                    <span class="tit tit2" >Os ultrabooks que a ASUS lançou no Brasil em 2019</span>
                                </div>
                            </a>
                        </li><li  >
                            <a class="pdest" href="https://www.oficinadanet.com.br/asus/26290-notebook-zenbook-14-lancamento-no-brasil"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr12785', 'pto26290']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26290/zenbook-capa-site_14080.jpg" title="Notebook ASUS Zenbook 14 com SSD NVMe, 8GB de RAM chega ao Brasil por R$ 5899" alt="Notebook ASUS Zenbook 14 com SSD NVMe, 8GB de RAM chega ao Brasil por R$ 5899" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >26/06/2019  18:50h</span>
                                    <span class="tit tit2" >Notebook ASUS Zenbook 14 com SSD NVMe, 8GB de RAM chega ao Brasil por ...</span>
                                </div>
                            </a>
                        </li></ul></div>      
                </div>
                <div class="bar2 p-rel" id="out_post_barra" data-distance="30" >
                    <div class="bar2" id="post_barra" >
                            <div class='wifl m-b-40'>
                                <!-- /6524261/ON_300x600_LATERAL -->
                                <div id='div-gpt-ad-1555093777375-0'>
                                <script>
                                googletag.cmd.push(function() { googletag.display('div-gpt-ad-1555093777375-0'); });
                                </script>
                                </div>
                            </div>
                    </div>
                </div>
            </div>
        <div class="wifl bottom_pause_post_barra"><div style="float:left;">
<div style="width: 300px; float: left; margin:auto">
<!-- /6524261/ON_FOOTER -->
<div id="div-gpt-ad-1512402583744-0" style="margin:auto; width:300px;">
<script>
googletag.cmd.push(function() { googletag.display("div-gpt-ad-1512402583744-0"); });
</script>
</div>
</div></div>
            <div style="float:left; max-width:750px; margin-left:20px" class="wifl"><span class="titulo1" ><span>NOTÍCIAS RELACIONADAS</span></span><ul class="lst4 post wifl  lsn "  ><li  >
                            <a class="" href="https://www.oficinadanet.com.br/artigo/99/descobrindo_a_cidade_estado_e_cep_de_qualquer_usuario"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2979', 'pto81']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/_template/imagem/padrao.jpg" title="Descobrindo a cidade, estado e CEP de qualquer usuário" alt="Descobrindo a cidade, estado e CEP de qualquer usuário" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Descobrindo a cidade, estado e CEP de qualquer usuário</span>
                                <div class="wifl nfo">
                                    </div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/12811-formulario-de-contato-em-php"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2979', 'pto12811']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/12811/guiaphp_200113.jpg" title="Formulário de contato em php" alt="Formulário de contato em php" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Formulário de contato em php</span>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Nicolas Muller</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/artigo/css/galeria-com-miniatura-deslizante-usando-css3"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2979', 'pto2635']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/_template/imagem/padrao.jpg" title="Galeria com miniatura deslizante usando CSS3" alt="Galeria com miniatura deslizante usando CSS3" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Galeria com miniatura deslizante usando CSS3</span>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Suelen Braga</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/artigo/javascript/portfolio-imagem-slider"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2979', 'pto2874']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/_template/imagem/padrao.jpg" title="Portfolio image slider com CSS e JQuery" alt="Portfolio image slider com CSS e JQuery" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Portfolio image slider com CSS e JQuery</span>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Thauan Almeida</span></div>
                            </a>
                        </li></ul>
            </div>
<div id="share_container" class=" left">
    <ul class="share_menu left vertical">
        <li class="share_btn visible" title="Compartilhe no Facebook"  onclick="  window.open('https://www.facebook.com/sharer/sharer.php?app_id=209309632417494&u=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fjavascript%2Flocalizacao-de-endereco-atraves-do-cep-usando-jquery%3Futm_source%3Dfacebook%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'facebook', 'https://www.oficinadanet.com.br/artigo/javascript/localizacao-de-endereco-atraves-do-cep-usando-jquery?utm_source=facebook&utm_medium=sharebutton&utm_campaign=RedesSociais']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2979','flgcomment');  " ><span class="facebookShare">Facebook</span></li>
        <li class="share_btn visible" title="Compartilhe no Twitter"  onclick="  window.open('https://twitter.com/intent/tweet?text=Localiza%C3%A7%C3%A3o+de+endere%C3%A7o+atrav%C3%A9s+do+CEP+usando+jQuery+%7C+Por+%40jonathanlamimkt+%7C+&url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fjavascript%2Flocalizacao-de-endereco-atraves-do-cep-usando-jquery%3Futm_source%3Dtwitter%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais&via=oficinadanet','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'twitter', 'https://www.oficinadanet.com.br/artigo/javascript/localizacao-de-endereco-atraves-do-cep-usando-jquery?utm_source=twitter&utm_medium=sharebutton&utm_campaign=RedesSociais']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&twitter=1&id=2979','flgcomment');  " ><span class="twitterShare">Twitter</span></li>
        <li class="share_btn visible" title="Compartilhe por Email"  onclick="  document.location='mailto:?subject=Localização de endereço através do CEP usando jQuery | Por @jonathanlamimkt | &body=Artigo: https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fjavascript%2Flocalizacao-de-endereco-atraves-do-cep-usando-jquery%3Futm_source%3Dshr_mail%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais';  _gaq.push(['_trackEvent', 'btshare', 'email', 'https://www.oficinadanet.com.br/artigo/javascript/localizacao-de-endereco-atraves-do-cep-usando-jquery?utm_source=shr_mail&utm_medium=sharebutton&utm_campaign=RedesSociais']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2979','flgcomment');  " ><span class="emailShare">Email</span></li>
        <li class="share_btn visible" title="Compartilhe pelo WhatsApp"  onclick="  _gaq.push(['_trackEvent', 'btshare', 'whatsapp', 'https://www.oficinadanet.com.br/artigo/javascript/localizacao-de-endereco-atraves-do-cep-usando-jquery?utm_source=whatsapp&utm_medium=sharebutton&utm_campaign=RedesSociais']);  window.open('https://api.whatsapp.com/send?text=Localização de endereço através do CEP usando jQuery - https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fjavascript%2Flocalizacao-de-endereco-atraves-do-cep-usando-jquery%3Futm_source%3Dwhatsapp%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais');  " ><span class="whatsappShare">WhatsApp</span></li>
        <li class="share_btn visible" title="Compartilhe pelo Telegram"  onclick="  _gaq.push(['_trackEvent', 'btshare', 'telegram', 'https://www.oficinadanet.com.br/artigo/javascript/localizacao-de-endereco-atraves-do-cep-usando-jquery?utm_source=telegram&utm_medium=sharebutton&utm_campaign=RedesSociais']);  window.open('https://telegram.me/share/url?url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fjavascript%2Flocalizacao-de-endereco-atraves-do-cep-usando-jquery%3Futm_source%3Dtelegram%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais&text=Localiza%C3%A7%C3%A3o+de+endere%C3%A7o+atrav%C3%A9s+do+CEP+usando+jQuery');  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2979','flgcomment');  " ><span class="telegramShare">Telegram</span></li>
    </ul>
</div>
        </div>
        <div class="wifl">
            <div class="content5 ">
                        <div class="wifl post-bottom1" id="boxcomment" >
                            <span class="titulo1 tit_tag" ><span>Comentários</span></span>
                    <div id="btcarregarcomments_disqus" class="bt-all tpl2 wifl">Carregar comentários</div>
                    <div id="comment" class="comentarios_box">
                        <div id="disqus_thread"></div>
                    </div>
                        </div>
            </div>
            <div class="bar2 m-t-30" ><div class="wifl m-b-40"><span class="titulo1" ><span>Destaques</span></span><ul class="lst121  wifl  lsn "  ></ul></div>
            </div>
        </div>   
    </section>
</div></div>
                <script>
                    var disqus_shortname = 'oficinadanet'; // required: replace example with your forum shortname
                    var disqus_url = 'https://www.oficinadanet.com.br/artigo/javascript/localizacao-de-endereco-atraves-do-cep-usando-jquery';

                    var disqus_config = function () {
                        this.callbacks.onNewComment = [function(comment) {ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2979','flgcomment');
                        }];
                    };
                    function carregaComentariosDisqus()
                    {
                        $('#btcarregarcomments_disqus').hide();

                        (function() {
                            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
                           dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
                            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
                        })();
                    }        
                </script>
                <div style="display:none;" id="flgcomment"></div>
    <script>
        function loadLazyMateria()
        {carregaComentariosDisqus();         
        }
    </script>
                </section>
<footer class="footer wifl" id="footer">
    <div class="corpo">
        <a href="https://www.oficinadanet.com.br" class="logo2"></a>
        <div class="out-menu-footer">
            <ul class="menu-footer lst-footer1 wifl">
                <li><a href="https://www.oficinadanet.com.br/sobre">Sobre</a></li>
                <li><a href="https://www.oficinadanet.com.br/contato">Contato</a></li>
                <li><a href="https://www.oficinadanet.com.br/privacidade" >Política de Privacidade</a></li>
                <li><a href="https://www.oficinadanet.com.br/equipe" >Equipe</a></li>
                <li><a href="https://www.oficinadanet.com.br/colabore" >Trabalhe conosco</a></li>
            </ul>
            <ul class="menu-footer wifl">
                <li><span class="linksredes" onclick="window.open('https://www.facebook.com/oficinadanet')">Facebook</span></li>
                <li><span class="linksredes" onclick="window.open('https://www.youtube.com/user/oficinadanettv')">Youtube</span></li>
                <li><span class="linksredes" onclick="window.open('https://twitter.com/OficinadaNet')">Twitter</span></li>
                <li><span class="linksredes" onclick="window.open('https://www.instagram.com/oficinadanetoficial/')">Instagram</span></li>
                <li><span class="linksredes" onclick="window.open('https://t.me/oficinadanet')">Grupo no Telegram</span></li>
            </ul>
            <ul class="menu-footer wifl">
                <li><a href="https://www.oficinadanet.com.br/siga-nossas-redes-sociais" >Siga as nossas redes sociais</a></li>
            </ul>
        </div>
        <div class="out-menu-cupons">
            <span>Descontos</span>
            <ul class="lst_cupons wifl lsn">
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-netshoes">Descontos Netshoes</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-saraiva">Descontos Saraiva</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-livraria-cultura">Descontos Livraria Cultura</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-fast-shop">Descontos Fast Shop</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-sou-barato">Descontos Sou Barato</a></li>
            </ul>
        </div>
        <div class="box-m3"  >
            <p class="wifl txt1">Um site do grupo</p>
            <a class="m3midia" href="http://www.m3midia.com.br"></a>
            <p class="wifl txt2">© 2005-2019 <span>M3 Mídia</span></p>
            <p class="wifl txt2">Todos os direitos reservados</p>
        </div>
    </div>
</footer><script>
                var tempo = '1800';
                window.setTimeout('location.reload();', tempo*1000);
                </script>
                <div class="wifl hgt100 blackoverlay" id="blackoverlay"></div>
<div id="out_lib" >
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</div>
<script>
    
    var vv={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=vv._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=vv._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}
    function BV(str){return vv.decode(str);}

    function scrollPageToID(id)
    {
        $('html,body').animate({ scrollTop: $('#'+id).offset().top - ( $(window).height() - $('#'+id).outerHeight(true) ) / 2  }, 700);
    }

    function serializeDataAttr(form)
    {
        var dataarr = new Array();
        for(var i in form.data()) {
            var subarr = new Array();
            subarr['name'] = i;
            subarr['value'] = form.data()[i];
            dataarr.push(subarr);
        }
        return $.param(form.serializeArray().concat(dataarr));
    }

    function testaVazio(campo,comparacao,mensagem,erro)
    {
        if (erro == true) {return true;}
        if (document.getElementById(campo).value == comparacao)
        {
            alert (mensagem);
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return true;
        }
        else {return false;}
    }
    function testaCheckBox(classe,mensagem)
    {
        erro = true;
        checkboxes = document.getElementsByClassName(classe);

        for(var i=0, n=checkboxes.length; i<n; i++)
        {
            if(checkboxes[i].checked)
                erro = false;
        }

        if(erro == true)
        {
            alert(mensagem);
            checkboxes[0].focus();
            return true;
        }
        else
            return false;
  }
  
    function setCookie (name,value,expires,path,domain,secure)
    {
      document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires.toUTCString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
    }
    
    function ajaxDireto(url,param,retorno,tipo) //usa jquery
    {
        if(!tipo) tipo = "POST"
         $.ajax({
           type: tipo,
           url: url,
           data: param,
           success: function(html){
             $("#"+retorno).html(html);
           }
         });

    }

    function newsletterCad(e,step)
    {
//        alert(step);
//        alert(e);

        
    }

    function populaSelectCidade(ele)
    {
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=populaSelectCidade&sigla='+$(ele).val(),'select_cidade');
    }
    
        
    $(document).ready(function (e) {
       var header_height = $("header").height();
       $(window).scroll(function(){
           var scrolltop = $(window).scrollTop();
           if(scrolltop > 0)
               $('#out-img-curso-aberto').css('top',(($(window).scrollTop()/2) *-1) + header_height);
           else
               $('#out-img-curso-aberto').css('top',header_height+'px');
       });
    });

    var scroll_aux      = 0;
    var header_top      = $("#header").offset().top;
    var header_height   = $("#header").outerHeight();
    var window_height   = $(window).height();
    var height_document = $(document).height();
    
    
    function fixedMenu()
    {
        var scroll = $(window).scrollTop();

        if( scroll >= (header_top+header_height) )
        {
            if(scroll < scroll_aux )
            {
                $('#mov_header').css({'position':'fixed',transition: '0.3s','top':'0px'});
            }
            else
            {
                if( (scroll+window_height+20) > height_document )
                {
                    $('#mov_header').css({'position':'fixed',transition: '0.3s','top':'0px'});
                }
                else
                {
                    var v_tra  = '0.3s';
                    if( scroll <= ( header_top + header_height + 100) )
                        v_tra  = '0s';

                    $('#mov_header').css({'position':'fixed',transition: v_tra,'top':'-'+header_height+'px'});
                }
            }
        }
        else if(scroll <= header_top)
        {
            $('#mov_header').css({'position':'absolute',transition: '0.3s','top':'0px'});

        }
        scroll_aux = scroll;
    }

    function boxHoverSite(act,cic,e)
    {
        var top     = $(e).offset().top+$(e).outerHeight();
        var e_hover = '';

        if($(e).data('box-hover'))
        {
            e_hover = '#'+$(e).data('box-hover')+'_hover';

            switch(act)
            {
                case 2:
                    $('.contr_hov_itens').fadeOut(0);
                    $(e_hover).fadeIn(400);
                    $(e_hover).addClass('contr_hov_itens');
                    boxHoverSite(0,0,e);
                break;
                case 0:
                    if(cic < 5)
                    {
                        var timeBoxHoverSite = setTimeout(function()
                        {
                            cic++;
                            boxHoverSite(0,cic,e);
                        }, 500);
                    }
                    else
                    {
                        clearTimeout(timeBoxHoverSite);
                        if(!$(e_hover).is(":hover") && !$(e).is(":hover") && !$(e_hover+' *').is(":focus"))
                        {
                            $(e_hover).fadeOut(400);
                        }
                        else
                            boxHoverSite(0,0,e);
                    }

                break;
            }
        }
        else
        {
            $('.contr_hov_itens').fadeOut(0);
        }
    }

    function blackoverlay(act)
    {
        if(act)
        {
            $('#blackoverlay').fadeIn(400);
            $('html').addClass('no_scroll');
        }
        else
        {
            $('#blackoverlay').fadeOut(400);
            $('html').removeClass('no_scroll');
        }
    }

    function actAovivo()
    {
        window.location = "";
    }

    function actBodyPago()
    {
        window.open("");
    }

    function actMenuMobile(act)
    {
        if(act)
        {
            $('#blackoverlay').addClass('blackoverlay_mobile').trigger('classChange');

            if(!$('#menumobile-act').data('post-left'))
            {
                $('#menumobile-act').data('post-left',$('#menumobile-act').css('left'));
            }
            $('#menumobile-act').css('left','0');
            $('#menumobile').css('display','none');
            $('#fechar_menumobile').css('display','block');
        }
        else
        {
            $('#menumobile-act').css('left',$('#menumobile-act').data('post-left'));
            $('#blackoverlay').removeClass('blackoverlay_mobile').trigger('classChange');
            $('#menumobile').css('display','block');
            $('#fechar_menumobile').css('display','none');
        }
        blackoverlay(act);
    }

    function actAbreComments(act)
    {
        if(act)
        {
            var post_id        = $('#bt_new_cmt').data('post_id');
            var url            = $('#bt_new_cmt').data('url');
            var tipo           = $('#bt_new_cmt').data('tipo');
            var comentariosnrs = $('#bt_new_cmt').data('comentariosnrs');
            
            if($("#box_new_cmt_retorno").html() == '')
            {
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=getCommentsBox&post_id='+post_id+'&url='+url+'&tipo='+tipo+'&comentariosnrs='+comentariosnrs,'box_new_cmt_retorno');
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id='+post_id,'flgcomment');
            }
            
            $('#box_new_cmt_open').css('right','0');
            $('#bt_new_cmt_orelha').css('display','none');
            $('#bt_new_cmt_orelha_close').css('display','block');
            $('#bt_new_cmt_orelha_close').css('left','-30px');
        }
        else
        {
            var window_width = $(window).width();
            var right        = 'calc(-37% - 15px)';
            
            if(window_width < 1400)
            {
                right = '-330px';
            }
            
            $('#box_new_cmt_open').css('right',right);
            $('#bt_new_cmt_orelha_close').css('display','none');
            $('#bt_new_cmt_orelha').css('display','block');
            $('#bt_new_cmt_orelha').css('left','-43px');
        }
    }
    
    function actPopup(act,tipo)
    {
        if(act == 'fechar')
        {
            _gaq.push(['_trackEvent', tipo, tipo, tipo]);
            
            ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome='+tipo+'&valor=1','box_popup');
            $('#box_popup').css('display','none');
            $('#box_popup_big').css('display','none');
            $('#box_popup_mobile').css('display','none');
            blackoverlay();
        }
    }

    function actSmartMobile(act)
    {
        if(act)
        {
            $('#blackoverlay').addClass('blackoverlay_smart').trigger('classChange');

            if(!$('#smart_filtro_m-act').data('post-left'))
            {
                $('#smart_filtro_m-act').data('post-left',$('#smart_filtro_m-act').css('left'));
            }
            $('#smart_filtro_m-act').css('left','0');
            $('#smart_filtro_m_abre').css('display','none');
            $('#smart_filtro_m_fecha').css('display','block');
            $('#smart_filtro_ud_out').css('display','block');
        }
        else
        {
            $('#smart_filtro_m-act').css('left',$('#smart_filtro_m-act').data('post-left'));
            $('#blackoverlay').removeClass('blackoverlay_smart').trigger('classChange');
            $('#smart_filtro_m_abre').css('display','block');
            $('#smart_filtro_m_fecha').css('display','none');
            $('#smart_filtro_ud_out').css('display','none');
        }
        blackoverlay(act);
    }

    
    var scroll_aux2     = 0;
    var loadCheck       = 0;
    var window_width    = $(window).width();

    function fixedOnScroll(id)
    {   
        if ($('#' + id).length > 0)
        {
            if( window_width > 1300 )
            {

                var k_distance      = 10;
                var comp_height     = 0;
                var scroll_top      = $(window).scrollTop();
                var height_maior    = false;
                var bottom_pause    = height_document;

                var anchor_top_dist     = $('#' + id).offset().top;
                var item_movel_height   = $('#' + id + ' > *').height();

                if($( ".bottom_pause_post_barra" ).length)
                {
                    bottom_pause =  $( ".bottom_pause_post_barra" ).offset().top - ( k_distance + header_height + item_movel_height + parseInt($( ".bottom_pause_post_barra" ).css('margin-top')));
                }

                //console.log('3 '+item_movel_height+' '+bottom_pause+' '+scroll_top+' '+scroll_aux2+' '+scroll_aux+' conta: '+(bottom_pause - scroll_top));
                
                //console.log('4 '+(bottom_pause - scroll_top) +' --- '+ anchor_top_dist);
                
                if( ( bottom_pause - scroll_top) < 0  ) //chega ao fim
                {
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": 'initial',
                        "position": "fixed",
                        "bottom": "initial",
                        "transition":" 0s",
                        "top": (  (bottom_pause + k_distance + header_height) - scroll_top   )+'px'
                    });
                    if(loadCheck == 0)
                    {
                        loadLazyMateria();
                        
                        loadCheck = 1;
                    }

                }
                else if ((scroll_top + k_distance + header_height ) > anchor_top_dist) //scroll down
                {
                    k_distance = k_distance + header_height;
                    
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": $('#' + id + ' > *').offset().left + 'px',
                        "position": "fixed",
                        "top": (k_distance) + 'px',
                        "bottom": "initial",
                        "transition":" 0.8s all ease"

                    });
                }
                else if (( (scroll_top + k_distance) - comp_height ) > anchor_top_dist) //scroll up
                {
                    k_distance = k_distance + header_height;
                    
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": $('#' + id + ' > *').offset().left + 'px',
                        "position": "fixed",
                        "top": (k_distance)+'px',
                        "bottom": "initial",
                        "transition":" 0.8s all ease"
                    });
                }
                else
                {
                    $('#' + id + ' > *').css({
                        "z-index": "initial",
                        "left": 'initial',
                        "position": "initial",
                        "bottom": 'initial',
                        "top": 'initial'
                    });
                }
            }
            scroll_aux2 = scroll_top;
        }
    }

    function actBtVerMais(e)
    {
        var id = $(e).data('target');
        $('#'+id).show();
        $(e).hide();
    }

    function atcFixedOnScroll()
    {
        fixedOnScroll('out_post_barra');
    }

    
    function actContatoEmpresa(act,tipo)
    {
        if(act && tipo != 0)
        {

            if(tipo == 1)
                $('#empresa_contato_titulo').html('Entre em contato');
            else
                $('#empresa_contato_titulo').html('Solicite um orçamento');

            $('#hidden_tipo').val(tipo);

            $('#blackoverlay').addClass('blackoverlay_cont_empresa').trigger('classChange');
            $('#empresa_contato').fadeIn(400);
            $('#empresa_contato').height($('#empresa_contato'+' > *').outerHeight());
        }
        else
        {
            $('#empresa_contato').fadeOut(400);
            $('#blackoverlay').removeClass('blackoverlay_cont_empresa').trigger('classChange');
            $('#empresa_contato_titulo').html('');
        }
        blackoverlay(act);
    }

    function actBuscaDesktop(act)
    {
        $('#busca_clique').toggle();
        $('#busca_input').focus();
        $('#blackoverlay').addClass('blackoverlay_busca_desktop').trigger('classChange');
        blackoverlay(act);
    }

    function actBuscaObjeto()
    {
        $('#box_marca_closed').hide();
        $('#box_marca_busca').show();
        $('.box_marca').css('background-color','#f3661a');
        $('#busca_marca_input').focus();
    }

    function actCorrigirTexto(act,e)
    {
        if($('#modal_corrigir_txt').length == 0)
        {
            $(e).data('corrigir_titulo');
            $("html").append('<div class="modal modal-s block corrigir" id="modal_corrigir_txt" ><span class="load-ico" ></span></div>');
            ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=corrigirTexto&monta=1&corrigir_titulo='+$(e).data('corrigir_titulo')+'¶_email='+$(e).data('para_email'),'modal_corrigir_txt');
        }


        if(act)
        {
            $('#blackoverlay').addClass('blackoverlay_corrigir').trigger('classChange');
            $('#modal_corrigir_txt').fadeIn(400);
        }
        else
        {
            $('#modal_corrigir_txt').fadeOut(400);
            $('#blackoverlay').removeClass('blackoverlay_corrigir').trigger('classChange');
        }
        blackoverlay(act);
    }

    function newsletterCad(ele,s)
    {
        var cad_idx = $(ele).data('idx');
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php',$('#'+cad_idx+'_form1').serialize()+'&'+$('#'+cad_idx+'_form2').serialize(),$(ele).data('id_ulout'));
    }

    function fixedMenuDiagramado()
    {
        var scrolltop = $(window).scrollTop();

        if(scrolltop >= 350)
            $('.conteudo .out_menu_diagramado').css('top','0');
        else
            $('.conteudo .out_menu_diagramado').css('top','850px');
    };
    
    function fechaBoxBigPopup(gaq,cookie,link)
    {
        blackoverlay();
        setCookie(cookie,'1');
        _gaq.push(["_trackEvent", "popup_seguir", gaq, gaq]);
        document.location = link;
    }
    
    $(document).ready(function()
    {
            
        $(function ()
        {
            $(window).scroll(atcFixedOnScroll);
        });

        $('.disabled').click(function(e)
        {
           e.preventDefault();
        })

        $('.box_hover').mouseenter(function()
        {
            boxHoverSite(2,0,this);
        });

        $(window).scroll(fixedMenu);
        $(window).scroll(fixedMenuDiagramado);
        fixedMenu();
        fixedMenuDiagramado();
        $(".amenu_diagramado").click(function(){scrollPageToID($(this).attr('href').substring(1));});
        $(".bt_ver_mais").click(function(){ actBtVerMais(this); });
        $(".ver_mais_preco_obj").click(function(){ scrollPageToID('precos'); });
        $('#bt_header_busca').click(function(){ $('#busca_input').focus();});
        $('#smart_filtro_ud_dwn').click(function(){$(".smart_filtro").animate({scrollTop: '+=200px'}, 300);});
        $('#smart_filtro_ud_up').click(function(){$(".smart_filtro").animate({scrollTop: '-=200px'}, 300);});
        $('#mobile_busca').click(function(){ $('#mobile_bf').css('display','block');});
        $('#aovivo').click(function(){ actAovivo(); });
        $('#smart_filtro_m_abre').click(function(){ actSmartMobile(true); });
        $('#bt_new_cmt').click(function(){ actAbreComments(true); });
        $('#bt_new_cmt_orelha').click(function(){ actAbreComments(true); });
        $('#bt_new_cmt_orelha_close').click(function(){ actAbreComments(false); });
        $('.commentcall').click(function(){scrollPageToID('boxcomment');});
        $('#busca_clique_open').click(function(){ actBuscaDesktop(true); });
        $('#box_marca_closed').click(function(){ actBuscaObjeto(); });
        $('#smart_filtro_m_fecha').click(function(){ actSmartMobile(false); });
        $('#menumobile').click(function(){ actMenuMobile(true); });
        $('.fechar_sticky').click(function(){ actPopup('fechar','OFICINA_STICKY'); });
        $('#fechar_menumobile').click(function(){ actMenuMobile(false); });
        $('.fechar_newsletter_big').click(function(){ actPopup('fechar','NEWSBIG'); });
        $('.fechar_youtube_big').click(function(){ actPopup('fechar','YOUTUBEBIG'); });
        $('.fechar_youtube_mobile').click(function(){ actPopup('fechar','YOUTUBEMOBILE'); });
        $('.fechar_instagram_mobile').click(function(){ actPopup('fechar','INSTAGRAMMOBILE'); });
        $('.fechar_todasredes_mobile').click(function(){ actPopup('fechar','TODASREDESMOBILE'); });
        $('.fechar_rss_big').click(function(){ actPopup('fechar','RSSBIG'); });
        $('.fechar_twitter_big').click(function(){ actPopup('fechar','TWITTERBIG'); });
        $('.fechar_instagram_big').click(function(){ actPopup('fechar','INSTAGRAMBIG'); });
        $('.fechar_todasredes_big').click(function(){ actPopup('fechar','TODASREDESBIG'); });
        $('.todasredes').click(function(){ actPopup('abrir','TODASREDESBIG'); });
        $('#fechar_newsletter').click(function(){ actPopup('fechar','ONNEWS'); });
        $('#fechar_youtube').click(function(){ actPopup('fechar','YOUTUBEBIG'); });
        $('#popup_youtube').click(function(){ actPopup('fechar','ONYOUTUBE'); });
        $("#form_envia").click(function(){ submitFormulario(); });
        $("#mostra_fone").click(function(){ $('#empresa_fone').html(BV($('#empresa_fone').data('info'))); $('#mostra_fone').hide(); });
        $(".empresa_contato").click(function(){ actContatoEmpresa(true,$(this).data('tipo'));});
        $('#empresa_contato_fechar').click(function(){ actContatoEmpresa(false,0) });
        $('.act_corrigir_texto').click(function(){ actCorrigirTexto(true,this) });
        $('#btcarregarcomments_disqus').click(function(){ carregaComentariosDisqus() });
        $('#btcarregarcomments_facebook').click(function(){ carregaComentariosFacebook() });
        $(".form_newsletter_cad").submit(function(event){  event.preventDefault(); newsletterCad(this,"1"); });
        $(".form_newsletter_cad2").submit(function(event){ event.preventDefault(); newsletterCad(this,"2"); });
        $(".form_newsletter_cad").submit(function(event){  event.preventDefault(); newsletterCad(this,'1'); });
        $(".form_newsletter_cad2").submit(function(event){ event.preventDefault(); newsletterCad(this,'2'); });

        $('#blackoverlay').on('classChange',function()
        {
            $('.blackoverlay_mobile').click(function(){ actMenuMobile(false) });
            $('.blackoverlay_smart').click(function(){ actSmartMobile(false) });
            $('.blackoverlay_cont_empresa').click(function(){ actContatoEmpresa(false,0) });
            $('.blackoverlay_corrigir').click(function(){ actCorrigirTexto(false,'') });
            $('.blackoverlay_busca_desktop').click(function(){ actBuscaDesktop(false)});
        });


        $('.accordion_act1 .i-tit').click(function(e)
        {
            if($(this).prop("tagName") != 'A')
            {
                $(this).addClass('click');
                $('.li-wrapper:not(\'.click\')').animate({height:0}, { duration: 400, queue: false });
                $('.i-tit:not(\'.click\')').removeClass('ativo');

                if(!$(this).hasClass('ativo'))
                {
                    $(this).addClass('ativo');
                    $(this).find('+ .li-wrapper').animate({height:$(this).find('+ .li-wrapper > .accordion_act1').outerHeight()}, { duration: 400, queue: false });
                }
                else
                {
                    $(this).removeClass('ativo');
                    $(this).find('+ .li-wrapper').animate({height:0},400);
                }
                $(this).removeClass('click');
            }
        });

        $('.accordion_act2 .tit_1').click(function(e)
        {
            $(this).addClass('click');
            $('.li-wp1:not(\'.click\')').animate({height:0}, { duration: 400, queue: false });

            if(!$(this).hasClass('ativo'))
            {
                var wrapper1_id         = 'wrapper_'+$(this).data('wrap0');
                var wrapper1_height     = $('#'+wrapper1_id+' > .accordion_act2 > li').length* $('#'+wrapper1_id+' > .accordion_act2 > li').outerHeight();

                $('#'+wrapper1_id).animate({height:wrapper1_height}, { duration: 400, queue: false });
                $('.tit_1').removeClass('ativo');
                $(this).addClass('ativo');
            }
            else
            {
                $('.tit_1').removeClass('ativo');
            }
            $(this).removeClass('click');
        });

        $('.accordion_act2 .tit_2').click(function(e)
        {
            $(this).addClass('click');
            $('.li-wp2:not(\'.click\')').animate({height:0}, { duration: 400, queue: false });

            var wrapper1_id = 'wrapper_'+$(this).data('wrap0');
            var wrapper2_id = 'wrapper_'+$(this).data('wrap0')+'_'+$(this).data('wrap1');

            if(!$(this).hasClass('ativo'))
            {
                var wrapper1_height     = $('#'+wrapper1_id+' > .accordion_act2 > li').length* $('#'+wrapper1_id+' > .accordion_act2 > li').outerHeight();
                var wrapper2_height     = $('#'+wrapper2_id+' > .accordion_act2 > li').length* $('#'+wrapper2_id+' > .accordion_act2 > li').outerHeight();


                $('#'+wrapper1_id).animate({height:wrapper1_height+wrapper2_height}, { duration: 400, queue: false });
                $('#'+wrapper2_id).animate({height:wrapper2_height}, { duration: 400, queue: false });

                $('.tit_2').removeClass('ativo');
                $(this).addClass('ativo');
            }
            else
            {
                var wrapper1_height = $('#'+wrapper1_id+' > .accordion_act2 > li').length*$('#'+wrapper1_id+' > .accordion_act2 > li > .tit_2').outerHeight();

                $('#'+wrapper1_id).animate({height:wrapper1_height}, { duration: 400, queue: false });
                $('.tit_2').removeClass('ativo');
            }
            $(this).removeClass('click');
        });
        
                    $('#act_user').css('display','none');
            $('#act_cad').css('display','block');
                });

    var lst_carregamento        = 1;
    var txtstatus               = 'ok';
    var html_ico_load_auto_load = '<span id="icoload_autoload" class="wifl p-rel" ><span class="load-ico" ></span></span>';
    function carregaConteudo()
    {
        if($('#auto_load_wrapper').length > 0)
        {
            var scrollPosition      = window.pageYOffset;
            var windowSize          = window.innerHeight;
            var footerHeightTop     = $('#footer').offset().top;

            var stop_load           = document.getElementById('auto_load_wrapper').getAttribute('data-stop-load');

            if((scrollPosition + windowSize + 800) > footerHeightTop && stop_load == '0')
            {
                if(txtstatus == 'ok')
                {
                    $("#auto_load_wrapper").append(html_ico_load_auto_load);
                    txtstatus = 'timeout';
                    $.ajax({
                        type: 'POST',
                        url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
                        data: 'act=autoLoadConteudo&lst_carregamento='+lst_carregamento+'&'+serializeDataAttr($('#auto_load_wrapper')),
                        success: function(html)
                        {
                            $("#auto_load_wrapper").append(html);
                            $("#icoload_autoload").remove();
                            txtstatus = 'ok';
                        }
                    });
                    lst_carregamento++;
                }
            }
        }
    }
    
    
    $(".expand-gperf").click(function() {
        $(this).next().toggle();
    });

    $(function () {
        $(window).scroll(carregaConteudo);
        carregaConteudo();
    });

    $(window).scroll(function() {
        if ($(this).scrollTop() >= 150) {
            $('#top_page').fadeIn(200);
        } else {
            $('#top_page').fadeOut(200);
        }
    });
    $('#top_page').click(function() {
        var bcp = $('#boxcomment').position();
        $('body,html').animate({
            scrollTop : bcp.top
        }, 500);
    });
    

    if ($(".carousel_destaque")[0])
    {
        $('#out_lib').append('<link href="https://painel.m3midia.com.br/lib/slick/slick.css" rel="stylesheet">');
        $.getScript("https://painel.m3midia.com.br/lib/slick/slick.js", function(){
            $('.carousel_destaque').slick({
                slidesToShow: 1,
                slidesToScroll: 1,
                autoplay: true,
                pauseOnHover: true,
                autoplaySpeed: 10000
            });
            setTimeout(function(){
                $('.carousel_destaque').removeClass('carregando');;
            }, 1500);
        });
    }

    if ($(".conteudo_galeria")[0])
    {
        $('#out_lib').append('<link href="https://painel.m3midia.com.br/lib/lightGallerySlider/lightGallerySlider.css" rel="stylesheet">');
        $.getScript("https://painel.m3midia.com.br/lib/lightGallerySlider/lightGallerySlider.js", function(){
            $('.conteudo_galeria').lightSlider({
           item: 3,
           loop:false,
           slideMove:3,
           easing: 'cubic-bezier(0.25, 0, 0.25, 1)',
           speed:600,
           responsive : [
               {
                   breakpoint:800,
                   settings: {
                       item:3,
                       slideMove:1,
                       slideMargin:6,
                     }
               },
               {
                   breakpoint:480,
                   settings: {
                       item:2,
                       slideMove:1
                     }
               }
           ]
            }).lightGallery({

            });
            $('.out_conteudo_galeria').css('display','block');
        });
    }
  
</script>
    <div id="box_popup_big" class="box_news_big instagram">
        <div class="act fechar_box_popup box_hover p-rel fechar_instagram_big" ></div>
        <a href="http://bit.ly/instaoficina" onclick='_gaq.push(["_trackEvent", "popseguir", "instagram", "instagram"]);' target="_blank" rel="nofollow"><img alt="siga Oficina da Net no Instagram" src="https://www.oficinadanet.com.br/_template/imagem/oficina-insta.jpg"/></a>
    </div>
    <script>
        function abreBoxBigOficina()
        {
            $('#box_popup_big').css('display','block');
            //blackoverlay(1);
        }
    </script>
    <script>setTimeout('abreBoxBigOficina();','30000');</script>
            
<script>
    function actSininho()
    {
        _gaq.push(['_trackEvent', 'sininho', 'sininho', 'sininho']);
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONSININHO&valor=1&tempo=36000','box_sininho');
        setTimeout("document.location = 'https://www.oficinadanet.com.br/novidades'",1000);
    }

    $(document).ready(function()
    {
        $('#sininho').click(function(){ actSininho(); });
    });

</script>

<script src="https://www.gstatic.com/firebasejs/5.9.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.0/firebase-messaging.js"></script>
<script>
    const applicationServerKey = "BJX8Rw2npfApIhpWy-3hPGZvdvdHECD4FLbylmtWsMgyUDgsOeP8R5K5E0SxCWxQ21rYmG7basOHXlDande8OgY";
    // Initialize Firebase
    var config = {
        apiKey: "AIzaSyChPCYMhtkCC0AfCVeZe6847ZJOuj1XuYQ",
        authDomain: "oficina-da-net.firebaseapp.com",
        databaseURL: "https://oficina-da-net.firebaseio.com",
        projectId: "oficina-da-net",
        storageBucket: "oficina-da-net.appspot.com",
        messagingSenderId: "647906981733"
    };
    
    firebase.initializeApp(config);
    const messaging = firebase.messaging();
    messaging.usePublicVapidKey(applicationServerKey);  

    function getTokenFBClient()
    {
        return messaging.getToken();
    }
  

    function getTokenRefreshFBClient()
    {
        return messaging.onTokenRefresh(function() {
            return messaging.getToken();
        });
    }

    document.addEventListener("DOMContentLoaded", () => {        
        let isPushEnabled = false;
        
        if (!('serviceWorker' in navigator)) {
            console.warn("Service workers are not supported by this browser.");
            return;
        }

        if (!('PushManager' in window)) {
            console.warn('Push notifications are not supported by this browser.');
            return;
        }

        if (!('showNotification' in ServiceWorkerRegistration.prototype)) {
            console.warn('Notifications are not supported by this browser.');
            return;
        }

        if (Notification.permission === 'denied') {
            console.warn('Notifications are denied by the user');
            return;
        }
        
        navigator.serviceWorker.register("/firebase-messaging-sw.js")
            .then( reg => {
                reg.update();                
                console.log('[SW] Service worker has been registered');
                sw_registered();
            }, e => {
                console.error('[SW] Service worker registration failed', e);
        });
        
        function sw_registered()
        {
            navigator.serviceWorker.ready.then(serviceWorkerRegistration => serviceWorkerRegistration.pushManager.getSubscription())
            .then(subscription => {
                if (!subscription) 
                {
                    console.log('not subscription',subscription);
                    return push_subscribe();
                }
                else
                {                    
                    console.log('update token');
                    getTokenRefreshFBClient();
                    return push_sendSubscriptionToServer(subscription, 'push_updateSubscription');                    
                }
            })
            .then(subscription => subscription ) 
            .catch(e => {
                /*console.error('Error subscription', e);*/
            });
        }
    

        function push_subscribe() {
            navigator.serviceWorker.ready
            .then(serviceWorkerRegistration => serviceWorkerRegistration.pushManager.subscribe({
                userVisibleOnly: true,
                applicationServerKey: urlBase64ToUint8Array(applicationServerKey),
            }))
            .then(subscription => {                
                return push_sendSubscriptionToServer(subscription, 'push_subscribe');
            })
            .then(subscription => subscription )
            .catch(e => { });
        }

        function urlBase64ToUint8Array(base64String) {
            const padding = '='.repeat((4 - base64String.length % 4) % 4);
            const base64 = (base64String + padding)
                .replace(/\-/g, '+')
                .replace(/_/g, '/');

            const rawData = window.atob(base64);
            const outputArray = new Uint8Array(rawData.length);

            for (let i = 0; i < rawData.length; ++i) {
                outputArray[i] = rawData.charCodeAt(i);
            }
            return outputArray;
        }
    
        function push_sendSubscriptionToServer(subscription, acao) {
            var ret = getTokenFBClient();
            ret.then(function(refreshedToken) {

                const method = 'POST';
                const key = subscription.getKey('p256dh');
                const token = subscription.getKey('auth');
                const contentEncoding = (PushManager.supportedContentEncodings || ['aesgcm'])[0];

                var strSubscription = JSON.stringify(subscription.toJSON());
                
                                    ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=webpush&acao='+acao+'&subscription='+strSubscription+'&iidToken='+refreshedToken,'');                  
                                    }).catch(function(err) {
                console.log('Unable to retrieve refreshed token ', err);        
            });            
        }
    });
</script><script type="text/javascript" >

    var current_user = null;
    var cache_name = '55b617267ef54378d91297ab0eddc885';
    var comment_to_send = '';
    var post_id = null;
    var reply_comment_id = 0;

    function getCookie(name)
    {
        var cookies = document.cookie;
        var prefix = name + "=";
        var begin = cookies.indexOf("; " + prefix);

        if (begin == -1) {

            begin = cookies.indexOf(prefix);

            if (begin != 0) {
                return null;
            }

        } else {
            begin += 2;
        }

        var end = cookies.indexOf(";", begin);

        if (end == -1) {
            end = cookies.length;
        }

        return unescape(cookies.substring(begin + prefix.length, end));
    }

    function PopupCenter(url, title, w, h)
    {
        var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : window.screenX;
        var dualScreenTop = window.screenTop != undefined ? window.screenTop : window.screenY;
        var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
        var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

        var systemZoom = width / window.screen.availWidth;
        var left = (width - w) / 2 / systemZoom + dualScreenLeft;
        var top = (height - h) / 2 / systemZoom + dualScreenTop;

        var newWindow = window.open(url, title, 'scrollbars=no, width=' + w / systemZoom + ', height=' + h / systemZoom + ', top=' + top + ', left=' + left);

        if (window.focus)
            newWindow.focus();
    }
    
    window.successfullySocialLogin = function(type){
        var post_data = getPostData();
        $('#login_loading').addClass('show');
        $.ajax({
            type: 'POST',
            url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
            data: post_data+'act=successfullySocialLogin',
            success: function (response) {
                
                if( response.error )
                {
                    alert('Ocorreu um erro durante o login.');
                }
                else
                {
                    setDataUser(response);
                    cleanForm();
                    hideCommentLogin();
                    $("#comment_list").html(response.html);
                    buildUserOptions();
                }
                $('#login_loading').removeClass('show');
            }
        });
    }

    function SubmitCommentForm(form)
    {
        if($(form).find('textarea').val().length)
        {
            $('.comment_input textarea').removeClass('invalid');
            comment_to_send = $(form).find('textarea').val();
            reply_comment_id = $(form).find('input[name="reply_comment_id"]').val();

            if(current_user === null)
            {
                ShowCommentLogin();
            }
            else
            {
                setComment();
            }
        }
        else
        {
            $(form).find('textarea').addClass('invalid').focus();
            setTimeout(function(){alert('Insira um comentário');},0);
        }
    }

    function ShowCommentLogin()
    {
        blackoverlay(true);
        $('#login_wrapper').addClass('show');
        $('#login_loading').removeClass('show');
    }

    function hideCommentLogin()
    {
        comment_to_send = '';
        blackoverlay(false);
        $('#login_wrapper').removeClass('show');
    }

    function SubmitLoginForm(form)
    {
        $('#login_loading').addClass('show');

        if(comment_to_send.length == 0 || post_id == 0)
            return;

        var post_data = getPostData();
        
        if($(form).find('input[name="act"]').val() == 'commentLogin')
        {

            var login = isValidInput($(form).find('input[name="login"]'));
            var password = isValidInput($(form).find('input[name="password"]'));

            if(login && password)
            {
                $.ajax({
                    type: 'POST',
                    url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
                    data: post_data+'act=commentLogin&login='+login+'&password='+password,
                    success: function (response) {

                        if( response.error )
                        {
                            if(response.error_code == 'mail_user_name')
                                isValidInput($(form).find('input[name="login"]'),response);
                            else if(response.error_code == 'password')
                                isValidInput($(form).find('input[name="password"]'),response);
                            else
                                alert(response.error_message);
                        }
                        else
                        {
                            setDataUser(response);
                            cleanForm();
                            hideCommentLogin();
                            $("#comment_list").html(response.html);
                            buildUserOptions();
                        }
                        $('#login_loading').removeClass('show');
                    }
                });
            }
            else
            {
                $('#login_loading').removeClass('show');
            }
        }
        else if($(form).find('input[name="act"]').val() == 'commentRegister')
        {
            var email = isValidInput($(form).find('input[name="email"]'));
            var name = isValidInput($(form).find('input[name="name"]'));
            var password = isValidInput($(form).find('input[name="password"]'));

            if(email && name && password)
            {
                $.ajax({
                    type: 'POST',
                    url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
                    data: post_data+'act=commentRegister&email='+email+'&name='+name+'&password='+password,
                    success: function (response) {

                        if( response.error )
                        {
                            if(response.error_code == 'invalid_name')
                                isValidInput($(form).find('input[name="name"]'),response);
                            else if(response.error_code == 'invalid_email')
                                isValidInput($(form).find('input[name="email"]'),response);
                            else if(response.error_code == 'email_exists')
                            {
                                $('#commentLogin').find('input[name="login"]').val(email);
                                $('#commentLogin').find('input[name="password"]').focus();
                                alert(response.error_message);
                            }
                            else
                                alert(response.error_message);
                        }
                        else
                        {
                            setDataUser(response);
                            cleanForm();
                            hideCommentLogin();
                            $("#comment_list").html(response.html);
                            buildUserOptions();
                        }
                        $('#login_loading').removeClass('show');
                    }
                });
            }
            else
            {
                $('#login_loading').removeClass('show');
            }
        }
    }

    function getPostData()
    {
        return 'comment='+comment_to_send+'&post_id='+post_id+'&reply_comment_id='+reply_comment_id+'&cache_name='+cache_name+'&';
    }

    function setComment()
    {
        cleanForm();
        var post_data = getPostData();
        $.ajax({
            type: 'POST',
            url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
            data: 'act=setComment&'+post_data,
            success: function (html) {
                $('#comment_list').html(html);
                buildUserOptions();
                processVotedComments();
            }
        });
    }

    function cleanForm()
    {
        $('.comment_input textarea').removeClass('invalid').val('');
    }

    function isValidInput(input,response)
    {
        if(response != undefined)
        {
            $(input).next().html(response.error_message);
            $(input).addClass('invalid');
            return false;
        }
        else
        {
            var inputValue = $(input).val();
            if(inputValue.length == 0)
            {
                $(input).next().html('Preenchimento obrigatório.');
                $(input).addClass('invalid');
                return false;
            }
            else
            {
                $(input).next().html('');
                $(input).removeClass('invalid');
                return $(input).val();
            }
        }
    }

    function replyComment(button)
    {
        var id = $(button).data('reply-box');

        if($('#reply-box-'+id).html() == "")
        {
            cleanForm();
            var reply_comment = $(button).data('reply-id');
            $('#reply-box-'+id).html($('#out_comment_form').html());
            $('#reply-box-'+id+' .comment_input textarea').focus();
            $('#reply-box-'+id+' input[name="reply_comment_id"]').val($(button).data('reply-id'));
        }
        else
        {
            $('#reply-box-'+id).html('');
        }
    }

    function commentVote(button,vote)
    {
        var comment_id = $(button).data('comment');
        $.ajax({
            type: 'POST',
            url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
            data: 'act=commentVote&post_id='+post_id+'&comment_id='+comment_id+'&vote='+vote,
            success: function (html) {
                processVotedComments();
            }
        });
    }

    function setDataUser(response)
    {
        current_user = response.user;
        if( current_user.image != undefined )
            $(".current_user_image").attr("src", current_user.image);
    }

    function processVotedComments()
    {
        if($("#comment_list").length != 0 && current_user != null)
        {
            var cookie_name = 'comment_vote_'+post_id;
            if(getCookie(cookie_name))
            {
                var comment_votes = JSON.parse(getCookie(cookie_name));
                Object.keys(comment_votes).forEach(function(k){
                    if($('#text-'+comment_votes[k]+'-'+k).hasClass('voted') == false)
                    {
                        $('#vote-up-'+k).attr("disabled", true);
                        $('#vote-down-'+k).attr("disabled", true);
                        $('#text-'+comment_votes[k]+'-'+k).html(parseInt($('#text-'+comment_votes[k]+'-'+k).html())+1);
                        $('#text-'+comment_votes[k]+'-'+k).addClass("voted");
                    }
                });
            }
        }
    }

    function buildUserOptions()
    {
        setTimeout(function (){
            if($("#comment_list").length != 0 && current_user != null)
            {
                $('#comment_list li').each(function(i)
                {
                    if($(this).data('user-id') == current_user.id)
                    {
                        var user_options = '<button type="button" class="show-user-options border" >•••</button>'
                           +'<div class="user-options" >'
                                +'<button class="delete-comment" type="button" data-comment-id="'+$(this).data('comment-id')+'" >Excluir</button>'
                            +'</div>';
                        $(this).prepend(user_options);
                    }
                });
            }
        },500);
    }

    function deleteComment(button)
    {
        var post_data = 'act=deleteComment&post_id='+post_id+'&comment_id='+$(button).data('comment-id')+'&cache_name='+cache_name;
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php',post_data,"comment_list");
        buildUserOptions();
    }

    function loadComment(button)
    {
        $(button).attr("disabled", true);
        $(button).data("title",$(button).html());
        $(button).html($(button).data("title-loading"));

        var load = $(button).data('load');
        var totalcomments = $(button).data('total-comments');

        var post_data = 'act=loadComment&post_id='+post_id+'&load='+load;

        var loadn = parseInt(load);
        loadn++;
        $(button).data('load',loadn);

        $.ajax({
            type: 'POST',
            url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
            data: post_data,
            success: function (response) {

                if($('#comment_list li').length >= totalcomments)
                {
                    $(button).css('display','none');
                    $(button).attr("disabled", true);
                }
                else
                {
                    $('#comment_list').append(response.html);
                    $(button).attr("disabled", false);
                    $(button).html($(button).data("title"));
                    buildUserOptions();
                }
            }
        });
    }
    
    function initComment()
    {
        
        post_id = $('#comment_list').data('post-id');

        $('.comment_input textarea').bind('input propertychange', function() {
            $(this).height('0px').height($(this).prop('scrollHeight')-22);
        });

        $(document).on('click', 'button.show-user-options',function(e) {
            if($(this).next().hasClass('show'))
                $(this).next().removeClass('show');
            else
                $(this).next().addClass('show');
        });

        $(document).on('click', '.delete-comment',function(e) {
            deleteComment(this);
        });

        $(".comment_modal_form").on('submit',function(e) {
            SubmitLoginForm(this);
            e.preventDefault();
        });

        $(document).on('click', '.btn_submit',function(e) {
            var form = $(this).parents('form:first');
            SubmitCommentForm(form);
        });

        $(document).on('click', 'button.reply',function(e) {
            replyComment(this);
        });

        $(document).on('click', '.vote-up',function(e) {
            commentVote(this,'up');
        });

        $(document).on('click', '.vote-down',function(e) {
            commentVote(this,'down');
        });

        $(".close_commentLogin").on('click',function(e) {
            hideCommentLogin();
        });

        $(".blackoverlay").on('click',function(e) {
            hideCommentLogin();
        });

        $("#btn_load_comment").on('click',function(e) {
            loadComment(this);
        });

        $(document).ready(function (){
            processVotedComments();
            buildUserOptions();

            if($('#comment_list li').length >= $('#btn_load_comment').data('total-comments'))
            {
                $('#btn_load_comment').css('display','none');
                $('#btn_load_comment').attr("disabled", true);
            }
        });
    }
    
    window.addEventListener("load", function(event) {
        initComment();
    });

</script><link rel="stylesheet" href="https://www.oficinadanet.com.br/_template/css/geral.css?v=803">
    
        <div class="player_dynad_tv"></div>
    </body>
</html>