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-POSTURI', '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></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 assuntosfim">
                        Mais sobre: <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>
                        <div style="float:right">
                            <span 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');  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2091','flgcomment');  "  >Share</span>
                            <span 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');  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&twitter=1&id=2091','flgcomment');  "  >Tweet</span>
                        </div>
                    </div>
                </div><script type="text/javascript">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" ><a href="https://www.youtube.com/user/OficinaDaNetTV?sub_confirmation=1" target="_blank" rel="nofollow" class="barra_youtube"><script src="https://apis.google.com/js/platform.js"></script><div class="g-ytsubscribe" data-channel="oficinadanettv" data-layout="default" data-count="default"></div></a><div class="wifl m-b-40"><span class="titulo1" ><span>Últimas publicações</span></span><ul class="lst12  wifl  lsn "  id=""  ><li  >
                            <a class="" href="https://www.oficinadanet.com.br/xiaomi/20307-xiaomi-passa-a-fazer-parte-do-consorcio-de-recarga-sem-fio-no-padrao-qi"  onclick="_gaq.push(['_trackEvent', 'ultimos_barra_lst', 'pfr2091', 'pto20307']);"    >
                                <span class="img box-img" >
                                    <img src="https://www.oficinadanet.com.br/imagens/post/20307/xa_500312.jpg" title="Xiaomi passa a fazer parte do consórcio de recarga sem fio no padrão Qi" alt="Xiaomi passa a fazer parte do consórcio de recarga sem fio no padrão Qi" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >Xiaomi</span>
                                    <h3 class="tit tit2" >Xiaomi passa a fazer parte do consórcio de recarga sem fio no padrão Q...</h3>
                                </div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/smartphones/20299-unboxing-moto-z2-force"  onclick="_gaq.push(['_trackEvent', 'ultimos_barra_lst', 'pfr2091', 'pto20299']);"    >
                                <span class="img box-img" >
                                    <img src="https://www.oficinadanet.com.br/imagens/post/20299/z2force-on_500312.jpg" title="Unboxing Moto Z2 Force" alt="Unboxing Moto Z2 Force" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >Smartphones</span>
                                    <h3 class="tit tit2" >Unboxing Moto Z2 Force</h3>
                                </div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/iphone/20305-iphone-x-iphone-8-e-8-plus-recebem-homologacao-no-brasil-ja-podem-ser-vendidos"  onclick="_gaq.push(['_trackEvent', 'ultimos_barra_lst', 'pfr2091', 'pto20305']);"    >
                                <span class="img box-img" >
                                    <img src="https://www.oficinadanet.com.br/imagens/post/20305/precosdos-iphones_03_500312.jpg" title="iPhone X, iPhone 8 e 8 Plus recebem homologação no Brasil, já podem ser vendidos" alt="iPhone X, iPhone 8 e 8 Plus recebem homologação no Brasil, já podem ser vendidos" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >iPhone</span>
                                    <h3 class="tit tit2" >iPhone X, iPhone 8 e 8 Plus recebem homologação no Brasil, já podem se...</h3>
                                </div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/uber/20302-uber-nao-tem-licenca-renovada-para-operar-em-londres"  onclick="_gaq.push(['_trackEvent', 'ultimos_barra_lst', 'pfr2091', 'pto20302']);"    >
                                <span class="img box-img" >
                                    <img src="https://www.oficinadanet.com.br/imagens/post/20302/capa-uber_500312.jpg" title="Uber não tem licença renovada para operar em Londres" alt="Uber não tem licença renovada para operar em Londres" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >Uber</span>
                                    <h3 class="tit tit2" >Uber não tem licença renovada para operar em Londres</h3>
                                </div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/kaspersky/20294-kaspersky-lab-fara-parceria-por-tres-anos-com-as-forcas-armadas-do-brasil"  onclick="_gaq.push(['_trackEvent', 'ultimos_barra_lst', 'pfr2091', 'pto20294']);"    >
                                <span class="img box-img" >
                                    <img src="https://www.oficinadanet.com.br/imagens/post/20294/kaspersky-brasil_500312.jpg" title="Kaspersky Lab fará parceria por três anos com as Forças Armadas do Brasil" alt="Kaspersky Lab fará parceria por três anos com as Forças Armadas do Brasil" >
                                </span>
                                <div class="info" >
                                    <span class="tit" >Kaspersky</span>
                                    <h3 class="tit tit2" >Kaspersky Lab fará parceria por três anos com as Forças Armadas do Bra...</h3>
                                </div>
                            </a>
                        </li></ul></div>      
        </div>
    </div>
