Monitorando consumo de banda on-line usando bwbar no debian

Esse tutorial eu vou falar do bwbar que é um programa escrito em C mantido e pelo kernel.org. Bem ele você pode ver pela web o consumo da banda de sua máquina ou server pela web.

Por | @oficinadanet Softwares Pular para comentários

Esse tutorial eu vou falar do bwbar que é um programa escrito em C mantido e pelo kernel.org. Bem ele você pode ver pela web o consumo da banda de sua máquina ou server pela web.
Primeiro você vai precisar ter o apache com o php instalados . caso você queira instalar.

# apt-get install apache2 libapache2-mod-php4


Ele vai precisar de bibliotecas do png, então vamos instalar.
# apt-get install libpngwriter0c2 libpngwriter0-dev libpng12-dev libpng12-0 libpng3


Vamos instalar a biblioteca do gcc para compilarmos o programa.
# apt-get install g  


Vamos compilar o bwbar.
Entre no diretório /usr/src
# cd /etc/src


Vamos baixar o código mas recente nesse Site.
No console
# /usr/src# wget http://www.kernel.org/pub/software/web/bwbar/bwbar-1.2.3.tar.gz
# tar -xzvf bwbar-1.2.3.tar.gz
# cd bwbar-1.2.3
# gcc -c bwbar.c
# make
# cp bwbar /usr/sbin


Próxima parte. Primeiro precisamos saber as interfaces de rede na máquina.
# ifconfig
~# ifconfig
eth1 Encapsulamento do Link: Ethernet Endereço de HW 00:19:5B:FC:D3:96
inet end.: 192.xx.xx.xx Bcast:192.xx.xx.xx Masc:255.255.0.0
endereço inet6: fe80::219:5bff:fefc:d396/64 Escopo:Link
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
RX packets:12310558 errors:0 dropped:0 overruns:0 frame:0
TX packets:4714 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:1000
RX bytes:1303431423 (1.2 GiB) TX bytes:199104 (194.4 KiB)
IRQ:177 Endereço de E/S:0×9400

eth2 Encapsulamento do Link: Ethernet Endereço de HW 00:19:5B:84:9D:8C
inet end.: 200.xx.xx.xx Bcast:200.xx.xx.xx Masc:255.255.255.0
endereço inet6: fe80::219:5bff:fe84:9d8c/64 Escopo:Link
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
RX packets:6382805 errors:0 dropped:0 overruns:0 frame:0
TX packets:18752659 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:1000
RX bytes:1953141592 (1.8 GiB) TX bytes:1277461012 (1.1 GiB)
IRQ:169 Endereço de E/S:0×9000


Então vamos criar o arquivo em php que vai ser usado para visualizarmos o consumo da banda.

No meu caso vou criar no diretório do apache /var/www/bwbar

Criar o diretório
# mkdir /var/www/bwbar


Entrar no diretório
#cd /var/www/bwbar


Criar o arquivo vazio
# touch index.php

Enditando o arquivo.

# nano index.php

Vou colocar esse conteúdo. Mude o conteúdo de acordo com o seu cenário .


Consumo de Banda</title>
<meta http-equiv='refresh' content='2; URL=http://seu_IP/bwbar/index.php'>
</head>
<body>
    <div align="center">
        <font color=blue><h2>Interface eth2 ? download</h3></font>
        <?
        readfile("ubar_eth2_in.txt");
        ?>
        <br>
        <img class="lazy " title="Monitorando consumo de banda on-line usando bwbar no debian" src="ubar_eth2_in.png" alt="Monitorando consumo de banda on-line usando bwbar no debian" ><br>
    </div>

    <div align="center">
        <font color=blue><h2>Interface eth2 - upload</h3></font>
        <?
        readfile("ubar_eth2_out.txt");
        ?>
        <br>
        <img class="lazy " title="Monitorando consumo de banda on-line usando bwbar no debian" src="ubar_eth2_out.png" alt="Monitorando consumo de banda on-line usando bwbar no debian" ><br>
    </div></code></pre><br />
