Oficina da Net Logo

Asp .Net - JavaScriptSerializer: JSON em C#

JavaScriptSerializer é uma classe responsável por serialização de outras classes para a linguagem que o javascript entende, JSON. Esta é a mesma utilizada internamente pela camada de comunicação assíncrona do Asp .Net para serializar e desserializar os dados passados entre o navegador e o servidor Web.

Por | @oficinadanet Programação

JavaScriptSerializer é uma classe responsável por serialização de outras classes para a linguagem que o javascript entende, JSON. Esta é a mesma utilizada internamente pela camada de comunicação assíncrona do Asp .Net para serializar e desserializar os dados passados entre o navegador e o servidor Web.

Para utilizar a classe é necessário importar o namespace System.Web.Script.Serialization.
A sintaxe para serializar um objeto é bem simples:

JavaScriptSerializer jss = new JavaScriptSerializer();
String res = jss.Serialize(Objeto); 

O método Serialize recebe qualquer tipo que herde de Object, essa função também pode ser usada assim:
JavaScriptSerializer jss = new JavaScriptSerializer();
StringBuilder sbRes = new StringBuilder();
jss.Serialize(Objeto, sbRes);

Mas será necessário importar o namespace System.Text. Vamos a um exemplo mais abrangente utilizando uma classe criada por nós como objeto.

[Pessoa.cs]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

public class Pessoa
{
    public string Nome { get; set; }
    public int Idade { get; set; }

    public Pessoa(string Nome, int Idade)
    {
        this.Nome = Nome;
        this.Idade = Idade;
    }
}

[Default.aspx.cs]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Script.Serialization;
using System.Text;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List lstPessoas = new List();
        lstPessoas.Add(new Pessoa("Leonardo", 20));
        lstPessoas.Add(new Pessoa("João", 8));
        lstPessoas.Add(new Pessoa("Luis", 15));
        lstPessoas.Add(new Pessoa("Jorge", 17));
        lstPessoas.Add(new Pessoa("Monica", 22));

        JavaScriptSerializer jss = new JavaScriptSerializer();
        StringBuilder sbRes = new StringBuilder();
        jss.Serialize(lstPessoas, sbRes);

        Response.Write(sbRes.ToString());
    }
}


No exemplo acima, criei uma Lista da minha classe, algo parecido com um Array e o resultado na tela foi esse:
Asp .Net - JavaScriptSerializer: JSON em C#


Agora precisamos fazer o javascript ler esse resultado, crie uma nova página e chame de ListarPessoas.aspx.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Script.Serialization;
using System.Text;

public partial class ListarPessoas : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List lstPessoas = new List();
        lstPessoas.Add(new Pessoa("Leonardo", 20));
        lstPessoas.Add(new Pessoa("João", 8));
        lstPessoas.Add(new Pessoa("Luis", 15));
        lstPessoas.Add(new Pessoa("Jorge", 17));
        lstPessoas.Add(new Pessoa("Monica", 22));

        JavaScriptSerializer jss = new JavaScriptSerializer();
        StringBuilder sbRes = new StringBuilder();
        jss.Serialize(lstPessoas, sbRes);

        Response.Clear();
        Response.Write(sbRes.ToString());
        Response.End();
    }
}