<div class="wifl bottom_pause_post_barra"><div style="float:left;">
<div style="width: 300px; height: 250px; float: left;">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- ON_CONTEUDO_BOTTOM_1 -->
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="ca-pub-5305121862343092"
     data-ad-slot="1981035403"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</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 "  id=""  ><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">Programação</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>
                                <h2 class="wifl tit4">Criando URLs amigáveis com ASP.NET</h2>
                                <div class="wifl">
                                    <span class="comment cinza">0 | </span><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">Programação</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>
                                <h2 class="wifl tit4">Como usar Radio Button em uma GridView Asp.NET</h2>
                                <div class="wifl">
                                    <span class="comment cinza">0 | </span><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">Programação</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>
                                <h2 class="wifl tit4">Fazendo Inner Join e Left Join com Linq no ASP.NET</h2>
                                <div class="wifl">
                                    <span class="comment cinza">0 | </span><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">Programação</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>
                                <h2 class="wifl tit4">Asp .Net - Autenticação com JQuery/JSON</h2>
                                <div class="wifl">
                                    <span class="comment cinza">0 | </span><span class="ass-autor cor2">por Leonardo Hofling</span></div>
                            </a>
                        </li></ul>
    </div>
</div>  
        <div class="wifl post-bottom1" style="margin:0">
            
    <div class="wifl post-bottom1" >
        <span class="titulo1 tit_tag" ><span>Comentários</span></span>
            <div id="comment" class="comentarios_box">
                <div id="disqus_thread"></div>
            </div>
    </div>
        </div>
        
        
        <div class="wifl post-bottom1 ult-publi" ><a class="titulo1 m-t-40" href="https://www.oficinadanet.com.br"  ><span>Destaques</span><span class="ver" >ver tudo</span></a>
                        <div class="content3" ><ul class="lst7 home wifl  lsn "  id=""  ><li  >
                            <a href="https://www.oficinadanet.com.br/android/20087-android-80-oreo-confira-a-lista-dos-smartphones-que-poderao-baixar-a-versao-do-sistema" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/20087/androidoreo_500312.jpg" title="Android Oreo: lista de smartphones que vão receber a atualização" alt="Android Oreo: lista de smartphones que vão receber a atualização" >
                                        <span class="gradient"></span>
                                    </div>
                                    <span class="label_tpl1 bg2 cor1" >Android</span>
                                </div>
                                <h2 class="wifl tit7" >Android Oreo: lista de smartphones que vão receber a atualização</h2>
                                <div class="wifl" ><span class="comment cinza" >33</span> <span class="ass-autor cor2" >por Fernanda Beling</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/smartphones/20282-review-moto-g5s-analise" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/20282/1traseira_200113.jpg" title="Review Moto G5S - Um Moto G digno | Análise em vídeo" alt="Review Moto G5S - Um Moto G digno | Análise em vídeo" >
                                        <span class="gradient"></span>
                                    </div>
                                    <span class="label_tpl1 bg2 cor1" >Smartphones</span>
                                </div>
                                <h2 class="wifl tit7" >Review Moto G5S - Um Moto G digno | Análise em vídeo</h2>
                                <div class="wifl" ><span class="comment cinza" >0</span> <span class="ass-autor cor2" >por Nicolas Muller</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/post/13635-o-cemiterio-e-fracassos-do-google" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/13635/capa_200113.jpg" title="O cemitério de fracassos do Google" alt="O cemitério de fracassos do Google" >
                                        <span class="gradient"></span>
                                    </div>
                                    <span class="label_tpl1 bg2 cor1" >Tecnologia</span>
                                </div>
                                <h2 class="wifl tit7" >O cemitério de fracassos do Google</h2>
                                <div class="wifl" ><span class="comment cinza" >11</span> <span class="ass-autor cor2" >por Maximiliano Meyer</span>
                                </div>
                            </a>
                        </li></ul></div>
                        <div class="content4" ><ul class="lst2 lst2 home2 wifl  lsn "  id=""  ><li  >
                            <a class="" href="https://www.oficinadanet.com.br/windows/20268-rede-domestica-windows10" >
                                <div class="box-img2" >
                                    <img src="https://www.oficinadanet.com.br/imagens/post/20268/capa_feiasrrtd_200113.png" title="Como criar um grupo doméstico para compartilhar arquivos e impressoras nos dispositivos com Windows" alt="Como criar um grupo doméstico para compartilhar arquivos e impressoras nos dispositivos com Windows" >
                                </div>
                                <div class="info"><span class="label_tpl1 bg1">Windows</span>
                                    <h2 class="tit2 wifl">Como criar um grupo doméstico para compartilhar arquivos e impressoras nos dispositivos com Windows</h2>
                                    <div class="wifl"><span class="comment">0 | </span><span class="ass-autor"> por Vinicius Schulz</span>
                                    </div>
                                </div>
                                <span class="gradient"></span>
                            </a>
                        </li>
                        </ul></div></div>
    </section>    
