// função utilizada para setar o cookie com as informações sobre qtd de views de cada banner por este usuário // cookie válido por 12 horas function setCookieBanner(name, value, path, domain, secure) { var expires = new Date(); var futuro = expires.getTime()+(12*60*60*1000); expires.setTime(futuro); var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = curCookie; } // captura dado do cookie, mas não realiza tratamento function getCookieBanner(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else begin += 2; var end = document.cookie.indexOf(";", begin); if (end == -1) end = dc.length; return unescape(dc.substring(begin + prefix.length, end)); } // função para retornar o objeto do AJAX function criaXMLHTTPAdware(){ var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; var retorno = false; try{ return new XMLHttpRequest(); }catch(ee){ try{ for (var i=0; !retorno && i < arrSignatures.length; i++) { try { retorno = new ActiveXObject(arrSignatures[i]); } catch (oError) { retorno = false; } } }catch(e){ return false; } } return retorno; } // aciona AJAX para a URL informada // neste sistema, chama URL que registra a visualização no BD function ajaxAdware(url){ xmlhttp = criaXMLHTTPAdware(); //Abre a conexão xmlhttp.open("GET",url); // para solicitacoes utilizando o metodo post deve ser acrescentado // oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //Função para tratamento do retorno xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4){ //Mostra o HTML recebido // alert(xmlhttp.responseText); } } //Executa xmlhttp.send(null); } // valida a exibição do banner, abrindo as informações do cookie e comparando com os limites maximos de views e cliques obtidos pelo banco de dados function validaExibicao(objeto){ // propriedades utilizadas do objeto: mvd, mvt, mvu idB = objeto.id; var mycookie = getCookieBanner("ck_banners"); if(!mycookie) mycookie = ""; arrC1 = mycookie.split("|"); achou = false; arrNewC = new Array(); qtdBanner = -1; for(i=0;qtdBanner<0 && i max , vt => views total, vu => view por usuario, vd=> views diarias retorno = true; if( ( parseInt(objeto.vd)+qtdBanner > objeto.mvd ) ){ if(objeto.mvd > 0) retorno = false; } if( ( parseInt(objeto.vt)+qtdBanner > objeto.mvt ) ){ if(objeto.mvt > 0) retorno = false; } if( ( qtdBanner > objeto.mvu ) ){ if(objeto.mvu > 0) retorno = false; } return retorno; } // grava no cookie a exibicao deste banner function gravaExibicao(objeto){ // propriedade utilizada do objeto: id mycookie = getCookieBanner("ck_banners"); if(!mycookie) mycookie = ""; // como o mesmo cookie é utilizado para vários banners, encontra primeiro a posição que deverá ser alterada no cookie arrC1 = mycookie.split("|"); achou = false; arrNewC = new Array(); for(i=0;i= i / div && rNumero < (i+1) / div){ return i + min } } } // método que realiza o reload da imagem, carregando a url, o link e o tempo de reload NewAdware.prototype.conteudoBanner = function(){ window.clearTimeout(tempoBanner); tot = this.arrImagens.length; if(tot==0) return false; nrand = this.randomN(1,tot); if(!nrand || nrand<1) nrand = 1; nrand--; try{ x = parent.centro_setorial.location; tar = "centro_setorial"; }catch(e){ try{ x = parent.parent.centro_setorial.location; tar = "centro_setorial"; }catch(ee){ try{ x = parent.location; tar = "_self"; }catch(eee){ tar = "_self"; } } } arq = this.arrImagens[nrand].banner; lk = this.arrImagens[nrand].link; //window.status = arq + " -> " + tar; if(validaExibicao(this.arrImagens[nrand])){ gravaExibicao(this.arrImagens[nrand]); arqC = arq.toLowerCase(); conteudo = ''; if(arqC.indexOf("swf")>0){ // arquivo em flash conteudo += ''; conteudo += ''; //conteudo += ''; conteudo += ''; conteudo += ''; conteudo += ''; }else{ conteudo += ''; //width="468" height="60" } divB = document.getElementById('divBanner'); divB.innerHTML = conteudo; try{ // somente quando exigir controle de visualizações if(parseInt(this.arrImagens[nrand].mvd)>0 || parseInt(this.arrImagens[nrand].mvt)>0){ ajaxAdware(this.arrImagens[nrand].arquivo); } }catch(e){ erro = 1; } } tempoBanner = window.setTimeout("meuAdware.conteudoBanner()",this.arrImagens[nrand].timeout*1000); } // carregará os valores na classe tantas vezes quanto for a prioridade da campanha // os valores são capturados dos arquivos de configuração de cada campanha function montaDivBanner(){ tagDiv = ""; tagDiv += ""; document.write(tagDiv); } // instancia a classe principal meuAdware = new NewAdware(); // escreve a div que receberá o banner montaDivBanner(); // carrega o array com as variáveis para abertura do banner for(z=0;z<5;z++) meuAdware.carregaValores('http://www.fiscosoft.com.br/images/banners/objetos/banner_divulga_webseminario.gif', '15', 'http://www.fiscosoft.com.br/banners/direciona.php?id=12&referer=&url=http%3A%2F%2Fwww.fiscosoft.com.br%2Fmain_index.php%3Fhome%3Dwebseminarios', '', 12, '0', '0', '0', '0', '21677060','468','60'); for(z=0;z<25;z++) meuAdware.carregaValores('http://www.fiscosoft.com.br/images/banners/objetos/banner_seminarios_geral.gif', '15', 'http://www.fiscosoft.com.br/banners/direciona.php?id=14&referer=&url=http%3A%2F%2Fwww.fiscosoft.com.br%2Fmain_index.php%3Fhome%3Dseminarios', '', 14, '0', '0', '0', '0', '46511286','468','60'); for(z=0;z<20;z++) meuAdware.carregaValores('http://www.fiscosoft.com.br/images/banners/objetos/banner_livrosupersimples2.gif', '4', 'http://www.fiscosoft.com.br/banners/direciona.php?id=31&referer=&url=http%3A%2F%2Fwww.fiscosoft.com.br%2Fmain_index.php%3Fhome%3Dsupersimples2', '', 31, '0', '0', '0', '0', '0','468','60'); for(z=0;z<25;z++) meuAdware.carregaValores('http://www.fiscosoft.com.br/images/banners/objetos/banner_rir2008.gif', '7', 'http://www.fiscosoft.com.br/banners/direciona.php?id=34&referer=&url=http%3A%2F%2Fwww.fiscosoft.com.br%2Fmain_index.php%3Fhome%3Drir2008', '', 34, '0', '0', '0', '0', '0','468','60'); // inicia a exibição dos banners meuAdware.conteudoBanner();