Na página Default.aspx retire o código colocado no Page_Load e deixe o HTML assim:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>




    </title>

    <script type="text/javascript">
        var request = null;
        try {
            request = new XMLHttpRequest();
        } catch (trymicrosoft) {
            try {
                request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (othermicrosoft) {
                try {
                    request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (failed) {
                    request = null;
                }
            }
        }

        function criarAjax() {
            try {
                request = new XMLHttpRequest();
            } catch (trymicrosoft) {
                try {
                    request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (othermicrosoft) {
                    try {
                        request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (failed) {
                        request = null;
                    }
                }
            }

            if (request == null)
                alert("Não foi possível criar o objeto ajax!");
        }

        function getDados() {
            if (request == null) criarAjax();
            if (request == null) return;
            
            var url = "ListarPessoas.aspx";
            //para evitar problemas com o cache do navegador
            url = url   "?cache="   new Date().getTime(); 
            request.open("GET", url, true);
            //chame a função sem os parênteses 
            request.onreadystatechange = getDados_Response; 
            request.send(null);
        }

        function getDados_Response() {
            if (request.readyState == 4) { //verifica o estado de prontidão    
                if (request.status == 200) {//verifica o status da requisição
                    //recupera os dados e os converte em um objeto
                    var jsonData = eval('('   request.responseText   ')');
                    //o navegador trata a JSON com texto, portanto utilize o responseText

                    
                    for (i = 0; i < jsonData.length; i  ) {
                        document.getElementById("divRes").innerHTML  = "Nome: "   
                        jsonData[i].Nome   ", Idade = "   jsonData[i].Idade   "<br />";
                    }
                }
            }
        }
    </script>

</head>
<body onload="getDados()">
    <form id="form1" runat="server">
    <div id="divRes">
    </div>
    </form>
</body>
</html></code></pre><br />
<br />
<strong>Executando a página:</strong><br />
<blockquote><div style="text-align:center"><img itemprop="image" class="lazy " title="Asp .Net - JavaScriptSerializer: JSON em C#" src="http://www.oficinadanet.com.br//imagens/coluna/2441/2.jpg" alt="Asp .Net - JavaScriptSerializer: JSON em C#" ></div></blockquote><br />
<br />
Para mais informações: <a onclick="_gaq.push(['_trackEvent', 'link_externo', 'de_post-2091', 'para_url_http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx']);"   target="_blank"   href="https://www.oficinadanet.com.br/redirect.php?tipo=postout&urlout=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fsystem.web.script.serialization.javascriptserializer.aspx" rel="nofollow" >Visite este site</a><br />
<br />
Até a próxima!</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">
                        <p><strong>Leia também:</strong></p>
                        <ul class="relacionadolink"><li><a onclick="_gaq.push(['_trackEvent', 'relacionadolink_desk', 'pfr2091', 'pto2874']);" href="https://www.oficinadanet.com.br/artigo/javascript/portfolio-imagem-slider">Portfolio image slider com CSS e JQuery</a></li><li><a onclick="_gaq.push(['_trackEvent', 'relacionadolink_desk', 'pfr2091', 'pto2842']);" href="https://www.oficinadanet.com.br/artigo/mobile/jquery-mobile-o-que-ele-pode-fazer-por-voce">jQuery Mobile: O que ele pode fazer por você?</a></li><li><a onclick="_gaq.push(['_trackEvent', 'relacionadolink_desk', 'pfr2091', 'pto2669']);" href="https://www.oficinadanet.com.br/artigo/javascript/carregando-conteudo-estatico-com-ajax">Carregando Conteúdo Estático com AJAX</a></li>
                        </ul>
                    </div> 
                </div>
                <div class="wifl assuntosfim">
                    <div class="box_new_cmt btag">
                        <span class="tit_new_cmt">TAGS:</span>
                        <a onclick="_gaq.push(['_trackEvent', 'assuntosfim', 'pfr2091', 'para_.net']);"  href="https://www.oficinadanet.com.br/net" >.net</a>, <a onclick="_gaq.push(['_trackEvent', 'assuntosfim', 'pfr2091', 'para_asp.net']);"  href="https://www.oficinadanet.com.br/aspnet" >asp.net</a>, <a onclick="_gaq.push(['_trackEvent', 'assuntosfim', 'pfr2091', 'para_ajax']);"  href="https://www.oficinadanet.com.br/ajax" >ajax</a>, <a onclick="_gaq.push(['_trackEvent', 'assuntosfim', 'pfr2091', 'para_json']);"  href="https://www.oficinadanet.com.br/json" >json</a>
                    </div>
                    <div class="box_new_cmt bshr">
                        <span class="tit_new_cmt" style="margin-right:0">COMPARTILHE</span>
                        <div class="share" >
                            <span style="width:15px;" class="bt1-facebook bg9"  onclick="  window.open('https://www.facebook.com/sharer/sharer.php?app_id=209309632417494&u=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fasp.net%2Fasp_net_javascriptserializer_json_em_c','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'facebook', 'https://www.oficinadanet.com.br/artigo/asp.net/asp_net_javascriptserializer_json_em_c']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2091','flgcomment');  "  title="Compartilhe no Facebook" ></span>
                            <span style="width:15px;" class="bt1-twitter bg8"  onclick="  window.open('https://twitter.com/intent/tweet?text=Asp+.Net+-+JavaScriptSerializer%3A+JSON+em+C%23&url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fasp.net%2Fasp_net_javascriptserializer_json_em_c&via=oficinadanet','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'twitter', 'https://www.oficinadanet.com.br/artigo/asp.net/asp_net_javascriptserializer_json_em_c']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&twitter=1&id=2091','flgcomment');  "  title="Enviar pro Twitter" ></span>
                            <span class="bt1-whatsapp bg24"  onclick="  _gaq.push(['_trackEvent', 'btshare', 'whatsapp', 'https://www.oficinadanet.com.br/artigo/asp.net/asp_net_javascriptserializer_json_em_c']);  window.open('https://api.whatsapp.com/send?text=Asp .Net - JavaScriptSerializer: JSON em C# - https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fasp.net%2Fasp_net_javascriptserializer_json_em_c');  "  style="width:15px;" title="Envie para o WhatsApp"></span>
                            <span class="bt1-telegram bg8"  onclick="  _gaq.push(['_trackEvent', 'btshare', 'telegram', 'https://www.oficinadanet.com.br/artigo/asp.net/asp_net_javascriptserializer_json_em_c']);  window.open('https://telegram.me/share/url?url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fasp.net%2Fasp_net_javascriptserializer_json_em_c&text=Asp+.Net+-+JavaScriptSerializer%3A+JSON+em+C%23');  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2091','flgcomment');  "  style="width:15px;" title="Envie para o Telegram"></span>
                            <span class="bt1-mail bg14"  onclick="  document.location='mailto:?subject=Asp .Net - JavaScriptSerializer: JSON em C#&body=Artigo: https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fasp.net%2Fasp_net_javascriptserializer_json_em_c';  _gaq.push(['_trackEvent', 'btshare', 'email', 'https://www.oficinadanet.com.br/artigo/asp.net/asp_net_javascriptserializer_json_em_c']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2091','flgcomment');  "  style="width:15px;" title="Enviar por email" ></span>
                        </div>
                    </div>
                </div>
                <script>try { _402_Show(); } catch(e) {}</script>
            </div>  
        <div class="bar2 p-rel" id="out_post_barra" data-distance="30" >
            <div class="bar2" id="post_barra" ><!-- /6524261/ON_300x600_LATERAL -->
                <div class='wifl m-b-40'>
                <div id='div-gpt-ad-1519730196190-0' style='height:600px; width:300px;'>
                <script>
                googletag.cmd.push(function() { googletag.display('div-gpt-ad-1519730196190-0'); });
                </script>
                </div></div><a onclick="_gaq.push(['_trackEvent', 'barrainstagram', 'barrainstagram', 'barrainstagram']);" href="https://www.instagram.com/oficinadanetoficial/" target="_blank" rel="nofollow" class="wifl m-b-10"><img src="https://www.oficinadanet.com.br/_template/imagem/barra-instagram.png" alt="Siga no instagram" /></a><a onclick="_gaq.push(['_trackEvent', 'barrahistorias', 'barrahistorias', 'barrahistorias']);" href="https://www.oficinadanet.com.br/historiasdigitais/" target="_blank" class="wifl m-b-10"><img src="https://www.oficinadanet.com.br/_template/imagem/barra_historias.png" alt="Histórias Digitais" /></a><a onclick="_gaq.push(['_trackEvent', 'barracomparador', 'barracomparador', 'barracomparador']);" href="https://www.oficinadanet.com.br/smartphones/comparador" target="_blank" class="wifl m-b-10"><img src="https://www.oficinadanet.com.br/_template/imagem/barra-comparador.png" alt="Comparador de Smartphones" /></a><a onclick="_gaq.push(['_trackEvent', 'barranetflix', 'barranetflix', 'barranetflix']);" href="https://www.oficinadanet.com.br/netflix2018" target="_blank" class="wifl m-b-10"><img src="https://www.oficinadanet.com.br/_template/imagem/barra_netflix.png" alt="Lançamentos da Netflix" /></a>      
        </div>
    </div>
<div class="wifl bottom_pause_post_barra"><div style="float:left;">
<div style="width: 300px; float: left;">
<!-- /6524261/ON_FOOTER -->
<div id="div-gpt-ad-1512402583744-0" style="height:250px; 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>O QUE LER EM SEGUIDA</span></span><ul class="lst4 post wifl  lsn "  ><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/9169-criando-urls-amigaveis-com-aspnet"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2091', 'pto9169']);"  >
                                <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="Criando URLs amigáveis com ASP.NET" alt="Criando URLs amigáveis com ASP.NET" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">Criando URLs amigáveis com ASP.NET</h3>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Leandro Dias</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/artigo/asp.net/como-usar-radio-button-em-uma-gridview-aspnet"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2091', 'pto3000']);"  >
                                <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 usar Radio Button em uma GridView Asp.NET" alt="Como usar Radio Button em uma GridView Asp.NET" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">Como usar Radio Button em uma GridView Asp.NET</h3>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Rafael Reis</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/artigo/asp.net/fazendo-inner-join-e-left-join-com-linq-no-aspnet"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2091', 'pto2739']);"  >
                                <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="Fazendo Inner Join e Left Join com Linq no ASP.NET" alt="Fazendo Inner Join e Left Join com Linq no ASP.NET" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">Fazendo Inner Join e Left Join com Linq no ASP.NET</h3>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Leonardo Hofling</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/artigo/asp.net/asp_net_autenticacao_com_jquery_json"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2091', 'pto2143']);"  >
                                <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="Asp .Net - Autenticação com JQuery/JSON" alt="Asp .Net - Autenticação com JQuery/JSON" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">Asp .Net - Autenticação com JQuery/JSON</h3>
                                <div class="wifl nfo">
                                    <span class="ass-autor cor2">por Leonardo Hofling</span></div>
                            </a>
                        </li></ul>
    </div>
</div>
        <div class="wifl post-bottom1" >
            <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 class="wifl ult-publi" ><a class="titulo1 m-t-40" href="https://www.oficinadanet.com.br"  ><span>Últimas publicações</span><span class="ver" >ver tudo</span></a>
                <div class="wifl">
                    <ul class="lst7  wifl  lsn "  ><li  >
                            <a href="https://www.oficinadanet.com.br/linux/23814-apos-ameaca-dos-desenvolvedores-contra-inclusao-linux-pode-ficar-vulneravel" class="wifl"  onclick="_gaq.push(['_trackEvent', 'post_fim_destaque', 'pfr2091', 'pto23814']);" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23814/linux-tux_200113.jpg" title="Após ameaça dos desenvolvedores contra inclusão, Linux pode ficar vulnerável" alt="Após ameaça dos desenvolvedores contra inclusão, Linux pode ficar vulnerável" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Após ameaça dos desenvolvedores contra inclusão, Linux pode ficar vulnerável</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Rafaela Pozzebom</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/instagram/23811-quais-os-tamanhos-de-imagens-para-posts-no-instagram" class="wifl"  onclick="_gaq.push(['_trackEvent', 'post_fim_destaque', 'pfr2091', 'pto23811']);" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23811/instagram-capa_200113.jpg" title="Quais os tamanhos de imagens para posts e stories no Instagram?" alt="Quais os tamanhos de imagens para posts e stories no Instagram?" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Quais os tamanhos de imagens para posts e stories no Instagram?</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Rafaela Pozzebom</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/antivirus/22856-os-melhores-antivirus-pagos-de-2018" class="wifl"  onclick="_gaq.push(['_trackEvent', 'post_fim_destaque', 'pfr2091', 'pto22856']);" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/22856/antivirus2018_200113.jpg" title="Os melhores antivírus pagos de 2018" alt="Os melhores antivírus pagos de 2018" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Os melhores antivírus pagos de 2018</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Priscilla Kinast</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/seguranca/23812-firefox-monitor-avisa-se-os-seus-dados-foram-roubados" class="wifl"  onclick="_gaq.push(['_trackEvent', 'post_fim_destaque', 'pfr2091', 'pto23812']);" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23812/firefox-icon-logo_750x469_5baa83a79d64d_200113.jpg" title="Firefox Monitor avisa se os seus dados foram roubados" alt="Firefox Monitor avisa se os seus dados foram roubados" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Firefox Monitor avisa se os seus dados foram roubados</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Rafaela Pozzebom</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/google/23810-ai-do-google-ajuda-na-emissao-de-alertas-de-inundacao-na-india" class="wifl"  onclick="_gaq.push(['_trackEvent', 'post_fim_destaque', 'pfr2091', 'pto23810']);" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23810/naom_5b77f8be30b6a_750x469_5baa3be350b74_200113.jpg" title="AI do Google ajuda na emissão de alertas de inundação na Índia" alt="AI do Google ajuda na emissão de alertas de inundação na Índia" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >AI do Google ajuda na emissão de alertas de inundação na Índia</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Rafaela Pozzebom</span>
                                </div>
                            </a>
                        </li></ul>
                </div></div>
            <div class="wifl">
                <div id="taboola-below-the-content"></div>
                <script>
                  window._taboola = window._taboola || [];
                  _taboola.push({
                    mode: 'thumbnails-a',
                    container: 'taboola-below-the-content',
                    placement: 'Below the content',
                    target_type: 'mix'
                  });
                </script>
            </div>
    </section>
</div>
                <script>
                    var disqus_shortname = 'oficinadanet'; // required: replace example with your forum shortname
                    var disqus_url = 'https://www.oficinadanet.com.br/artigo/asp.net/asp_net_javascriptserializer_json_em_c';

                    var disqus_config = function () {
                        this.callbacks.onNewComment = [function(comment) {ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2091','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></div>
                </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/colunista" >Seja colunista</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>
            </ul>
            <ul class="menu-footer wifl">
                <li><a target="_blank" rel="nofollow noopener" href="https://www.facebook.com/oficinadanet">Facebook</a></li>
                <li><a target="_blank" rel="nofollow noopener" href="https://www.youtube.com/user/oficinadanettv">Youtube</a></li>
                <li><a target="_blank" rel="nofollow noopener" href="https://twitter.com/OficinadaNet">Twitter</a></li>
                <li><a target="_blank" rel="nofollow noopener" href="https://www.instagram.com/oficinadanetoficial/">Instagram</a></li>
                <li><a target="_blank" rel="nofollow noopener" href="https://t.me/oficinadanet">Grupo no Telegram</a></li>
                <li><a rel="nofollow noopener" href="https://www.oficinadanet.com.br/rss">RSS</a></li>
            </ul>
        </div>
        <div class="out-menu-cupons">
            <span>Cupons de desconto</span>
            <ul class="lst_cupons wifl lsn">
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-netshoes">Cupons Netshoes</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-saraiva">Cupons Saraiva</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-livraria-cultura">Cupons Livraria Cultura</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-fast-shop">Cupons Fast Shop</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-extra">Cupons Extra</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-sou-barato">Cupons 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">© 2018 <span>M3 Mídia</span></p>
            <p class="wifl txt2">Todos os direitos reservados</p>
        </div>
    </div>
</footer>
            <span title="Ir para o topo" class="top_page" id="top_page" ><span></span></span>
        <script>
                var tempo = '1600';
                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 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')
        {
            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');
    };

    $(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); });
        $('.bt1-comment').click(function(){ actAbreComments(true); });
        $('#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_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_rss_big').click(function(){ actPopup('fechar','RSSBIG'); });
        $('.fechar_twitter_big').click(function(){ actPopup('fechar','TWITTERBIG'); });
        $('.fechar_instagram_big').click(function(){ actPopup('fechar','INSTAGRAMBIG'); });
        $('#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');
        });
    });

    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++;
                }
            }
        }
    }
    
    
    $(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() {
        $('body,html').animate({
            scrollTop : 0
        }, 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>
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
var OneSignal = OneSignal || [];
OneSignal.push( function() {
    OneSignal.setDefaultTitle("Oficina da Net");
    OneSignal.setDefaultNotificationUrl("https://www.oficinadanet.com.br");
    var oneSignal_options = {appId: "c28261c1-6765-4517-bc5f-38bbeb9f2ec3"};
    //oneSignal_options['persistNotification'] = false;
    oneSignal_options['autoRegister'] = true;
    oneSignal_options['welcomeNotification'] = { };
    oneSignal_options['welcomeNotification']['title'] = "Oi. Obrigado pela inscrição =)";
    oneSignal_options['welcomeNotification']['message'] = "As melhores novidades avisaremos por aqui ;) - Siga @oficinadanet";
    oneSignal_options['safari_web_id'] = "web.onesignal.auto.2068edc0-2ec7-4d8d-bc37-83913e3acbff";
    OneSignal.init(oneSignal_options);
});

</script>
        <div id="box_news" style=" width:300px; height:200px; display: none; position: fixed; z-index: 9999; top:18%; right:calc(50% - 100px);">
            <div style="width:300px; height:150px; background-color: white; float:left; color:white; text-align: center; font-size:15px; z-index:99999">
                <div class="redes_out">
                    <div style="width:90%; padding:5%; margin-top:-17px; background: #cd201f; color: white; float:left; margin-bottom: 20px;">
                        <strong style="font-size:25px;">OFICINA DA NET NO</strong> <strong style="font-size:35px;">YOUTUBE!</strong><br /><br />
                        Estamos produzindo em nosso canal no Youtube, reviews, tutoriais e muito conteúdo legal sobre tecnologia. 
                        <br /><strong>Vídeos novos toda semana.</strong>
                        <br /><br />
                        <span style='font-size:20px; text-decoration:underline; color:white; cursor: pointer' onclick='_gaq.push(["_trackEvent", "popseguir", "youtube", "youtube"]);window.open("https://www.youtube.com/user/OficinaDaNetTV");'><strong style="margin-bottom: 10px">INSCREVA-SE</strong></span>
                        <br />
                        <script src="https://apis.google.com/js/platform.js"></script>
                        <div class="g-ytsubscribe" data-channel="oficinadanettv" data-layout="default" data-count="default"></div>
                        <br />e <span style=' text-decoration:underline; color:white; cursor: pointer' onclick='_gaq.push(["_trackEvent", "popseguir", "youtube", "youtube"]);window.open("http://bit.ly/ontvsing");'>ative o sininho</span> 😉<br>
                        <br />Você vai receber ótimos conteúdos.
                        <br /><br /><br />
                        <div style="cursor:pointer; font-size:13px; text-align: right " onclick="fechaBoxOficina()">Não, obrigado</div>
                    </div>
        
                    <style>
                    .newsletter1 {width: 100%; height:222px; float: left; margin: 0; background: url(ROOTIMG2/template/images/sprite1.png) 0 -408px no-repeat; -webkit-box-shadow: 0 0 0 0 rgba(204, 204, 204, 1); -moz-box-shadow:    0 0 0 0 rgba(204, 204, 204, 1); box-shadow: 0 0 0 0 rgba(204, 204, 204, 1)}
                    .newsletter1 b, .newsletter1 em {width: 100%; float: left; text-align: center; color: white}
                    .newsletter1 b {margin-top: 20px; line-height: 24px; font-size: 24px; letter-spacing: -0.065em}
                    .newsletter1 em {margin-top: 14px; line-height: 16px; font-size: 16px; letter-spacing: -0.050em }
                    .newsletter1 .news_campo, .newsletter1 .news_bt_submit {height: 50px; float: left; margin-top: 22px; font-size: 17px; font-style: italic;  border: 0px; background-color: white; -webkit-box-shadow: 2px 2px 0px 0px rgba(36, 8, 65, 1); -moz-box-shadow: 2px 2px 0px 0px rgba(36, 8, 65, 1); box-shadow: 2px 2px 0px 0px rgba(36, 8, 65, 1)}
                    .newsletter1 .news_campo {width: 320px; padding: 0 0 0 10px; margin-left: 30px; color: #484848}
                    .newsletter1 .news_bt_submit {width: 50px; color: #22093e; cursor: pointer}
                    .redes_out {width: 100%; float: left; margin:17px 0 0 0}
                    </style>
                </div>
            </div>
        </div>
        
        <script>
            function abreBoxOficina()
            {
                $('#box_news').css('display','block');
                //blackoverlay(1);
            }
            function fechaBoxOficina()
            {
                $('#box_news').css('display','none');
                actPopup('fechar','YOUTUBEBIG');
                //blackoverlay(0);
            }
            setTimeout('abreBoxOficina();','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);
    }

    function actAvisoTopo(act)
    {
        switch(act)
        {
            case 'instagram':
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONINSTAGRAM&valor=1&tempo=36000','box_instagram');
            break;
            case 'youtube':
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONYOUTUBE&valor=1&tempo=36000','box_youtube');
            break;
            case 'user_topo':
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONUSERTOPO&valor=1&tempo=36000','box_user_topo');
            break;
        }
    }

    $(document).ready(function()
    {
        $('#sininho').click(function(){ actSininho(); });
        $('#instagram_topo').click(function(){ actAvisoTopo('instagram');});
        $('#youtube_topo').click(function(){ actAvisoTopo('youtube'); });
        $('#user_topo').click(function(){ actAvisoTopo('user_topo'); });
    });

</script>

    <script>
       setTimeout("$('#box_instagram').fadeIn(1000)",1000);
       setTimeout("$('#box_instagram').fadeOut(1000)",5000);
    </script>
    <link rel="stylesheet" href="https://www.oficinadanet.com.br/_template/css/geral.css?v=790">    <div class="player_dynad_tv"></div>
    </body>
</html>