</div><div class="wifl">
<div class="wifl" >
    <div class="content-fix wifl p-b-40 p-t-40 bg2" >
        <div class="banner970250_ctr">
            <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
            <!-- ON_FIM_BIG -->
            <ins class="adsbygoogle"
                 style="display:inline-block;width:970px;height:250px"
                 data-ad-client="ca-pub-5305121862343092"
                 data-ad-slot="5294428607"></ins>
            <script>
            (adsbygoogle = window.adsbygoogle || []).push({});
            </script>
        </div>
    </div>
</div></div></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 nós</a></li>
                <li><a href="https://www.oficinadanet.com.br/contato">Fale conosco</a></li>
                <li><a href="https://www.oficinadanet.com.br/colunista" >Seja um colunista</a></li>
                <li><a href="https://www.oficinadanet.com.br/equipe" >Equipe</a></li>
            </ul>
            <ul class="menu-footer wifl">
                <li><a href="https://www.facebook.com/oficinadanet">Facebook</a></li>
                <li><a href="https://twitter.com/OficinadaNet">Twitter</a></li>
                <li><a href="https://www.youtube.com/user/oficinadanettv">Youtube</a></li>
                <li><a href="https://www.instagram.com/oficinadanetoficial/">Instagram</a></li>
                <li><a href="https://www.oficinadanet.com.br/rss">RSS</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">© 2017 <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>
        <div class="wifl hgt100 blackoverlay" id="blackoverlay"></div>