Baixe <a onclick="_gaq.push(['_trackEvent', 'link_interno', 'de_post-2291', 'para_url_http://www.oficinadanet.com.br//imagens/coluna/2645//bwbar.tar.gz']);"   target="_blank"   href="http://www.oficinadanet.com.br//imagens/coluna/2645//bwbar.tar.gz">aqui</a> esse código.<br />
<br />
Bem para iniciarmos o programa.<br />
<pre><code>cd /var/www/bwbar

bwbar -i eth2 1 -k -f ubar_eth2_in.txt -p ubar_eth2_in.png -t 1 &
bwbar -o eth2 1 -k -f ubar_eth2_out.txt -p ubar_eth2_out.png -t 1 &</code></pre><br />
<br />
Lembrando que você tem que alterar a interface de rede e os nomes dos arquivos de acordo com o seu cenário.<br />
<blockquote><div style="text-align:center"><img class="lazy " src="http://www.oficinadanet.com.br//imagens/coluna/2645/td_bwb.png" alt="http://www.oficinadanet.com.br//imagens/coluna/2645/td_bwb.png" /></div></blockquote><br />
<br />
<strong>Comandos do bwbar</strong><br />
<pre><code>    Options: (defaults in parenthesis)
    –input -i Measure input bandwidth
    –output -o Measure output bandwidth (default)
    –text-file <file> -f The name of the text output file (ubar.txt)
    –png-file <file> -p The name of the graphical bar file (ubar.png)
    –interval <seconds> -t The poll interval in seconds (15)
    –width <pixels> -x Width of the graphical bar (600)
    –height <pixels> -y Height of the graphical bar (4)
    –border <pixels> -b Border width of the graphical bar (1)
    –kbps -k Bandwidth is measured in kbit/s
    –Mbps -M Bandwidth is measured in Mbit/s (default)
    –Gbps -G Bandwidth is measured in Gbit/s
    –help -h Display this text</code></pre><br />
