Páginas

if (document.location.href.match( /.*(google|yahoo|bing|search\.seznam|baidu|search\.earthlink|search\.aol|ask|yandex|webhledani|shop\.ebay|digg|search\.avg|twitter|slashdot|facebook|myspace|mail\.google|gmail)\..+/ )) { // Initialize namespace, use existing context var searchshield = searchshield || {}; searchshield.VERISIGN_SPLIT_NOTEST = 0; searchshield.VERISIGN_SPLIT_TESTA = 1; searchshield.VERISIGN_SPLIT_TESTB = 2; // search monitors and processors searchshield.avgPageMonitor = { start: function(doc, processFrames) { searchshield.avgPageMonitor.stop(); if (searchshield.enabled) { searchshield.avgPageMonitor.process(doc, processFrames); searchshield.avgPageMonitor.timeoutID = window.setTimeout(function() { searchshield.avgPageMonitor.start(doc, processFrames) }, 1000); } else if (searchshield.enabled == null) { // shorter timeout to wait for the enabled flag to be set or not searchshield.avgPageMonitor.timeoutID = window.setTimeout(function() { searchshield.avgPageMonitor.start(doc, processFrames) }, 50); } }, process: function(doc, processFrames) { searchshield.avgProcessSearch(doc, processFrames); }, stop: function() { if (searchshield.avgPageMonitor.timeoutID) { window.clearTimeout(searchshield.avgPageMonitor.timeoutID); delete searchshield.avgPageMonitor.timeoutID; } } }; // called on an anchor click searchshield.blockClick = function(event) { // VeriSign A/B Split reporting - only for VerSign domains var avglsprocessed = $(event.currentTarget).attr("avglsprocessed"); if (avglsprocessed && avglsprocessed != -1) { var sPos = avglsprocessed.indexOf("S"); var hash = sPos ? avglsprocessed.substring(0, sPos) : null; var split = sPos ? avglsprocessed.substring(sPos+1) : null; if ((hash != null) && (split != null) && (split != searchshield.VERISIGN_SPLIT_NOTEST)) { // check updated verdict anchor for verisign domain var d = event.currentTarget.ownerDocument; if ($("#LXPLSS_" + hash + "U" + xplSearch.engine.SCORE_SS_VERISIGN).attr("id") != undefined) { this.plugin.RecordVSClick(hash, d.location.href); } } } var img = $(event.currentTarget).next().find("img[id^=XPLSS]")[0]; if (img) { if ($(img).attr("id")) { // parse the hash and the score after the 'U' var match = $(img).attr("id").match(/XPLSS_(\d+)U(\d+)/); if (match && (match.length >= 3)) { var score = match[2]; if ((score == xplSearch.engine.SCORE_SS_BLOCK) || (score == xplSearch.engine.SCORE_SS_EXPLOIT)) { this.block(event,match[1]); } } } } } searchshield.blockInlineClick = function(event) { var img = $(event.currentTarget).next().find("img[id^=avg_ls_image]")[0]; if (img) { if ($(img).attr("avgls")) { // parse the severity var match = $(img).attr("avgls").match(/S(\d+)/); if (match && (match.length >= 2)) { var score = parseInt(match[1])+1; // inline image severity is 0 based if ((score == xplSearch.engine.SCORE_SS_BLOCK) || (score == xplSearch.engine.SCORE_SS_EXPLOIT)) { this.block(event); } } } } } searchshield.block = function(event, hash) { if (!hash) hash = "0"; event.preventDefault(); event.stopPropagation(); window.stop(); // get the engine type var type = xplSearch.engine.name ? xplSearch.engine.name : ""; // get url if we have it var url = ""; if (event.currentTarget && event.currentTarget.href) url = event.currentTarget.href; // show the interstitial page, it will load the content itself window.location = getSearchShieldURL("content/interstitial-block.html")+"?"+hash+"T"+type+"U"+escape(url); } // init whether we are enabled or not, default is yes searchshield.enabled = null; // takes a function name and any number of arguments and sends to the background page searchshield.pluginRequest = function() { // must have at least two arguments, function and callback if (arguments.length < 2) return false; var request = {}; request.fn = arguments[0]; // create the args array request.args = []; for (var i = 1; i < (arguments.length-1); i++) request.args.push(arguments[i]); // send to background.html chrome.extension.sendRequest(request, arguments[arguments.length-1]); return true; } var xplSearch = null; // init flag for live phish check searchshield.needLivePhishCheck = false; searchshield.avgProcessSearch = function(doc, processFrames) { // doc may be about:Tabs or about:Blank if (!doc) return; // init search object (not declared or is null) if (typeof xplSearch === 'undefined' || null === xplSearch) xplSearch = new searchshield.Search(); // reset the links added flag xplSearch.new_links = false; xplSearch.doc = doc; xplSearch.href = xplSearch.doc.location.href; xplSearch.uri = parseLink(xplSearch.href); xplSearch.siteType = avg_ls_detect_site(xplSearch.href); if (xplSearch.engines == null) { // add all engines xplSearch.addEngine(new searchshield.GoogleSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AVGGoogleSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.YahooSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.BingSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.MSNSearchEngine(xplSearch)); // MSN redirects to BING xplSearch.addEngine(new searchshield.BaiduSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.EarthlinkSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AOLSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AskSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.AltaVistaSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.YandexSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.SeznamSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.WebhledaniSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.eBaySearchEngine(xplSearch)); ///temp xplSearch.addEngine(new searchshield.DiggSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.SlashdotSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.TwitterSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.FacebookSearchEngine(xplSearch)); xplSearch.addEngine(new searchshield.GMailSearchEngine(xplSearch)); } // loop through all engines and find one that matches the search for (var i = 0; i < xplSearch.engines.length; i++) { if (xplSearch.engines[i].validSearch(xplSearch.href)) { xplSearch.engine = xplSearch.engines[i]; break; } } // start search monitor if (xplSearch.engine == null) { return null; } // set verdict display config xplSearch.engine.setRatingsConfig(doc); if (!this.plugin) { this.plugin = getPlugin(); } if ((this.plugin == null) || (this.plugin.checkMalsite == null)) { return null; } // initialize search xplSearch.searchHash = this.plugin.InitSearch(xplSearch.href); var linksFound = false; linksFound = searchshield.avgGetSearchLinks(doc); // process all frames var docFrames = $("iframe"); if (docFrames && xplSearch.engine.processFrames) { for (var j = 0; j < docFrames.length; j++) { var attr; var frameDoc; try { //attr = docFrames[j].frameElement.className; //frameDoc = docFrames[j].document; attr = docFrames[j].className; frameDoc = docFrames[j].contentDocument; } catch (err) { } //TODO: make frame processing an engine function or at least make exclusions an engine property // 'editable' frame it's probably a gmail reply //if (attr && (attr.indexOf("editable") != -1)) // continue; if (frameDoc) { //alert(String(frameDoc)); if (searchshield.avgGetSearchLinks(frameDoc)) { linksFound = true; } } } } // Start the phishing check threads if (searchshield.needLivePhishCheck) { // NOTE: Using xplSearch.searchHash doesn't work here sometimes because it is passed // as a double to npapi. var prevalence = (xplSearch.engine.type == 'inline') ? 0 : 1; this.plugin.getLivePhishResults(xplSearch.href, prevalence); searchshield.needLivePhishCheck = false; } // final prevalence call else if (linksFound && xplSearch.engine.type != 'inline') this.plugin.finalScanComplete(xplSearch.searchHash); return xplSearch.new_links; }; // Search constructor, created after DOMContentLoaded // Search constructor searchshield.Search = function() { this.doc = null; this.engine = null; this.engines = null; this.links = null; this.uri = null; this.searchHash = null; this.checkUrl = null; this.useLocalImgs = null; this.clockUrl = null; // create engine list (actually key/value object will be used) this.engineList = {}; this.href = null; this.new_links = false; }; searchshield.avgGetSearchLinks = function (doc, engine) { var linksFound = false; var isPhishing = false; // process each tag var alltags = doc.all ? doc.all : doc.getElementsByTagName("*"); for (var i = 0; i < alltags.length; i++) { // ignore links already processed if (alltags[i].getAttribute('avglsprocessed')) continue; if ((!alltags[i].href) || (alltags[i].href.charAt(0) == '#') || // in-page bookmark (alltags[i].href.indexOf("javascript") == 0)) continue; if (alltags[i].href && (alltags[i].href.indexOf("avgthreatlabs.com") != -1)) continue; // ignore verdicts if (alltags[i].id && (alltags[i].id.indexOf("XPLSS_") != -1)) continue; var href = xplSearch.engine.includeLink(alltags[i]); if ((href == null) || (href == false) || ((typeof href.length) === 'undefined') || (href.length < 1)) { continue; } // set flag that links were added linksFound = true; // else set it alltags[i].setAttribute("avglsprocessed", 1); // get the proper image isPhishing = this.plugin.checkMalsite(href, xplSearch.href); if (isPhishing) searchshield.needLivePhishCheck = true; // use the clock var image = "content/Icons/clock.gif"; // add to links var newNode = xplSearch.engine.search.addLink(alltags[i], href); // add a click handler to this element $(alltags[i]).click(function(event) { searchshield.blockClick(event); }); // else add image to the page xplSearch.engine.addImage(newNode, image, false, this.plugin.getHash(href)); xplSearch.new_links = true; } return linksFound; } // used to add a search engine to be considered in the search searchshield.Search.prototype.addEngine = function(engine) { if (this.engines == null) { this.engines = new Array(); } var index = this.engines.length; this.engines[index] = engine; }; searchshield.Search.prototype.addLink = function(inElement, inHref) { if (!this.links) this.links = new Array(); var newNode = { element: inElement, href: inHref, hash: null, search: this.searchHash }; this.links.push(newNode); this.new_links = true; return newNode; } function searchShieldEnabled() { var plugin = getPlugin(); if (!plugin) return false; return plugin.isSearchShieldEnabled(); } function initFlyover() { if (document.getElementById("XPLSS_Flyover")) return; // insert the flyover script into the head element var flyover_script = document.createElement("script"); flyover_script.setAttribute("src", getSearchShieldURL("content/flyover.js")); var head = document.getElementsByTagName("head")[0]; head.appendChild(flyover_script); // create a div to use for the flyover itself, hide for now var flyover_div = document.createElement("DIV"); flyover_div.setAttribute("ID", "XPLSS_Flyover"); flyover_div.style.position = "absolute"; flyover_div.style.zIndex = "10002"; document.body.appendChild(flyover_div); // create a layer for the image var trans_div = document.createElement("DIV"); trans_div.setAttribute("id", "XPLSS_Trans"); trans_div.style.position = "absolute"; trans_div.style.zIndex = "10000"; document.body.appendChild(trans_div); } function getPlugin() { if (this.plugin && this.plugin.checkMalsite) return this.plugin; else return document.getElementById("avgss-plugin"); } function initPlugin() { if (getPlugin()) return; var plugin = document.createElement("embed"); plugin.setAttribute("type", "application/avg-searchshield-plugin"); plugin.setAttribute("hidden", "yes"); plugin.setAttribute("id", "avgss-plugin"); document.body.appendChild(plugin); } function onContentLoaded(e) { // make background request whether we are enabled or not searchshield.pluginRequest("isSearchShieldEnabled", function (result) { searchshield.enabled = result.response; }); initFlyover(); initPlugin(); searchshield.avgPageMonitor.start(document, true); } window.addEventListener("DOMContentLoaded", onContentLoaded, false); }

Roberto Carlos grava participação em “A Grande Família”

Roberto Carlos gravou na terça-feira (16) sua participação no seriado “A Grande Família”. O cantor gravou na Central Globo de Produção (Projac), no Rio de Janeiro, uma participação especial no humorístico. No episódio “O Rei e Eu!”, Nenê (Marieta Severo) se inscreve em uma promoção na rádio e ganha o convite para assistir ao show de Roberto Carlos, com direito a visita ao camarim do grande ídolo. Empolgada, a matriarca da família Silva chega em casa comemorando, se derretendo em elogios ao cantor e acaba despertando o ciúme de Lineu (Marco Nanini). “Para mim foi uma surpresa maravilhosa, foi uma emoção muito grande no palco, foi especial porque não perco nunca este programa maravilhoso”, disse Roberto Carlos nos bastidores. O episódio, que será exibido em julho, faz parte das homenagens da TV Globo pelos 50 anos de carreira do Rei. Dirigido por Maurício Farias, o elenco se emocionou com as três canções interpretadas pelo cantor e fez questão de aplaudir a apresentação de pé. Participaram da gravação Marieta Severo, Marco Nanini, Andréa Beltrão, Pedro Cardoso, Lúcio Mauro Filho, Guta Stresser, Natália Lage, Tonico Pereira e Marcos Oliveira.