<div style="display:none" id="flgcomment"></div>
<div id="out_lib" >
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</div>
<script type="text/javascript">
    
    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);

        if(step == 1)
        {
            alert('1');
            $(e+' .out_captcha').html('<div class="wifl p-rel newsbrandcap" id="brand_cap_widget_wrapper" ><span class="load-ico" ></span></div><script type="text/javascript" src="https://api.pontamedia.net/challenge.php?k=8f8436b8ae2f804f336e902439085b08a914db96"></script'+'>');
            alert('2');
//            $('#news_bb_right_plan').css('left','-306px');
        }
        else
        {
            /*
            ajaxDireto('',$('#newscad_form1').serialize()+'&'+$('#newscad_form2').serialize(),'out_new_cad');
            */
        }
    }

    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 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 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 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 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 ($('#' + id).data('distance'))
                {
                    k_distance = $('#' + id).data('distance');
                }


                if( item_movel_height+k_distance > window_height )
                {
                    height_maior    = true;
                    comp_height     = (item_movel_height - window_height );
                }

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

                if( bottom_pause  < scroll_top && !height_maior  ) //chega ao fim
                {
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": '0px',
                        "position": "absolute",
                        "bottom": "initial",
                        "top": ( ( bottom_pause ) - anchor_top_dist )+'px'
                    });
                    //console.log('1 '+( ( bottom_pause ) - anchor_top_dist ));
                }
                else if( ( bottom_pause + k_distance )  < ( scroll_top - comp_height  ) && height_maior  ) //chega ao fim
                {
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": '0px',
                        "position": "absolute",
                        "bottom": "initial",
                        "top": ( ( bottom_pause ) - anchor_top_dist   )+'px'
                    });
                    //console.log('2 '+( ( bottom_pause ) - anchor_top_dist ));
                }
                else if (( (scroll_top - k_distance) - comp_height + header_height ) > anchor_top_dist && height_maior) //scroll down
                {
                    if(scroll_aux2>scroll_aux)
                    {
                        k_distance = k_distance + header_height;
                        console.log('3.1 '+scroll_aux2+' '+scroll_aux);
                    }
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": $('#' + id + ' > *').offset().left + 'px',
                        "position": "fixed",
                        "top": (k_distance) + 'px',
                        "bottom": "initial"
                    });
                    //console.log('3 '+( ( bottom_pause ) - anchor_top_dist ));
                }
                else if (( (scroll_top + k_distance) - comp_height ) > anchor_top_dist && !height_maior) 
                {
                    if(scroll_aux2>scroll_aux)
                    {
                        k_distance = k_distance + header_height;
                        console.log('4 '+scroll_aux2+' '+scroll_aux);
                    }
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": $('#' + id + ' > *').offset().left + 'px',
                        "position": "fixed",
                        "top": (k_distance)+'px',
                        "bottom": "initial"
                    });
                    //console.log('4 '+( ( bottom_pause ) - anchor_top_dist ));
                }
                else
                {
                    $('#' + id + ' > *').css({
                        "z-index": "initial",
                        "left": 'initial',
                        "position": "initial",
                        "bottom": 'initial',
                        "top": 'initial'
                    });
                    //console.log('5 '+( ( bottom_pause ) - anchor_top_dist ));
                }
            }
            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 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)
    {
        if(s == '1')
        {
            var cad_idx = $(ele).data('idx');
            $('#'+cad_idx+'_form2 .out_captcha').html('<div class="wifl p-rel newsbrandcap" id="brand_cap_widget_wrapper" ><span class="load-ico" ></span></div><script type="text/javascript" src="https://api.pontamedia.net/challenge.php?k=8f8436b8ae2f804f336e902439085b08a914db96"></script'+'>');
            $('#'+cad_idx+'_ulcad').css('left',$('#'+cad_idx+'_ulcad').outerWidth()*-1);
//            $('#'+$(ele).data('id_ulout')).css('height',$('#'+cad_idx+'_ulcad .stp2').outerHeight());
        }
        else
        {
            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);
        });

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

        $(window).scroll(fixedMenu);
        $(window).scroll(fixedMenuDiagramado);
        fixedMenu();
        $(".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(); });
        $('#sininho').click(function(){ actSininho(true); });
        $('#smart_filtro_m_abre').click(function(){ actSmartMobile(true); });
        $('#busca_clique_open').click(function(){ actBuscaDesktop(true); });
        //$('#busca_clique_open').click(function(){ $('#busca_clique').toggle()});
        $('#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','ONYOUTUBE'); });
        $('#popup_youtube').click(function(){ actPopup('fechar','ONYOUTUBE'); });
        $('#fechar_sininho').click(function(){ actSininho(false); });
        $("#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) });
        $('.bt1-comment').click(function(){ scrollPageToID('comment') });
        $('#btcarregarcomments').click(function(){ carregaComentarios() });
//        $('.obj_filtro_preco').click(function(){ labelObjFiltroPreco(this);});

        $(".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_sininho').click(function(){ actSininho(false) });
            $('.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');
            }
        });


        if($('#tem_enquete').length > 0)
        {
            ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=getEnquete&enquete_id='+$('#tem_enquete').data("id"),'tem_enquete');
        }

        $('.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 type="text/javascript">
                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() {
                    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 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);
});


            var tempo = '1800';
            window.setTimeout('location.reload();', tempo*1000);</script>
        <div id="box_news" style=" width:440px; height:200px; display: none; position: fixed; z-index: 9999; top:15%; right:calc(50% - 220px);">
            <div style="width:440px; 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: #ff6600; color: white; float:left; margin-bottom: 20px;">
                        <p><a style='font-size: 15px; font-weight: bold; color:black; text-decoration:underline; color:white;' href='https://www.youtube.com/user/OficinaDaNetTV?sub_confirmation=1' rel='nofollow' target='blank'>Oficina da Net no Youtube!</a><br><br></p>
                        Estamos produzindo em
                        <a style='color:black; text-decoration:underline; color:white;' href='https://www.youtube.com/user/OficinaDaNetTV?sub_confirmation=1' rel='nofollow' target='blank'> nosso canal no Youtube</a>,<br>reviews, tutoriais e muito conteúdo legal.<br /><br />
                        <strong style="margin-bottom: 10px">INSCREVA-SE:</strong><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>Você vai receber ótimos conteúdos
                        <br><br>
                        <div style="cursor:pointer; font-size:14px; " onclick="fechaBoxOficina()">Não, obrigado</div>
                    </div>

                    <style type="text/css" >
                    .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 type="text/javascript">
            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 type="text/javascript">
        setTimeout("$('#box_sininho').fadeIn(1000)",1000);
        setTimeout("$('#box_sininho').fadeOut(1000)",5000);
    </script>
    <link rel="stylesheet" type="text/css" href="https://www.oficinadanet.com.br/_template/css/geral.css?v=400">    
<script async="async" src="https://api.cazamba.com/03303c1e265cde1d3eac045f1de60862.js" type="text/javascript"></script>
    </body>
</html>