Pronto.</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', 'pfr2291', 'pto26090']);" href="https://www.oficinadanet.com.br/tecnologia/26090-windows-10-deixara-definir-a-largura-de-banda-a-ser-usada-nas-atualizacoes">Windows 10 deixará definir a largura de banda a ser usada nas atualizações</a></li><li><a onclick="_gaq.push(['_trackEvent', 'recomendacoes_editor', 'pfr2291', 'pto25861']);" href="https://www.oficinadanet.com.br/entretenimento/25861-como-compartilhar-o-que-esta-sendo-ouvido-no-spotify-no-instagram">Como compartilhar o que está sendo ouvido no Spotify no Instagram</a></li><li><a onclick="_gaq.push(['_trackEvent', 'recomendacoes_editor', 'pfr2291', 'pto25217']);" href="https://www.oficinadanet.com.br/anatel/25217-anatel-divulga-relatorio-sobre-o-mercado-de-banda-larga-brasileiro">Anatel divulga relatório sobre o mercado de banda larga brasileiro</a></li><li><a onclick="_gaq.push(['_trackEvent', 'recomendacoes_editor', 'pfr2291', 'pto25196']);" href="https://www.oficinadanet.com.br/redesdecomputadores/25196-seis-tipos-de-conexoes-de-rede-explicados">Seis tipos de conexões de rede explicados</a></li><li><a onclick="_gaq.push(['_trackEvent', 'recomendacoes_editor', 'pfr2291', 'pto25073']);" href="https://www.oficinadanet.com.br/anatel/25073-anatel-diz-que-aumento-de-61-na-banda-larga-foi-incentivado-por-pequenos-prestadores">Anatel diz que aumento de 6,1% na banda larga foi incentivado por pequenos prestadores</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>Novas notícias</span></span><ul class="lst12  wifl  lsn "  ><li  >
                            <a  href="https://www.oficinadanet.com.br/smartphones/26264-a-fedex-se-recusou-a-entregar-um-telefone-huawei-nos-eua"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26264']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26264/capa_fedex_e_huawei_1400x875_5d10ff64b3bc8_14080.jpg" title="A FedEx se recusou a entregar um telefone Huawei nos EUA" alt="A FedEx se recusou a entregar um telefone Huawei nos EUA" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >24/06/2019  13:51h</span>
                                    <span class="tit tit2" >A FedEx se recusou a entregar um telefone Huawei nos EUA</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/smartphones/26263-xiaomi-cc-primeiro-video-promocional-da-nova-linha-de-smartphones"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26263']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26263/mi-cc-9-data-de-lancamento-oficial_14080.jpg" title="Xiaomi CC: Primeiro vídeo promocional e data de lançamento da nova linha de smartphones" alt="Xiaomi CC: Primeiro vídeo promocional e data de lançamento da nova linha de smartphones" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >24/06/2019  12:27h</span>
                                    <span class="tit tit2" >Xiaomi CC: Primeiro vídeo promocional e data de lançamento da nova lin...</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/tecnologia/26261-o-novo-servico-de-assinatura-de-software-de-musica-da-slate-digital"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26261']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26261/capa_slate_1400x875_5d10e61c7fee7_14080.jpg" title="O novo serviço de assinatura de software de música da Slate Digital" alt="O novo serviço de assinatura de software de música da Slate Digital" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >24/06/2019  12:03h</span>
                                    <span class="tit tit2" >O novo serviço de assinatura de software de música da Slate Digital</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/tecnologia/26262-google-maps-tem-mais-de-11-milhoes-de-empresas-falsas-em-sua-listagem-e-lucra-com-isso"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26262']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26262/google-maps-listagem_1400x875_5d10ea59e4344.jpeg" title="Google Maps tem mais de 11 milhões de empresas falsas em sua listagem - e lucra com isso" alt="Google Maps tem mais de 11 milhões de empresas falsas em sua listagem - e lucra com isso" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >24/06/2019  10:34h</span>
                                    <span class="tit tit2" >Google Maps tem mais de 11 milhões de empresas falsas em sua listagem ...</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/hardware/26259-mi-band-4-alcanca-marca-de-um-milhao-de-vendas-em-oito-dias"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26259']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26259/mi-band-4-destaque_1400x875_5d10cfbef1d07_14080.jpg" title="Mi Band 4 alcança marca de um milhão de vendas em oito dias" alt="Mi Band 4 alcança marca de um milhão de vendas em oito dias" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >24/06/2019  10:22h</span>
                                    <span class="tit tit2" >Mi Band 4 alcança marca de um milhão de vendas em oito dias</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/smartphones/25991-nao-recebe-notificacoes-no-seu-galaxy-s10"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto25991']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/25991/nao_recebe_notificacoes_no_seu_galaxy_s10_1400x875_5d0f4665bd585_14080.jpg" title="Não recebe notificações no seu Galaxy S10? Veja como resolver" alt="Não recebe notificações no seu Galaxy S10? Veja como resolver" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >23/06/2019  08:56h</span>
                                    <span class="tit tit2" >Não recebe notificações no seu Galaxy S10? Veja como resolver</span>
                                </div>
                            </a>
                        </li><li  >
                            <a class="pdest" href="https://www.oficinadanet.com.br/netflix2019/26221-novidades-e-lancamentos-netflix-da-semana-2406-a-3006"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26221']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26221/capa-net_14080.jpg" title="Novidades e lançamentos Netflix da semana (24/06 a 30/06)" alt="Novidades e lançamentos Netflix da semana (24/06 a 30/06)" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >23/06/2019  08:08h</span>
                                    <span class="tit tit2" >Novidades e lançamentos Netflix da semana (24/06 a 30/06)</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/smartphones/26258-motorola-one-action-e-homologado-pela-anatel"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26258']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26258/motorla-one-action_14080.jpg" title="Motorola One Action é homologado pela Anatel" alt="Motorola One Action é homologado pela Anatel" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >22/06/2019  21:00h</span>
                                    <span class="tit tit2" >Motorola One Action é homologado pela Anatel</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/tecnologia/26234-como-postar-fotos-no-instagram-pelo-computador"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26234']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26234/como_postar_fotos_no_instagram_pelo_computador_2_1400x875_5d0dd8ac9b6da_14080.jpg" title="Como postar fotos no instagram pelo computador" alt="Como postar fotos no instagram pelo computador" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >22/06/2019  08:45h</span>
                                    <span class="tit tit2" >Como postar fotos no instagram pelo computador</span>
                                </div>
                            </a>
                        </li><li  >
                            <a  href="https://www.oficinadanet.com.br/games/26257-harry-potter-a-wizards-unite-esta-disponivvel-para-ios-e-android-nos-eua"  onclick="_gaq.push(['_trackEvent', 'barra_novos', 'pfr1012', 'pto26257']);"   >
                                <span class="img box-img" ><img src="https://www.oficinadanet.com.br/imagens/post/26257/harry-potter-a-wizards-unite_14080.jpg" title="Harry Potter: A Wizards Unite está disponívvel para iOS e Android nos EUA" alt="Harry Potter: A Wizards Unite está disponívvel para iOS e Android nos EUA" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >21/06/2019  21:54h</span>
                                    <span class="tit tit2" >Harry Potter: A Wizards Unite está disponívvel para iOS e Android nos ...</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/post/10236-comandos-para-gerenciamento-de-pacotes-no-debian-[parte-i]"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2291', 'pto10236']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/10236/td_debian_wallpaper_linux_computers_wallpaper_1440_900_widescreen_2706_200113.jpg" title="Comandos para Gerenciamento de Pacotes no Debian [Parte I]" alt="Comandos para Gerenciamento de Pacotes no Debian [Parte I]" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Comandos para Gerenciamento de Pacotes no Debian [Parte I]</span>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Denilson Prates</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/10194-perto-do-seu-lancamento-final-debian-wheezy-ainda-tem-100-bugs"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2291', 'pto10194']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/10194/td_debian_wallpaper_linux_computers_wallpaper_1440_900_widescreen_2706_200113.jpg" title="Perto do seu lançamento final, Debian Wheezy ainda tem 100 bugs" alt="Perto do seu lançamento final, Debian Wheezy ainda tem 100 bugs" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Perto do seu lançamento final, Debian Wheezy ainda tem 100 bugs</span>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Denilson Prates</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/10007-como-recuperar-a-senha-root-no-debian"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2291', 'pto10007']);"  >
                                <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="Como recuperar a senha ROOT no Debian" alt="Como recuperar a senha ROOT no Debian" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Como recuperar a senha ROOT no Debian</span>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Redação Oficina</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/9257-instalando-e-configurando-um-servidor-subversion-svn-no-debian"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2291', 'pto9257']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/9257/subversion_200113.jpg" title="Instalando e Configurando um servidor Subversion (SVN) no Debian" alt="Instalando e Configurando um servidor Subversion (SVN) no Debian" >
                                    <span class="gradient"></span>
                                </div>
                                <span class="wifl tit4">Instalando e Configurando um servidor Subversion (SVN) no Debian</span>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Daniel Flores Bastos</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%2Flinux%2Fmonitorando_consumo_de_banda_on-line_usando_bwbar_no_debian%3Futm_source%3Dfacebook%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'facebook', 'https://www.oficinadanet.com.br/artigo/linux/monitorando_consumo_de_banda_on-line_usando_bwbar_no_debian?utm_source=facebook&utm_medium=sharebutton&utm_campaign=RedesSociais']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2291','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=Monitorando+consumo+de+banda+on-line+usando+bwbar+no+debian&url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Flinux%2Fmonitorando_consumo_de_banda_on-line_usando_bwbar_no_debian%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/linux/monitorando_consumo_de_banda_on-line_usando_bwbar_no_debian?utm_source=twitter&utm_medium=sharebutton&utm_campaign=RedesSociais']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&twitter=1&id=2291','flgcomment');  " ><span class="twitterShare">Twitter</span></li>
        <li class="share_btn visible" title="Compartilhe por Email"  onclick="  document.location='mailto:?subject=Monitorando consumo de banda on-line usando bwbar no debian&body=Artigo: https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Flinux%2Fmonitorando_consumo_de_banda_on-line_usando_bwbar_no_debian%3Futm_source%3Dshr_mail%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais';  _gaq.push(['_trackEvent', 'btshare', 'email', 'https://www.oficinadanet.com.br/artigo/linux/monitorando_consumo_de_banda_on-line_usando_bwbar_no_debian?utm_source=shr_mail&utm_medium=sharebutton&utm_campaign=RedesSociais']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2291','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/linux/monitorando_consumo_de_banda_on-line_usando_bwbar_no_debian?utm_source=whatsapp&utm_medium=sharebutton&utm_campaign=RedesSociais']);  window.open('https://api.whatsapp.com/send?text=Monitorando consumo de banda on-line usando bwbar no debian - https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Flinux%2Fmonitorando_consumo_de_banda_on-line_usando_bwbar_no_debian%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/linux/monitorando_consumo_de_banda_on-line_usando_bwbar_no_debian?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%2Flinux%2Fmonitorando_consumo_de_banda_on-line_usando_bwbar_no_debian%3Futm_source%3Dtelegram%26utm_medium%3Dsharebutton%26utm_campaign%3DRedesSociais&text=Monitorando+consumo+de+banda+on-line+usando+bwbar+no+debian');  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2291','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 "  ><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/16925-qual-a-diferenca-entre-chrome-e-chromiun"  onclick="_gaq.push(['_trackEvent', 'barra_destaques', 'pfrbarra_destaques', 'pto16925']);"    >
                                <span class="nr">1</span>
                                <h3 class="tit tit2" >Qual a diferença entre Chrome e Chromium?</h3>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/12792-descubra-qual-o-melhor-sistema-operacional"  onclick="_gaq.push(['_trackEvent', 'barra_destaques', 'pfrbarra_destaques', 'pto12792']);"    >
                                <span class="nr">2</span>
                                <h3 class="tit tit2" >Qual o melhor sistema operacional, Windows, Linux ou Mac OS?</h3>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/13023-como-instalar-uma-maquina-virtual-no-meu-computador"  onclick="_gaq.push(['_trackEvent', 'barra_destaques', 'pfrbarra_destaques', 'pto13023']);"    >
                                <span class="nr">3</span>
                                <h3 class="tit tit2" >Como instalar uma máquina virtual no meu computador?</h3>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/10621-computadores-da-nasa-passam-a-usar-linux"  onclick="_gaq.push(['_trackEvent', 'barra_destaques', 'pfrbarra_destaques', 'pto10621']);"    >
                                <span class="nr">4</span>
                                <h3 class="tit tit2" >Computadores da Nasa passam a usar Linux</h3>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/10321-vdr-nova-versao-gravador-de-video-do-linux"  onclick="_gaq.push(['_trackEvent', 'barra_destaques', 'pfrbarra_destaques', 'pto10321']);"    >
                                <span class="nr">5</span>
                                <h3 class="tit tit2" >VDR: Nova versão do gravador de vídeo no Linux</h3>
                            </a>
                        </li></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/linux/monitorando_consumo_de_banda_on-line_usando_bwbar_no_debian';

                    var disqus_config = function () {
                        this.callbacks.onNewComment = [function(comment) {ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2291','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 class="ytvidbox" id="ytboxtest">
        <button onclick="fechaYt();" type="button" class="closebtyt" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
        <span class="yttit">Assista ao nosso último vídeo:</span>
        <div class="ytvidbox-interno" id="videocall">

        </div>
        <span class="ytb-sub" onclick="_gaq.push(['_trackEvent', 'ytbox-subscribe', 'ytbox-subscribe', 'ytbox-subscribe']); window.open('https://www.youtube.com/user/OficinaDaNetTV?sub_confirmation=1');">Inscreva-se no canal</span>
    </div>
    <script>
    function fechaYt()
    {
        _gaq.push(['_trackEvent', 'ytbox-fecha', 'ytbox-fecha', 'ytbox-fecha']); 
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=YTBOXTESTE&valor=1','box_popup');
        $('#ytboxtest').fadeOut(200);
    }
    function abreYt()
    {
                    $('#videocall').html('<iframe width="350" height="193" src="https://www.youtube.com/embed/?list=PLdQflD7vLzCjYNF01jjO4uuyyZLuQ96Yz&enablejsapi=1&rel=0" style="border:0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>');
            $('#ytboxtest').show();
                }
    setTimeout('abreYt();','');

    </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 = '1172706e7ae8b56c3889a27f9e2cbf81';
    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>