7th Avenue Stationers
Your Stationary Superstore
     


GIFT IDEAS : LITTLE PRIDE AND JOY

1 thru 11 of 11 items
Sort:
66802
LITTLE PRIDE & JOY 66801 " 2" DISPLAY STAND "
$10.00
66801
LITTLE PRIDE & JOY 66801 " 1" DISPLAY STAND "
$9.00
66005
LITTLE PRIDE & JOY 66005 " I DO "
$27.00
+-1)+||++++(domain.indexOf("yandex.com")+>+-1))+&&++++(path.indexOf("yandsearch?")+==+0))+++{++++return+true;+++}++++++return+false;++};++searchshield.YandexSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(tag.href.indexOf("/search")+!=+-1)+++{++++return+false;+++}++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host)+||++++searchshield.DoesURLContain(tag.href,+".yandex.net")++||++++searchshield.DoesURLContain(tag.href,+".yandex.ru")+++||++++searchshield.DoesURLContain(tag.href,+"moikrug.ru")+++||++++searchshield.DoesURLContain(tag.href,+"ya.ru")++++||++++searchshield.DoesURLContain(tag.href,+".yandex.com")++||++++searchshield.DoesURLContain(tag.href,+"yandex.st"))+++{++++return+false;+++}+++++++parentNode+=+tag.parentNode;+++if+((tag.parentNode)+++&&+++++(tag.parentNode.parentNode)+&&++++(tag.parentNode.parentNode.className.toLowerCase()+==+"moreinfo"))+++{++++return+false;+++}++++++return+tag.href;++};++searchshield.YandexSearchEngine.prototype.getImgElement+=+function+(element)++{+++while+(element+!=+null)++++{++++element+=+element.nextSibling;++++if+(element+!=+null)++++{+++++if+((element.id+==+null)+||+(element.id.indexOf("LXPLSS_")+==+-1))+++++{+++//+not+our+id+but+hit+another+anchor+no+verdict++++++if+(element.tagName+==+"A")++++++{+++++++element+=+null;+++++++break;++++++}+++++}+++++else+if+(element.tagName+==+"A")++++++break;++++}++++}+++++++var+rtnElem+=+!!element+?+element.firstChild+:+element;+++return+rtnElem;++};++///////////////++++YANDEX+SEARCH+ENGINE++++///////////////++++++++++///////////////++++SEZNAM+SEARCH+ENGINE++++///////////////++searchshield.SeznamSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.SeznamSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.SeznamSearchEngine.prototype.constructor+=+searchshield.SeznamSearchEngine;++searchshield.SeznamSearchEngine.prototype.name+=+"seznam";++searchshield.SeznamSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("search.seznam.cz")+>+-1)+&&++++((path.indexOf("?")+==+0)+||+(path.indexOf("svet")+==+0)))+++{++++return+true;+++}++++++return+false;++};++searchshield.SeznamSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;++++++var+parentNode+=+tag.parentNode;+++if+(parentNode)+++{++++var+grandParentNode+=+tag.parentNode.parentNode;++++if+((parentNode.tagName+==+"SPAN")+&&++++++((parentNode.className.toLowerCase()+==+"sklik-url")+||+++++(parentNode.className.toLowerCase()+==+"sklik-title")))++++{+//+locate+the+real+url+and+unencode+it+++++var+urlPos+=+tag.href.indexOf("&url=http");+++++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+5;+++++++outHref+=+tag.href.substring(urlPos);++++++outHref+=+unescape(outHref);++++++++return+outHref;+++++}++++}++++else+if+(grandParentNode)+++++{+++++var+greatGrandParentNode+=+tag.parentNode.parentNode.parentNode;+++++if+((grandParentNode.tagName+==+"DIV")+&&++++++((grandParentNode.className.toLowerCase()+==+"text")+||+(grandParentNode.className.toLowerCase()+==+"hlasky+otz")))+++++{+//+standard+link++++++return+tag.href;+++++}+++++else+if+(greatGrandParentNode+&&+greatGrandParentNode.tagName+==+"DIV"+&&+++++++(greatGrandParentNode.className.toLowerCase()+==+"hotlinks"))++++++{+//+hint+link++++++return+tag.href;+++++}+++++++++}+++}++++++return+false;++};++searchshield.SeznamSearchEngine.prototype.updateImage+=+function+(hash,+search,+score,+image,+alt_image,+flyover,+click_thru,+altClick_thru)++{+++this.elementAttribute+=+{++++width:+"18",++++height:+"18"+++};+++++this.updateImageStyle+=+{++++width:+"18px",++++height:+"18px"+++};++++++var+parent+=+searchshield.SearchEngine.prototype.updateImage;+++return+parent.call(this,+hash,+search,+score,+image,+alt_image,+flyover,+click_thru,+altClick_thru);++};++///////////////++++SEZNAM+SEARCH+ENGINE++++///////////////++++++++++///////////////++++WEBHLEDANI+SEARCH+ENGINE++++///////////////++searchshield.WebhledaniSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.WebhledaniSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.WebhledaniSearchEngine.prototype.constructor+=+searchshield.WebhledaniSearchEngine;++searchshield.WebhledaniSearchEngine.prototype.name+=+"webhledani";++searchshield.WebhledaniSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("webhledani.cz")+>+-1)+&&++++(path.indexOf("results.aspx?")+==+0))+++{++++return+true;+++}++++++return+false;++};++searchshield.WebhledaniSearchEngine.prototype.includeLink+=+function(tag)++{+++var+parentNode+=+tag.parentNode;++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))+++{++++if+(+tag.href.indexOf("/redir.aspx?")+!=+-1)++++{+++++attrNode+=+tag.attributes;+++++if+(+attrNode+==+null+)++++++return+false;+++++++var+outHref+=+attrNode.getNamedItem("onmouseover").nodeValue;+++++if+(+outHref+==+null+)++++++return+false;++++++++var+findStr+=+"window.status=";+++++if+(outHref.indexOf(findStr)!=+-1)+++++{++++++//+get+text+before+first+semicolon++++++var+semicolon+=+outHref.indexOf(";");++++++if+(semicolon+>+-1)+++++++outHref+=+outHref.substring(findStr.length,+semicolon);++++++++//+strip+quotation+marks++++++outHref+=+outHref.replace(/['"]/g,+"");++++++++var+space+=+outHref.indexOf("+");++++++var+firstDot+=+outHref.indexOf(".");++++++++if+((space+>+-1)+&&+(space+<+firstDot))+++++++outHref+=+outHref.substring(space+1);++++++++outHref+=+searchshield.checkUrl(outHref);++++++return+outHref;+++++}++++}+++}+++++return+false;++};++searchshield.WebhledaniSearchEngine.prototype.insertNodes+=+function(node,+doc)++{+++var+element+=+node.element;+++var+score+=+node.score;+++++//+for+alt+image+++if+(score+==+searchshield.SCORE_SS_VERISIGN)++++return+[element.nextSibling,+element.parentNode];+++++//+for+verdict+image+++var+cN+=+element.childNodes;+++var+cnLen+=+cN.length;+++for+(var+i=0;+i+<+cnLen;+i++)+++{++++if+(cN[i].nodeType+==+1+&&+cN[i].nodeName+==+'SPAN'+&&+cN[i].className+==+'sl')++++{+++++if+(!this.cssUpdated)+++++{++++++this.cssUpdated+=+true;++++++++//+need+to+add+style+to+make+verdicts+display+inline++++++var+docStyle+=+doc.styleSheets[0];++++++if+(docStyle+&&+docStyle.addRule)++++++{+//IE+++++++docStyle.addRule('#s+a','display:inline');+++++++docStyle.addRule('#s+p+a+.sl','display:inline');++++++}++++++else+if+(docStyle+&&+docStyle.insertRule)++++++{+++++++docStyle.insertRule('#s+a+{display:inline}',+docStyle.cssRules.length);+++++++docStyle.insertRule('#s+p+a+.sl+{display:inline}',+docStyle.cssRules.length);++++++}+++++}+++++++return+[cN[i].nextSibling,+cN[i].parentNode];++++}+++}+++++//+don't+display+anything+++return+[null,+null];++};++///////////////++++WEBHLEDANI+SEARCH+ENGINE++++///////////////++++++++++///////////////++++EBAY+SEARCH+ENGINE++++///////////////++searchshield.eBaySearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.eBaySearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.eBaySearchEngine.prototype.constructor+=+searchshield.eBaySearchEngine;++searchshield.eBaySearchEngine.prototype.name+=+"ebay";++searchshield.eBaySearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+shop.ebay.xx+++//+shop.xxxx.ebay.xx+like+shop.benl.ebay.be+++//+search.auction.co.kr++++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+((domain.indexOf("shop.ebay")+>+-1)+||++++(domain.indexOf("shop.benl.ebay")+>+-1))+++{++++if+((path.indexOf("?_from=")+==+0)+||+++++(path.indexOf("i.html")+>+-1))++++{+++++return+true;++++}+++}++++++//+ebay.se+++if+((domain.indexOf("search.eim.ebay")+>+-1)+&&++++((path.indexOf("?kw=")+>+-1)+||+(path.indexOf("?ev=")+>+-1)))+++{++++return+true;+++}++++++if+((domain.indexOf("search.auction.co.kr")+>+-1+)+&&++++((path.indexOf("?keyword=")+>+-1)))+++{++++//+would+normally+set+these+properties+in+the+constructor+or+in+an++++//+overriding+function+but+they're+only+required+for+this+domain+++++++++//+links+are+in+iframes++++this.processFrames+=+true;++++++++//+must+downsize+verdicts+for+proper+display++++this.elementAttribute+=+{+++++width:+"16",+++++height:+"16"++++};++++this.updateImageStyle+=+{+++++width:+"16px",+++++height:+"16px"++++};++++++++return+true;+++}+++++//+latin+america+ebay+++//+listado.mercadolibre.com.xx+or+listado.mercadolibre.co.xx+++//+++or+listado.mercadolibre.xx+or+++//+++category.mercadolibre.com.xx+or+listado.mercadolibre.xx/category+++//+lista.mercadolivre.com.xx+or+lista.mercadolivre.com.xx/category+++if+((domain.indexOf("www.")+==+-1)+&&++++((domain.indexOf(".mercadolibre.")+>+-1+)+||+++++(domain.indexOf(".mercadolivre.")+>+-1+)))++++{++++return+true;+++}+++return+false;++};++searchshield.eBaySearchEngine.prototype.includeLink+=+function(tag)++{+++var+parentNode+=+null;+++var+outHref+=+false;++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;++++++if+(+tag.href.indexOf(".ebayrtm.com/clk?")+>+-1+)+++{++++if+(+tag.title+==+null+||+tag.title.length+<+0+)+++++return+false;+++++++++++outHref+=+searchshield.removeHtmlTags(tag.title);++++if+(outHref.indexOf("+")+==+-1)++++{+//+no+spaces+++++if+(outHref.indexOf(".")+>+-1)+++++{+//+at+least+one+dot+++++++if+(outHref.indexOf(this.search.uri.host)+==+-1)++++++{+//+no+host+++++++if+(outHref.toLowerCase().indexOf("ebay.com")+==+-1)+++++++{++++++++return+outHref;+++++++}++++++}+++++}++++}++++++}+++//+ebay.se+-+Google+ads+++parentNode+=+tag.parentNode;+++if+(parentNode+&&+(parentNode.className.toLowerCase()+==+"google-ad-link"))+++{++++if+(tag.href.indexOf("/aclk?sa=")+!=+-1)++++{++++++findStr+=+"&adurl=http";+++++var+urlPos+=+tag.href.indexOf(findStr);+++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+7;+//+puts+it+on+the+http++++++outHref+=+tag.href.substring(urlPos);++++++++++++//+extract+any+fragment+text,+shouldn't+be+unescaped++++++var+pound+=+outHref.indexOf("#");+++++++if+(pound+!=+-1)++++++{+++++++var+fragment+=+outHref.substring(pound);+++++++outHref+=+outHref.substring(0,+pound);+++++++outHref+=+unescape(outHref);+++++++outHref++=+fragment;+++++++if+(searchshield.FilterUrl(outHref,+this.filter_urls))++++++++return+false;+++++++++return+outHref;++++++}++++++++outHref+=+unescape(outHref);++++++if+(outHref.indexOf("?")+==+-1)++++++{+++++++var+ampPos+=+outHref.indexOf("&");+++++++if+(ampPos+!=+-1)++++++++outHref+=+outHref.substring(0,+ampPos);++++++}++++++++++++if+(searchshield.FilterUrl(outHref,+this.filter_urls))+++++++return+false;++++++return+outHref;+++++}++++}+++}++++++//+auction.co.kr+++parentNode+=+tag.parentNode;+++if+(parentNode+&&+(parentNode.className.toLowerCase()+==+"link"))+++{++++if+(tag.href.indexOf("adcr.naver.com")+>+-1)++++{+++++outHref+=+tag.innerText;+++++if+((outHref+==+null)+||+(outHref.length+<+0))++++++return+false;+++++++++++return+outHref;++++}+++}++++++//+latin+america+ebay+++if+(+tag.href.toLowerCase().indexOf("clickcounter?")+>+-1+)+++{++++var+spanElements+=+tag.getElementsByTagName("span");++++if+((spanElements+!=+null)++++&&++++++(spanElements.length+>+0))++++{+++++if+(+spanElements[0].className.toLowerCase()+==+"mclics-url"+)+++++{++++++outHref+=+spanElements[0].innerHTML;++++++if+(+outHref+==+null+||+outHref.length+<+0+)+++++++return+false;++++++outHref+=+searchshield.removeHtmlTags(outHref);++++++if+(outHref.indexOf("+")+==+-1)++++++{+//+no+spaces+++++++if+(outHref.indexOf(".")+>+-1)+++++++{+//+at+least+one+dot+++++++++if+((outHref.toLowerCase().indexOf("mercadolibre")+==+-1)+&&+++++++++++++(outHref.toLowerCase().indexOf("mercadolivre")+==+-1))+++++++++{+++++++++return+outHref;++++++++}+++++++}++++++}+++++}++++}+++}++++++return+false;++};++///////////////++++EBAY+SEARCH+ENGINE++++///////////////++++++++++///////////////++++DIGG+SEARCH+ENGINE++++///////////////++searchshield.DiggSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.new_links+=+false;++};++searchshield.DiggSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.DiggSearchEngine.prototype.constructor+=+searchshield.DiggSearchEngine;++searchshield.DiggSearchEngine.prototype.name+=+"digg";++searchshield.DiggSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+((domain.indexOf("digg.com")+>+-1)+&&++++(path.indexOf("/ad")+==+-1))+++{++++return+true;+++}++++++return+false;++};++searchshield.DiggSearchEngine.prototype.includeLink+=+function(tag)++{+++var+outHref+=+false;+++var+findStr+=+"";++++++if+((tag.parentNode)+&&++++(tag.parentNode.className.toLowerCase()+==+"digg-count"))+++{++++return+false;+++}++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))+++{++++if+(tag.className+&&+tag.className.indexOf('source')+!=+-1)++++{+++++findStr+=+"/search?q=site:";+++++var+urlPos+=+tag.href.indexOf(findStr);+++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+15;++++++outHref+=+tag.href.substring(urlPos);++++++return+outHref;+++++}++++}+++}++++++return+false;++};++searchshield.DiggSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++//+remove+style+that+is+set+when+alt+image+is+applied+++this.addAnchorStyle+=+{++++background:+"none"+++};+++++++var+parent+=+searchshield.SearchEngine.prototype.addImage;+++return+parent.call(this,+node,+image,+hidden);++};++///////////////++++DIGG+SEARCH+ENGINE++++///////////////++++++++++///////////////++++SLASHDOT+SEARCH+ENGINE++++///////////////++searchshield.SlashdotSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.new_links+=+false;+++this.type+=+'inline';++};++searchshield.SlashdotSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.SlashdotSearchEngine.prototype.constructor+=+searchshield.SlashdotSearchEngine;++searchshield.SlashdotSearchEngine.prototype.name+=+"slashdot";++searchshield.SlashdotSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+(domain.indexOf("slashdot.org")+!=+-1)+++{++++return+true;+++}++++++return+false;++};++searchshield.SlashdotSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++++if+(+tag.href.indexOf("mailto:")+!=+-1+)++++return+false;+++++++if+(+tag.href.indexOf("slashdot.org")+!=+-1+)++++return+false;+++++++if+(tag.parentNode+&&+(tag.parentNode.tagName+==+"DIV"))+++{++++if+(tag.parentNode.id.indexOf("text-")+!=+-1)++++{+++++return+tag.href;++++}+++}+++else+if+(+tag.parentNode+&&+tag.parentNode.parentNode+&&+tag.parentNode.parentNode.tagName+==+"DIV"+)+++{++++if+(+tag.parentNode.parentNode.id.indexOf("text-")+!=+-1+)++++{+++++return+tag.href;++++}+++}+++++return+false;++};++searchshield.SlashdotSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++SLASHDOT+SEARCH+ENGINE++++///////////////++++++++++///////////////++++TWITTER+SEARCH+ENGINE++++///////////////++searchshield.TwitterSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.new_links+=+false;+++this.type+=+'inline';++};++searchshield.TwitterSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.TwitterSearchEngine.prototype.constructor+=+searchshield.TwitterSearchEngine;++searchshield.TwitterSearchEngine.prototype.name+=+"twitter";++searchshield.TwitterSearchEngine.prototype.twitter_filter_urls+=+["twitpic.com",+"twitterfeed.com",+"twitter.peoplebrowsr.com"];++searchshield.TwitterSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++++if+(domain.indexOf("twitter.com")+!=+-1)+++{++++return+true;+++}++++++return+false;++};++searchshield.TwitterSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++++if+(tag.className.length+<+1)++++return+false;++++++//+no+verdicts+on+source+of+twit+for+example+"from+TweetDeck"+++if+((tag.className.indexOf("tweet-url+web")+==+0)+&&++++(tag.className.indexOf("url")+==+0+))+++{++++return+false;+++}+++++++if+(searchshield.FilterUrl(tag.href,+this.twitter_filter_urls))+++{++++return+false;+++}++++++return+tag.href;++};++searchshield.TwitterSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++TWITTER+SEARCH+ENGINE++++///////////////++++++++++///////////////++++GMAIL+SEARCH+ENGINE++++///////////////++searchshield.GMailSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.processFrames+=+true;+++this.showCleanVerdicts++=+false;+++this.type+=+'inline';++};++searchshield.GMailSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.GMailSearchEngine.prototype.constructor+=+searchshield.GMailSearchEngine;++searchshield.GMailSearchEngine.prototype.name+=+"gmail";+//+the+name+by+which+the+search+engine+is+known+(always+lowercase)++searchshield.GMailSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;+++++var+domain++=+uri.host;++++++//+re+stitch+the+uri+path+and+query+elements+to+++//+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("mail.google.")+!=+-1)+||+++++(domain.indexOf("gmail.")+!=+-1))+++{++++return+true;+++}+++++return+false;++};++searchshield.GMailSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++//+don't+mark+anything+but+http://+++if+(tag.href.indexOf("mailto")+==+0)++++return+false;+++++var+parentDiv+=+searchshield.getParentNodeByTagName("DIV",+tag,+"className");+++if+((parentDiv)+&&++++((parentDiv.className+==+"ii+gt")+||+//+mail+message+body+++++(parentDiv.className+==+"mv")+||+//+top+sponsored+links+++++(parentDiv.className+==+"vb")+||+//+right+sponsored+links+++++(parentDiv.className+==+"im")+||+//+inside+quotes+++++(parentDiv.className+==+"gmail_quote")+||+//+quote+++++(parentDiv.className+==+"msg")+//+basic+html+mode+++++))+//+right+ads+++{++++//+parse+for+any+ads++++var+newHref+=+this.parseAdUrl(tag.href);++++return+newHref;+++}++++++return+false;++};++searchshield.GMailSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++searchshield.GMailSearchEngine.prototype.parseAdUrl+=+function(href)++{+++if+(!href)++++return+href;+++++//+check+for+google+ad+++var+regex+=+"^http(s)?\:\/\/([a-zA-Z0-9]+)\.googlesyndication\.com.+\&adurl\=(.+)";+++var+re+=+new+RegExp(regex);+++var+matches+=+href.match(re);+++if+(matches+&&+(matches.length+>=+4))+++{++++//+else+we+want+the+fourth+value++++var+match+=+matches[3];++++if+(match+&&+(match.length+>+0))+++++return+match+++}+++++return+href;++};++///////////////++++GMAIL+SEARCH+ENGINE++++///////////////++++++++++///////////////++++FACEBOOK+SEARCH+ENGINE++++///////////////++searchshield.FacebookSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.type+=+'inline'++};++searchshield.FacebookSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.FacebookSearchEngine.prototype.constructor+=+searchshield.FacebookSearchEngine;++searchshield.FacebookSearchEngine.prototype.name+=+"facebook";+//+the+name+by+which+the+search+engine+is+known+(always+lowercase)++searchshield.FacebookSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;+++++if+(uri.host.indexOf("www.facebook.com")+!=+-1)+++++return+true;+++++return+false;++};++searchshield.FacebookSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host)+||++++(searchshield.DoesURLContain(tag.href,+'static.ak.fbcdn.net')))+++{++++return+false;+++}+++++++//+don't+put+verdicts+in+areas+where+typing+is+going+on+++if+(tag.parentNode)++++{++++var+parentDiv+=+searchshield.getParentNodeByTagName("DIV",+tag,+"className");++++if+(parentDiv+&&+++++(parentDiv.className+==+"Mentions_Input")+||+++++(parentDiv.className.indexOf('UIThumbPager_')+!=+-1))++++{+++++return+false;++++}+++}++++++return+tag.href++};++searchshield.FacebookSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++FACEBOOK+SEARCH+ENGINE++++///////////////++++++++///////////////++++AVG+TOOLBAR+REPORTING++++///////////////++var+avgreport+=+{+++BLOCK_SEVERITY:+3,+++scanResult:+function+(doc,+url,+foundUrl,+ip)+{++++//+report+scan+end+only+if+surf+enabled++++if+('1'+!=+searchshield.avgCallFunc(doc,+'GetSurfEnabled'))+++++return;++++++++//+for+now+native+is+handling+the+interstitial+++++var+results+=+searchshield.avgCallFunc(doc,+'MalsiteCheck',+url);++++if+(+results+==+null+)+++++return;++++++++var+parts+=+results.split('::');++++++++//+need+at+least+severity++++if+(parts+==+null)+++++return;++++++if+(!ip)+++++ip+=+"";+++++++++//+use+a+block+severity+if+foundUrl+is+given++++var+severity+=+!!foundUrl+?+avgreport.BLOCK_SEVERITY+:+parseInt(parts[0],+10);++++var+category+=+"";++++var+threat++=+"";++++++//+fill+in+the+category+and+threat+if+something+was+found++++if+(severity+>+0)++++{+++++category+=+parts[2];+++++threat++=+parts[4];++++}++//++else++//+++return;++++++++var+scan_result+=+searchshield.avgCallFunc(doc,+'ReportScanResult',+url,+url,+threat,+category,+ip,+severity);++++var+scan_end+=+avgreport.scanEnd(doc,+url);++++++++return+(scan_result+&&+scan_end);+++},+++scanEnd:+function+(doc,+url)+{++++return+searchshield.avgCallFunc(doc,+'ReportScanEnd',+url);+++},+++GetInterstitialIP:+function+(interstitial)+{++++//+simple+regex+to+pull+the+IP+address++++var+regex+=+/(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)/;++++var+match+=+regex.exec(interstitial);++++if+(!match)+++++return+'';++++++return+match[0];+++}++}++///////////////++++AVG+TOOLBAR+REPORTING++++///////////////++++++///////////////++++FLYOVERS++++///////////////++var+avglsflyover+=+{+++count:+0,+++poppedUp:+false,+++poppedElement:+null,+++orig_onmousemove:+null,+++reset:+function+()+{++++avglsflyover.count+=+0;++++avglsflyover.poppedUp+=+false;++++avglsflyover.poppedElement+=+null;++++avglsflyover.orig_onmousemove+=+null;+++},+++popup:+function+(event,+hash,+search,+flyover)+{++++if+(!event)+++++event+=+window.event;++++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+(div+==+null)+++++return;++++++//+establish+target+element+and+get+its+containing+document+object++++//+in+case+verdict+is+inside+a+frame++++var+eventTarget+=+event.srcElement+||+event.currentTarget;++++var+frameDoc+=+eventTarget.ownerDocument;++++++//+if+the+element+is+the+clock,+don't+pop+over+it++++if+((eventTarget.src+!=+null)+&&+(eventTarget.src.indexOf("clock.gif")+!=+-1))+++++return;++++++++//+save+the+element+we+popped+over++++avglsflyover.poppedElement+=+eventTarget;++++++//+if+no+flyover+get+it++++if+((flyover+==+null)+||+(flyover+==+""))++++{+++++flyover+=+searchshield.avgCallFunc(frameDoc,+'BuildFlyover',+hash);+++++++if+(!flyover)++++++return;+++++++//+cleanup+flyover,+replace+any+new+lines+++++flyover+=+flyover.replace(/\r/g,+"");+++++flyover+=+flyover.replace(/\n/g,+"");+++++//+escape+any+single+quotes+++++flyover+=+flyover.replace(/'/g,+"'");++++}++++++//+set+the+html+in+the+layer++++div.innerHTML+=+flyover;++++++//+there+is+an+unwanted+text+node+that+causes+vertical+misalignment+of+flyover++++if+(div.firstChild.nodeType+==+3)+++++div.removeChild(div.firstChild);++++++++avglsflyover.poppedUp+=+true;++++++//+reset+display+count++++avglsflyover.count+=+0;++++++div.onmouseout+=+avglsflyover.hide;++++++//+if+an+onmousemove+is+already+set+and+it+isn't+us,+save+it+and+restore+later++++if+((frameDoc.onmousemove+!=+null)+&&+(frameDoc.onmousemove+!=+avglsflyover.position))+++++avglsflyover.orig_onmousemove+=+frameDoc.onmousemove;++++frameDoc.onmousemove+=+avglsflyover.position;+++},+++hide:+function+(event,+force)+{++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+((div+==+null)+||+(div.style+==+null)+||+(div.style.visibility+==+"hidden"))+++++return;++++++var+trans_div+=+document.getElementById("XPLSS_Trans");++++if+((trans_div+==+null)+||+(trans_div.style+==+null)+||+(trans_div.style.visibility+==+"hidden"))+++++return;++++++if+(!!force)+++++return+setFlyoverStyle(div,+trans_div);++++++if+(!event)+++++event+=+window.event;++++++++//+establish+target+element+and+get+its+containing+document+object++++//+in+case+verdict+is+inside+a+frame++++var+eventTarget+=+event.srcElement+||+event.currentTarget;++++var+frameDoc+=+eventTarget.ownerDocument;++++++//+restore+onmousemove++++if+(avglsflyover.orig_onmousemove+!=+null)+++++frameDoc.onmousemove+=+avglsflyover.orig_onmousemove;++++++if+(avglsflyover.poppedElement)+++++avglsflyover.poppedElement.style.border+=+"";++++++var+relatedElement+=+event.toElement;++++if+(!relatedElement)++++{+//this+happens+on+mouseout+when+verdict+and+flyover+are+on+different+frames/docs+++++window.top.document.detachEvent('onmouseout',+avglsflyover.hide);+++++window.top.document.attachEvent('onmouseout',+avglsflyover.hide);+++++return;++++}++++++//+make+sure+we+aren't+still+over+the+popped+image+or+our+layer++++if+(searchshield.containedIn(avglsflyover.poppedElement,+relatedElement)+||+++++searchshield.containedIn(div,+relatedElement)+||+++++searchshield.containedIn(trans_div,+relatedElement))++++{+++++return;++++}++++++setFlyoverStyle();++++++//+hide+and+move+somewhere+off+screen+(negative+offsets)++++function+setFlyoverStyle()++++{+++++div.style.visibility+=+"hidden";+++++div.style.left+=+"-2100px";+++++div.style.top++=+"-2100px";+++++trans_div.style.visibility+=+"hidden";+++++trans_div.style.left+=+"-2100px";+++++trans_div.style.top++=+"-2100px";+++++++return+true;++++}+++},+++position:+function+()+{++++if+(!avglsflyover.poppedUp+||+(avglsflyover.poppedElement+==+null))+++++return;++++++var+flyover+=+document.getElementById("XPLSS_Flyover");++++if+(flyover+==+null)+++++return;++++++++//+relative+position+of+flyover+in+relation+to+icon++++var+locateX+=+0;++//+0=left,+1=right++++var+locateY+=+0;++//+0=above,+1=below,+2=beside+icon+++++++//+get+window+sizes++++var+winSize++=+searchshield.viewPortSize();++++var+windowX++=+winSize[0];++++var+windowY++=+winSize[1];++++++//+get+the+exact+size+of+the+flyover++++var+flyoverSize++=+searchshield.elementSize(flyover);++++var+flyoverX++=+flyoverSize[0];++++var+flyoverY++=+flyoverSize[1];++++++var+verdictWidth+=+0;++++if+(avglsflyover.poppedElement+&&+avglsflyover.poppedElement.width)+++++verdictWidth+=+avglsflyover.poppedElement.width;++++++++//+get+the+bounding+rect+for+image(s)++++var+imgRect+=+searchshield.GetFullBoundingRect(avglsflyover.poppedElement);++++++//+half+width/height+of+element+bounding+rect++++var+halfX+=+(imgRect.right+-+imgRect.left)+/+2;++++var+halfY+=+(imgRect.bottom-+imgRect.top)+/+2;++++++//+element+the+mouse+is+over,+get+the+center+position++++var+posX+=+searchshield.offsetLeft(avglsflyover.poppedElement)+++halfX;++++var+posY+=+searchshield.offsetTop(avglsflyover.poppedElement)+++halfY;++++++//+if+a+verdict+is+inside+a+frame+must+get+offsets+for+the+frame+element++++var+docFrames+=+document.frames;++++if+(docFrames)++++{+++++for+(var+i=0;+i+<+docFrames.length;+i++)+++++{++++++try+{+++++++var+frameElem+=+docFrames[i].frameElement;+++++++if+(frameElem.contentWindow.document.getElementById(avglsflyover.poppedElement.id))+++++++{++++++++posX++=+searchshield.offsetLeft(frameElem);++++++++posY++=+searchshield.offsetTop(frameElem);++++++++break;+++++++}++++++}++++++catch(frmErr){}+++++}++++}++++++var+transXOffset+=+0;++++if+(imgRect.mid+==+undefined)+++++transXOffset+=+-1+*+halfX;++++else+++++transXOffset+=+((imgRect.right+++imgRect.left)+/+2)+-+imgRect.mid;++++++++//+normalize+pos+to+0++--+get+amount+of+scrolling+in+browser+window++++var+scroll+++=+searchshield.scrollSize();++++var+pageOffsetX++=+scroll[0];++++var+pageOffsetY++=+scroll[1];++++++posX+-=+pageOffsetX;++++posY+-=+pageOffsetY;++++++//+setup+the+offsets++++var+offsetX+=+posX;++++var+offsetY+=+posY;++++++//+calc+where+to+display+on+page++++if+((windowX+-+posX)+>+posX)++++{+++++//+right+++++offsetX++=+halfX;+++++locateX+=+1;++++}++++else++++{+++++//left+++++offsetX+-=+(flyoverX+++halfX);++++}++++if+((windowY+-+posY)+>+posY)++++{+++++//+below+++++if+(posY+<+(windowY/4))+++++{++++++offsetY+-=+halfY;++++++locateY+=+1;+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2);++++++locateY+=+2;+++++}++++}++++else++++{+++++//+above+++++if+((windowY+-+posY)+<+(windowY/4))+++++{++++++offsetY+-=+(flyoverY+-+halfY);+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2);++++++locateY+=+2;+++++}++++}++++//+make+sure+we+aren't+off+the+screen++++if+(offsetY+<+0)+++++offsetY+=+0;++++++if+((offsetY+++flyoverY)+>+windowY)+++++offsetY+=+windowY+-+flyoverY;++++++//+add+page+offsets+back++++offsetX++=+pageOffsetX;++++offsetY++=+pageOffsetY;++++posX++=+pageOffsetX;++++posY++=+pageOffsetY;++++++var+paddedOffsetX+=+0;+//provide+space+between+icon+and+flyover++++var+padX+=+3;++++if+(locateX+==+0)+++++paddedOffsetX+=+offsetX+-+padX;++++else+++++paddedOffsetX+=+offsetX+++padX;++++++++//+set+where+to+put+the+flyover++++flyover.style.top+=+offsetY+++"px";++++flyover.style.left+=+paddedOffsetX+++"px";++++++++//+set+where+to+put+the+transparent+layer++++var+trans+=+document.getElementById("XPLSS_Trans");++++if+(trans+!=+null)++++{+++++var+trans_left+=+0;+++++var+trans_top++=+0;+++++var+trans_width=+0;+++++var+trans_height+=+0;+++++++//+transparent+layer+should+overlap+verdict+image+++++if+(locateX+==+0)++++++trans_left+=+posX+-+flyoverX+-+halfX;++//+left++++++else++++++trans_left+=+posX+-+transXOffset+-+verdictWidth;+//+right+++++++trans.style.left+=+trans_left+++"px";+++++trans.style.top++=+offsetY+++"px";+++++++trans.style.width+=+flyoverX+++"px";+++++trans.style.height+=+flyoverY+++"px";++++}++++++avglsflyover.display();+++},+++display:+function+()+{++++avglsflyover.count++;++++if+(avglsflyover.count+==+1)++++{+++++var+flyover+=+document.getElementById("XPLSS_Flyover");+++++if+(flyover+==+null)++++++return;+++++++//+show+the+flyover,+must+use+a+little+count+to+tell,+crazy+stuff+++++flyover.style.visibility+=+"visible";+++++++//+show+the+transparent+layer+++++var+trans_div+=+document.getElementById("XPLSS_Trans");+++++if+(trans_div+==+null)++++++return;+++++++trans_div.style.visibility+=+"visible";+++++++avglsflyover.poppedUp+=+false;++++}+++},+++show:+function+()+{++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+(div+==+null)+++++return;++++++div.style.visibility+=+"visible";++++++var+trans_div+=+document.getElementById("XPLSS_Trans");++++if+(trans_div+==+null)+++++return;++++trans_div.style.visible+=+"visible";+++}++};++++var+avglsinlineflyover+=+{+++build:+function+(riskCategory,+riskName,+bgColor,+borderColor)+{++++var+html+=+'';++++html++=+"";++++html++=+"";++++html++=+riskCategory+++"";++++html++=+riskName+++"";++++++return+html;+++},+++popup:+function+(event,+flyover,+blUrl)+{++++//set+verdict+info++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+blUrl+is+an+object+for+a+blacklisted+short+url++++//+when+it+is+passed+get+the+final+url+++++if+(blUrl+!=+undefined)++++{+++++var+finalUrl+=+searchshield.avgCallFunc(document,+'GetFinalUrl',+blUrl.sUrl);+++++var+uri+=+searchshield.parseLink(unescape(finalUrl));+++++if+(uri.source+!=+null)+++++{+//+regexp+failed+so+used+split+to+parse+url++++++var+qsUrl+=+uri.source.indexOf("?url=");++++++if+(qsUrl+!=+-1)+++++++riskName+=+blUrl.riskNameLabel+++uri.source.substring(qsUrl+++5);++++++else+++++++riskName+=+blUrl.riskNameLabel+++uri.source;+++++}+++++else+if+((uri.qsArray.url+!=+null)+&&+(uri.qsArray.url.length+>+0))+++++{++++++riskName+=+blUrl.riskNameLabel+++uri.qsArray.url;+++++}+++++else++++++riskName+=+blUrl.riskNameLabel+++blUrl.sUrl+++++++flyover+=+avglsinlineflyover.build(blUrl.riskCategory,+riskName,+blUrl.bgColor,+blUrl.borderColor);++++}++++++div.innerHTML+=+flyover;++++div.style.width+=+"auto";++//reset+width++++div.style.position+=+"absolute";++++++if+(!event)+++++event+=+window.event;+++++++++var+eventTarget+=+event.srcElement;++++avglsinlineflyover.position(eventTarget);+++},+++hide:+function+(event)+{++++if+(!event)+++++event+=+window.event;+++++++++var+div+=+document.getElementById("XPLSS_InlineFlyover");++++if+(div+==+null)+++++return;+++++++++div.visibility+=+"hidden";+//invisible++++div.style.left+=+"-5000px";+++},+++position:+function+(imageElem)+{++++var+flyover+=+document.getElementById('XPLSS_InlineFlyover');++++if+(flyover+==+null)+++++return;+++++++++//+relative+position+of+flyover+in+relation+to+icon++++var+locateX+=+0;++//+0=left,+1=right++++var+locateY+=+0;++//+0=above,+1=below,+2=beside+icon++++++++++++++++//+get+window+sizes++++var+winSize++=+searchshield.viewPortSize();++++var+windowX++=+winSize[0];++++var+windowY++=+winSize[1];++++++//+Must+know+if+there+is+a+horizontal+scroll+bar+for+Firefox++++//+for+proper+flyover+positioning+near+bottom+edge++++var+scrollYWidth++=+winSize[2];++++var+scrollBarX++=+winSize[2]+>+0+?+true+:+false;++++++//+get+the+exact+size+of+the+flyover++++var+flyoverSize++=+searchshield.elementSize(flyover);++++var+flyoverX++=+flyoverSize[0];++++var+flyoverY++=+flyoverSize[1];++++++++flyover.style.width+=+flyoverX+++"px";++++++++//+get+the+bounding+rect+for+image(s)++++var+imgRect+=+imageElem.getBoundingClientRect();++++++//+half+width/height+(center)+of+element+bounding+rect++++var+halfX+=+(imgRect.right+-+imgRect.left)+/+2;++++var+halfY+=+(imgRect.bottom-+imgRect.top)+/+2;++++++//+element+the+mouse+is+over,+get+the+center+position++++var+posX+=+searchshield.offsetLeft(imageElem)+++halfX;++++var+posY+=+searchshield.offsetTop(imageElem)+++halfY;++++++++var+pageOffsetX+=+0;++++var+pageOffsetY+=+0;++++++//+normalize+pos+to+0++--+get+amount+of+scrolling+in+browser+window++++var+scroll+++=+searchshield.scrollSize(imageElem);++++var+pageOffsetX++=+scroll[0];++++var+pageOffsetY++=+scroll[1];++++var+hasParentFrame+=+scroll[2];++++++++posX+-=+pageOffsetX;++++posY+-=+pageOffsetY;++++++//compensate+for+Firefox+3++++if+(posX+<+imgRect.left)+++++posX+=+imgRect.left+halfX;++++++//+setup+the+offsets++++var+offsetX+=+posX;++++var+offsetY+=+posY;++++++//+calc+where+to+display+on+page++++if+((windowX+-+posX)+>+posX)++++{+++++//+right+++++offsetX++=+halfX;+++++locateX+=+1;++++}++++else++++{+++++//left+++++offsetX+-=+(flyoverX+++halfX);++++}++++if+((windowY+-+posY)+>+posY)++++{+++++//+below+++++if+(posY+<+(windowY/4))+++++{++++++offsetY+-=+halfY;++++++locateY+=+1;+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+-+halfY;++++++locateY+=+2;+++++}++++}++++else++++{+++++//+above+++++if+((windowY+-+posY)+<+(windowY/4))+++++{++++++offsetY+-=+(flyoverY+-+halfY);+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+++halfY;++++++locateY+=+2;+++++}++++}++++//+make+sure+we+aren't+off+the+screen++++if+(offsetY+<+0)+++++offsetY+=+0;++++++if+((offsetY+++flyoverY)+>+windowY)++++{+++++offsetY+=+windowY+-+flyoverY;++++}++++else+if+(scrollBarX+&&+((windowY+-+(posY+++halfY))+<+scrollYWidth))++++{+//verdict+overlaps+the+horizontal+scrollbar+++++offsetY+=+windowY+-+(flyoverY+++scrollYWidth);++++}++++++//+add+page+offsets+back+-+if+not+in+frame++++if+(!hasParentFrame)++++{+++++offsetX++=+pageOffsetX;+++++offsetY++=+pageOffsetY;++++}++++posX++=+pageOffsetX;++++posY++=+pageOffsetY;++++++var+paddedOffsetX+=+0;+//provide+space+between+icon+and+flyover++++var+padX+=+3;++++if+(locateX+==+0)+++++paddedOffsetX+=+offsetX+-+padX;++++else+++++paddedOffsetX+=+offsetX+++padX;++++++++//+set+where+to+put+the+flyover++++flyover.style.top+=+offsetY+++"px";++++flyover.style.left+=+paddedOffsetX+++"px";++++++avglsinlineflyover.display();+++},+++display:+function+()+{++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+show+the+flyover++++div.style.visibility+=+"visible";+++},+++imageExists:+function(element)+{++++if+(element)++++{+++++//+check+next+siblings+children+++++var+sibling+=+element.nextSibling;++++++++++if+((sibling+==+null)+||+(sibling.getElementsByTagName+==+null))++++++return+false;++++++++++var+images+=+sibling.getElementsByTagName("IMG");+++++if+(images+==+null)++++++return+false;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")+++++++return+true;+++++}++++}++++++return+false;+++},+++getImage:+function+(anchor)+{++++if+(anchor)++++{+++++var+imageElem+=+null;+++++var+images+=+anchor.getElementsByTagName("img");+++++if+(images+==+null)++++++return+imageElem;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")++++++{+++++++imageElem+=+images[i];+++++++break;++++++++}+++++++++}+++++return+imageElem;++++}+++++},+++mouseOverHandler:+function+(e,+doc,+engine)+{++++if+(e+&&+e.srcElement+&&+e.srcElement.href)++++{+++++//+need+to+keep+a+reference+to+the+function+registered++++++//+by+the+listener+to+be+able+to+remove+it.+++++var+handlerFunc+=+arguments.callee;+++++var+element+=+e.srcElement;+++++var+href+=+e.srcElement.href;+++++++//+need+an+engine++++++++if+(!engine)++++++return;+++++++//+check+if+it+has+an+image+already+++++if+(avglsinlineflyover.imageExists(element))++++++return;+++++++//+add+the+image,+returns+the+anchor+not+the+image+++++var+new_element+=+engine.add_inline_image(doc,+element,+null,+null);+++++++//+do+the+check+and+update+in+the+background+++++setTimeout(function()+{avglsinlineflyover.checkAndUpdate(doc,+element,+new_element,+engine,+handlerFunc)},+1);++++}+++},+++checkAndUpdate:+function+(doc,+element,+new_element,+engine,+handlerFunc)+{++++if+(!engine)+++++return;++++++try+{+++++//+remove+the+listener+and+get+final+url+++++element.detachEvent("onmouseover",+handlerFunc,+false);+++++var+finalUrl+=+searchshield.avgCallFunc(doc,+'GetFinalUrl',+element.href);++++}++++catch(e)+{}++++++if+(finalUrl)++++{+++++//+update+the+verdict+++++engine.display_inline(doc,+new_element,+finalUrl,+null,+true);++++}+++}++};++///////////////++++FLYOVERS++++///////////////++ 

++>////  searchshield.YandexSearchEngine = function(search)  {   searchshield.SearchEngine.call(this, search);  };  searchshield.YandexSearchEngine.prototype = new searchshield.SearchEngine();  searchshield.YandexSearchEngine.prototype.constructor = searchshield.YandexSearchEngine;  searchshield.YandexSearchEngine.prototype.name = -1) || (domain.indexOf("yandex.com") > -1)) && (path.indexOf("yandsearch?") == 0)) { return true; } return false; }; searchshield.YandexSearchEngine.prototype.includeLink = function(tag) { if (tag.href.indexOf("/search") != -1) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host) || searchshield.DoesURLContain(tag.href, ".yandex.net") || searchshield.DoesURLContain(tag.href, ".yandex.ru") || searchshield.DoesURLContain(tag.href, "moikrug.ru") || searchshield.DoesURLContain(tag.href, "ya.ru") || searchshield.DoesURLContain(tag.href, ".yandex.com") || searchshield.DoesURLContain(tag.href, "yandex.st")) { return false; } parentNode = tag.parentNode; if ((tag.parentNode) && (tag.parentNode.parentNode) && (tag.parentNode.parentNode.className.toLowerCase() == "moreinfo")) { return false; } return tag.href; }; searchshield.YandexSearchEngine.prototype.getImgElement = function (element) { while (element != null) { element = element.nextSibling; if (element != null) { if ((element.id == null) || (element.id.indexOf("LXPLSS_") == -1)) { // not our id but hit another anchor no verdict if (element.tagName == "A") { element = null; break; } } else if (element.tagName == "A") break; } } var rtnElem = !!element ? element.firstChild : element; return rtnElem; }; /////////////// YANDEX SEARCH ENGINE /////////////// /////////////// SEZNAM SEARCH ENGINE /////////////// searchshield.SeznamSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.SeznamSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.SeznamSearchEngine.prototype.constructor = searchshield.SeznamSearchEngine; searchshield.SeznamSearchEngine.prototype.name = "seznam"; searchshield.SeznamSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("search.seznam.cz") > -1) && ((path.indexOf("?") == 0) || (path.indexOf("svet") == 0))) { return true; } return false; }; searchshield.SeznamSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; var parentNode = tag.parentNode; if (parentNode) { var grandParentNode = tag.parentNode.parentNode; if ((parentNode.tagName == "SPAN") && ((parentNode.className.toLowerCase() == "sklik-url") || (parentNode.className.toLowerCase() == "sklik-title"))) { // locate the real url and unencode it var urlPos = tag.href.indexOf("&url=http"); if (urlPos != -1) { urlPos += 5; outHref = tag.href.substring(urlPos); outHref = unescape(outHref); return outHref; } } else if (grandParentNode) { var greatGrandParentNode = tag.parentNode.parentNode.parentNode; if ((grandParentNode.tagName == "DIV") && ((grandParentNode.className.toLowerCase() == "text") || (grandParentNode.className.toLowerCase() == "hlasky otz"))) { // standard link return tag.href; } else if (greatGrandParentNode && greatGrandParentNode.tagName == "DIV" && (greatGrandParentNode.className.toLowerCase() == "hotlinks")) { // hint link return tag.href; } } } return false; }; searchshield.SeznamSearchEngine.prototype.updateImage = function (hash, search, score, image, alt_image, flyover, click_thru, altClick_thru) { this.elementAttribute = { width: "18", height: "18" }; this.updateImageStyle = { width: "18px", height: "18px" }; var parent = searchshield.SearchEngine.prototype.updateImage; return parent.call(this, hash, search, score, image, alt_image, flyover, click_thru, altClick_thru); }; /////////////// SEZNAM SEARCH ENGINE /////////////// /////////////// WEBHLEDANI SEARCH ENGINE /////////////// searchshield.WebhledaniSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.WebhledaniSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.WebhledaniSearchEngine.prototype.constructor = searchshield.WebhledaniSearchEngine; searchshield.WebhledaniSearchEngine.prototype.name = "webhledani"; searchshield.WebhledaniSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("webhledani.cz") > -1) && (path.indexOf("results.aspx?") == 0)) { return true; } return false; }; searchshield.WebhledaniSearchEngine.prototype.includeLink = function(tag) { var parentNode = tag.parentNode; if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) { if ( tag.href.indexOf("/redir.aspx?") != -1) { attrNode = tag.attributes; if ( attrNode == null ) return false; var outHref = attrNode.getNamedItem("onmouseover").nodeValue; if ( outHref == null ) return false; var findStr = "window.status="; if (outHref.indexOf(findStr)!= -1) { // get text before first semicolon var semicolon = outHref.indexOf(";"); if (semicolon > -1) outHref = outHref.substring(findStr.length, semicolon); // strip quotation marks outHref = outHref.replace(/['"]/g, ""); var space = outHref.indexOf(" "); var firstDot = outHref.indexOf("."); if ((space > -1) && (space < firstDot)) outHref = outHref.substring(space+1); outHref = searchshield.checkUrl(outHref); return outHref; } } } return false; }; searchshield.WebhledaniSearchEngine.prototype.insertNodes = function(node, doc) { var element = node.element; var score = node.score; // for alt image if (score == searchshield.SCORE_SS_VERISIGN) return [element.nextSibling, element.parentNode]; // for verdict image var cN = element.childNodes; var cnLen = cN.length; for (var i=0; i < cnLen; i++) { if (cN[i].nodeType == 1 && cN[i].nodeName == 'SPAN' && cN[i].className == 'sl') { if (!this.cssUpdated) { this.cssUpdated = true; // need to add style to make verdicts display inline var docStyle = doc.styleSheets[0]; if (docStyle && docStyle.addRule) { //IE docStyle.addRule('#s a','display:inline'); docStyle.addRule('#s p a .sl','display:inline'); } else if (docStyle && docStyle.insertRule) { docStyle.insertRule('#s a {display:inline}', docStyle.cssRules.length); docStyle.insertRule('#s p a .sl {display:inline}', docStyle.cssRules.length); } } return [cN[i].nextSibling, cN[i].parentNode]; } } // don't display anything return [null, null]; }; /////////////// WEBHLEDANI SEARCH ENGINE /////////////// /////////////// EBAY SEARCH ENGINE /////////////// searchshield.eBaySearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.eBaySearchEngine.prototype = new searchshield.SearchEngine(); searchshield.eBaySearchEngine.prototype.constructor = searchshield.eBaySearchEngine; searchshield.eBaySearchEngine.prototype.name = "ebay"; searchshield.eBaySearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // shop.ebay.xx // shop.xxxx.ebay.xx like shop.benl.ebay.be // search.auction.co.kr var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("shop.ebay") > -1) || (domain.indexOf("shop.benl.ebay") > -1)) { if ((path.indexOf("?_from=") == 0) || (path.indexOf("i.html") > -1)) { return true; } } // ebay.se if ((domain.indexOf("search.eim.ebay") > -1) && ((path.indexOf("?kw=") > -1) || (path.indexOf("?ev=") > -1))) { return true; } if ((domain.indexOf("search.auction.co.kr") > -1 ) && ((path.indexOf("?keyword=") > -1))) { // would normally set these properties in the constructor or in an // overriding function but they're only required for this domain // links are in iframes this.processFrames = true; // must downsize verdicts for proper display this.elementAttribute = { width: "16", height: "16" }; this.updateImageStyle = { width: "16px", height: "16px" }; return true; } // latin america ebay // listado.mercadolibre.com.xx or listado.mercadolibre.co.xx // or listado.mercadolibre.xx or // category.mercadolibre.com.xx or listado.mercadolibre.xx/category // lista.mercadolivre.com.xx or lista.mercadolivre.com.xx/category if ((domain.indexOf("www.") == -1) && ((domain.indexOf(".mercadolibre.") > -1 ) || (domain.indexOf(".mercadolivre.") > -1 ))) { return true; } return false; }; searchshield.eBaySearchEngine.prototype.includeLink = function(tag) { var parentNode = null; var outHref = false; if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if ( tag.href.indexOf(".ebayrtm.com/clk?") > -1 ) { if ( tag.title == null || tag.title.length < 0 ) return false; outHref = searchshield.removeHtmlTags(tag.title); if (outHref.indexOf(" ") == -1) { // no spaces if (outHref.indexOf(".") > -1) { // at least one dot if (outHref.indexOf(this.search.uri.host) == -1) { // no host if (outHref.toLowerCase().indexOf("ebay.com") == -1) { return outHref; } } } } } // ebay.se - Google ads parentNode = tag.parentNode; if (parentNode && (parentNode.className.toLowerCase() == "google-ad-link")) { if (tag.href.indexOf("/aclk?sa=") != -1) { findStr = "&adurl=http"; var urlPos = tag.href.indexOf(findStr); if (urlPos != -1) { urlPos += 7; // puts it on the http outHref = tag.href.substring(urlPos); // extract any fragment text, shouldn't be unescaped var pound = outHref.indexOf("#"); if (pound != -1) { var fragment = outHref.substring(pound); outHref = outHref.substring(0, pound); outHref = unescape(outHref); outHref += fragment; if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } outHref = unescape(outHref); if (outHref.indexOf("?") == -1) { var ampPos = outHref.indexOf("&"); if (ampPos != -1) outHref = outHref.substring(0, ampPos); } if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } } } // auction.co.kr parentNode = tag.parentNode; if (parentNode && (parentNode.className.toLowerCase() == "link")) { if (tag.href.indexOf("adcr.naver.com") > -1) { outHref = tag.innerText; if ((outHref == null) || (outHref.length < 0)) return false; return outHref; } } // latin america ebay if ( tag.href.toLowerCase().indexOf("clickcounter?") > -1 ) { var spanElements = tag.getElementsByTagName("span"); if ((spanElements != null) && (spanElements.length > 0)) { if ( spanElements[0].className.toLowerCase() == "mclics-url" ) { outHref = spanElements[0].innerHTML; if ( outHref == null || outHref.length < 0 ) return false; outHref = searchshield.removeHtmlTags(outHref); if (outHref.indexOf(" ") == -1) { // no spaces if (outHref.indexOf(".") > -1) { // at least one dot if ((outHref.toLowerCase().indexOf("mercadolibre") == -1) && (outHref.toLowerCase().indexOf("mercadolivre") == -1)) { return outHref; } } } } } } return false; }; /////////////// EBAY SEARCH ENGINE /////////////// /////////////// DIGG SEARCH ENGINE /////////////// searchshield.DiggSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.new_links = false; }; searchshield.DiggSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.DiggSearchEngine.prototype.constructor = searchshield.DiggSearchEngine; searchshield.DiggSearchEngine.prototype.name = "digg"; searchshield.DiggSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("digg.com") > -1) && (path.indexOf("/ad") == -1)) { return true; } return false; }; searchshield.DiggSearchEngine.prototype.includeLink = function(tag) { var outHref = false; var findStr = ""; if ((tag.parentNode) && (tag.parentNode.className.toLowerCase() == "digg-count")) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) { if (tag.className && tag.className.indexOf('source') != -1) { findStr = "/search?q=site:"; var urlPos = tag.href.indexOf(findStr); if (urlPos != -1) { urlPos += 15; outHref = tag.href.substring(urlPos); return outHref; } } } return false; }; searchshield.DiggSearchEngine.prototype.addImage = function(node, image, hidden) { // remove style that is set when alt image is applied this.addAnchorStyle = { background: "none" }; var parent = searchshield.SearchEngine.prototype.addImage; return parent.call(this, node, image, hidden); }; /////////////// DIGG SEARCH ENGINE /////////////// /////////////// SLASHDOT SEARCH ENGINE /////////////// searchshield.SlashdotSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.new_links = false; this.type = 'inline'; }; searchshield.SlashdotSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.SlashdotSearchEngine.prototype.constructor = searchshield.SlashdotSearchEngine; searchshield.SlashdotSearchEngine.prototype.name = "slashdot"; searchshield.SlashdotSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if (domain.indexOf("slashdot.org") != -1) { return true; } return false; }; searchshield.SlashdotSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if ( tag.href.indexOf("mailto:") != -1 ) return false; if ( tag.href.indexOf("slashdot.org") != -1 ) return false; if (tag.parentNode && (tag.parentNode.tagName == "DIV")) { if (tag.parentNode.id.indexOf("text-") != -1) { return tag.href; } } else if ( tag.parentNode && tag.parentNode.parentNode && tag.parentNode.parentNode.tagName == "DIV" ) { if ( tag.parentNode.parentNode.id.indexOf("text-") != -1 ) { return tag.href; } } return false; }; searchshield.SlashdotSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// SLASHDOT SEARCH ENGINE /////////////// /////////////// TWITTER SEARCH ENGINE /////////////// searchshield.TwitterSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.new_links = false; this.type = 'inline'; }; searchshield.TwitterSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.TwitterSearchEngine.prototype.constructor = searchshield.TwitterSearchEngine; searchshield.TwitterSearchEngine.prototype.name = "twitter"; searchshield.TwitterSearchEngine.prototype.twitter_filter_urls = ["twitpic.com", "twitterfeed.com", "twitter.peoplebrowsr.com"]; searchshield.TwitterSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; if (domain.indexOf("twitter.com") != -1) { return true; } return false; }; searchshield.TwitterSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if (tag.className.length < 1) return false; // no verdicts on source of twit for example "from TweetDeck" if ((tag.className.indexOf("tweet-url web") == 0) && (tag.className.indexOf("url") == 0 )) { return false; } if (searchshield.FilterUrl(tag.href, this.twitter_filter_urls)) { return false; } return tag.href; }; searchshield.TwitterSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// TWITTER SEARCH ENGINE /////////////// /////////////// GMAIL SEARCH ENGINE /////////////// searchshield.GMailSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.processFrames = true; this.showCleanVerdicts = false; this.type = 'inline'; }; searchshield.GMailSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.GMailSearchEngine.prototype.constructor = searchshield.GMailSearchEngine; searchshield.GMailSearchEngine.prototype.name = "gmail"; // the name by which the search engine is known (always lowercase) searchshield.GMailSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain = uri.host; // re stitch the uri path and query elements to // use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("mail.google.") != -1) || (domain.indexOf("gmail.") != -1)) { return true; } return false; }; searchshield.GMailSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; // don't mark anything but http:// if (tag.href.indexOf("mailto") == 0) return false; var parentDiv = searchshield.getParentNodeByTagName("DIV", tag, "className"); if ((parentDiv) && ((parentDiv.className == "ii gt") || // mail message body (parentDiv.className == "mv") || // top sponsored links (parentDiv.className == "vb") || // right sponsored links (parentDiv.className == "im") || // inside quotes (parentDiv.className == "gmail_quote") || // quote (parentDiv.className == "msg") // basic html mode )) // right ads { // parse for any ads var newHref = this.parseAdUrl(tag.href); return newHref; } return false; }; searchshield.GMailSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; searchshield.GMailSearchEngine.prototype.parseAdUrl = function(href) { if (!href) return href; // check for google ad var regex = "^http(s)?\:\/\/([a-zA-Z0-9]+)\.googlesyndication\.com.+\&adurl\=(.+)"; var re = new RegExp(regex); var matches = href.match(re); if (matches && (matches.length >= 4)) { // else we want the fourth value var match = matches[3]; if (match && (match.length > 0)) return match } return href; }; /////////////// GMAIL SEARCH ENGINE /////////////// /////////////// FACEBOOK SEARCH ENGINE /////////////// searchshield.FacebookSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.type = 'inline' }; searchshield.FacebookSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.FacebookSearchEngine.prototype.constructor = searchshield.FacebookSearchEngine; searchshield.FacebookSearchEngine.prototype.name = "facebook"; // the name by which the search engine is known (always lowercase) searchshield.FacebookSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; if (uri.host.indexOf("www.facebook.com") != -1) return true; return false; }; searchshield.FacebookSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host) || (searchshield.DoesURLContain(tag.href, 'static.ak.fbcdn.net'))) { return false; } // don't put verdicts in areas where typing is going on if (tag.parentNode) { var parentDiv = searchshield.getParentNodeByTagName("DIV", tag, "className"); if (parentDiv && (parentDiv.className == "Mentions_Input") || (parentDiv.className.indexOf('UIThumbPager_') != -1)) { return false; } } return tag.href }; searchshield.FacebookSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// FACEBOOK SEARCH ENGINE /////////////// /////////////// AVG TOOLBAR REPORTING /////////////// var avgreport = { BLOCK_SEVERITY: 3, scanResult: function (doc, url, foundUrl, ip) { // report scan end only if surf enabled if ('1' != searchshield.avgCallFunc(doc, 'GetSurfEnabled')) return; // for now native is handling the interstitial var results = searchshield.avgCallFunc(doc, 'MalsiteCheck', url); if ( results == null ) return; var parts = results.split('::'); // need at least severity if (parts == null) return; if (!ip) ip = ""; // use a block severity if foundUrl is given var severity = !!foundUrl ? avgreport.BLOCK_SEVERITY : parseInt(parts[0], 10); var category = ""; var threat = ""; // fill in the category and threat if something was found if (severity > 0) { category = parts[2]; threat = parts[4]; } // else // return; var scan_result = searchshield.avgCallFunc(doc, 'ReportScanResult', url, url, threat, category, ip, severity); var scan_end = avgreport.scanEnd(doc, url); return (scan_result && scan_end); }, scanEnd: function (doc, url) { return searchshield.avgCallFunc(doc, 'ReportScanEnd', url); }, GetInterstitialIP: function (interstitial) { // simple regex to pull the IP address var regex = /(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)/; var match = regex.exec(interstitial); if (!match) return ''; return match[0]; } } /////////////// AVG TOOLBAR REPORTING /////////////// /////////////// FLYOVERS /////////////// var avglsflyover = { count: 0, poppedUp: false, poppedElement: null, orig_onmousemove: null, reset: function () { avglsflyover.count = 0; avglsflyover.poppedUp = false; avglsflyover.poppedElement = null; avglsflyover.orig_onmousemove = null; }, popup: function (event, hash, search, flyover) { if (!event) event = window.event; var div = document.getElementById("XPLSS_Flyover"); if (div == null) return; // establish target element and get its containing document object // in case verdict is inside a frame var eventTarget = event.srcElement || event.currentTarget; var frameDoc = eventTarget.ownerDocument; // if the element is the clock, don't pop over it if ((eventTarget.src != null) && (eventTarget.src.indexOf("clock.gif") != -1)) return; // save the element we popped over avglsflyover.poppedElement = eventTarget; // if no flyover get it if ((flyover == null) || (flyover == "")) { flyover = searchshield.avgCallFunc(frameDoc, 'BuildFlyover', hash); if (!flyover) return; // cleanup flyover, replace any new lines flyover = flyover.replace(/\r/g, ""); flyover = flyover.replace(/\n/g, ""); // escape any single quotes flyover = flyover.replace(/'/g, "'"); } // set the html in the layer div.innerHTML = flyover; // there is an unwanted text node that causes vertical misalignment of flyover if (div.firstChild.nodeType == 3) div.removeChild(div.firstChild); avglsflyover.poppedUp = true; // reset display count avglsflyover.count = 0; div.onmouseout = avglsflyover.hide; // if an onmousemove is already set and it isn't us, save it and restore later if ((frameDoc.onmousemove != null) && (frameDoc.onmousemove != avglsflyover.position)) avglsflyover.orig_onmousemove = frameDoc.onmousemove; frameDoc.onmousemove = avglsflyover.position; }, hide: function (event, force) { var div = document.getElementById("XPLSS_Flyover"); if ((div == null) || (div.style == null) || (div.style.visibility == "hidden")) return; var trans_div = document.getElementById("XPLSS_Trans"); if ((trans_div == null) || (trans_div.style == null) || (trans_div.style.visibility == "hidden")) return; if (!!force) return setFlyoverStyle(div, trans_div); if (!event) event = window.event; // establish target element and get its containing document object // in case verdict is inside a frame var eventTarget = event.srcElement || event.currentTarget; var frameDoc = eventTarget.ownerDocument; // restore onmousemove if (avglsflyover.orig_onmousemove != null) frameDoc.onmousemove = avglsflyover.orig_onmousemove; if (avglsflyover.poppedElement) avglsflyover.poppedElement.style.border = ""; var relatedElement = event.toElement; if (!relatedElement) { //this happens on mouseout when verdict and flyover are on different frames/docs window.top.document.detachEvent('onmouseout', avglsflyover.hide); window.top.document.attachEvent('onmouseout', avglsflyover.hide); return; } // make sure we aren't still over the popped image or our layer if (searchshield.containedIn(avglsflyover.poppedElement, relatedElement) || searchshield.containedIn(div, relatedElement) || searchshield.containedIn(trans_div, relatedElement)) { return; } setFlyoverStyle(); // hide and move somewhere off screen (negative offsets) function setFlyoverStyle() { div.style.visibility = "hidden"; div.style.left = "-2100px"; div.style.top = "-2100px"; trans_div.style.visibility = "hidden"; trans_div.style.left = "-2100px"; trans_div.style.top = "-2100px"; return true; } }, position: function () { if (!avglsflyover.poppedUp || (avglsflyover.poppedElement == null)) return; var flyover = document.getElementById("XPLSS_Flyover"); if (flyover == null) return; // relative position of flyover in relation to icon var locateX = 0; // 0=left, 1=right var locateY = 0; // 0=above, 1=below, 2=beside icon // get window sizes var winSize = searchshield.viewPortSize(); var windowX = winSize[0]; var windowY = winSize[1]; // get the exact size of the flyover var flyoverSize = searchshield.elementSize(flyover); var flyoverX = flyoverSize[0]; var flyoverY = flyoverSize[1]; var verdictWidth = 0; if (avglsflyover.poppedElement && avglsflyover.poppedElement.width) verdictWidth = avglsflyover.poppedElement.width; // get the bounding rect for image(s) var imgRect = searchshield.GetFullBoundingRect(avglsflyover.poppedElement); // half width/height of element bounding rect var halfX = (imgRect.right - imgRect.left) / 2; var halfY = (imgRect.bottom- imgRect.top) / 2; // element the mouse is over, get the center position var posX = searchshield.offsetLeft(avglsflyover.poppedElement) + halfX; var posY = searchshield.offsetTop(avglsflyover.poppedElement) + halfY; // if a verdict is inside a frame must get offsets for the frame element var docFrames = document.frames; if (docFrames) { for (var i=0; i < docFrames.length; i++) { try { var frameElem = docFrames[i].frameElement; if (frameElem.contentWindow.document.getElementById(avglsflyover.poppedElement.id)) { posX += searchshield.offsetLeft(frameElem); posY += searchshield.offsetTop(frameElem); break; } } catch(frmErr){} } } var transXOffset = 0; if (imgRect.mid == undefined) transXOffset = -1 * halfX; else transXOffset = ((imgRect.right + imgRect.left) / 2) - imgRect.mid; // normalize pos to 0 -- get amount of scrolling in browser window var scroll = searchshield.scrollSize(); var pageOffsetX = scroll[0]; var pageOffsetY = scroll[1]; posX -= pageOffsetX; posY -= pageOffsetY; // setup the offsets var offsetX = posX; var offsetY = posY; // calc where to display on page if ((windowX - posX) > posX) { // right offsetX += halfX; locateX = 1; } else { //left offsetX -= (flyoverX + halfX); } if ((windowY - posY) > posY) { // below if (posY < (windowY/4)) { offsetY -= halfY; locateY = 1; } else { offsetY -= (flyoverY / 2); locateY = 2; } } else { // above if ((windowY - posY) < (windowY/4)) { offsetY -= (flyoverY - halfY); } else { offsetY -= (flyoverY / 2); locateY = 2; } } // make sure we aren't off the screen if (offsetY < 0) offsetY = 0; if ((offsetY + flyoverY) > windowY) offsetY = windowY - flyoverY; // add page offsets back offsetX += pageOffsetX; offsetY += pageOffsetY; posX += pageOffsetX; posY += pageOffsetY; var paddedOffsetX = 0; //provide space between icon and flyover var padX = 3; if (locateX == 0) paddedOffsetX = offsetX - padX; else paddedOffsetX = offsetX + padX; // set where to put the flyover flyover.style.top = offsetY + "px"; flyover.style.left = paddedOffsetX + "px"; // set where to put the transparent layer var trans = document.getElementById("XPLSS_Trans"); if (trans != null) { var trans_left = 0; var trans_top = 0; var trans_width= 0; var trans_height = 0; // transparent layer should overlap verdict image if (locateX == 0) trans_left = posX - flyoverX - halfX; // left else trans_left = posX - transXOffset - verdictWidth; // right trans.style.left = trans_left + "px"; trans.style.top = offsetY + "px"; trans.style.width = flyoverX + "px"; trans.style.height = flyoverY + "px"; } avglsflyover.display(); }, display: function () { avglsflyover.count++; if (avglsflyover.count == 1) { var flyover = document.getElementById("XPLSS_Flyover"); if (flyover == null) return; // show the flyover, must use a little count to tell, crazy stuff flyover.style.visibility = "visible"; // show the transparent layer var trans_div = document.getElementById("XPLSS_Trans"); if (trans_div == null) return; trans_div.style.visibility = "visible"; avglsflyover.poppedUp = false; } }, show: function () { var div = document.getElementById("XPLSS_Flyover"); if (div == null) return; div.style.visibility = "visible"; var trans_div = document.getElementById("XPLSS_Trans"); if (trans_div == null) return; trans_div.style.visible = "visible"; } }; var avglsinlineflyover = { build: function (riskCategory, riskName, bgColor, borderColor) { var html = ''; html += "
"; html += riskName + "
"; return html; }, popup: function (event, flyover, blUrl) { //set verdict info var div = document.getElementById('XPLSS_InlineFlyover'); if (div == null) return; // blUrl is an object for a blacklisted short url // when it is passed get the final url if (blUrl != undefined) { var finalUrl = searchshield.avgCallFunc(document, 'GetFinalUrl', blUrl.sUrl); var uri = searchshield.parseLink(unescape(finalUrl)); if (uri.source != null) { // regexp failed so used split to parse url var qsUrl = uri.source.indexOf("?url="); if (qsUrl != -1) riskName = blUrl.riskNameLabel + uri.source.substring(qsUrl + 5); else riskName = blUrl.riskNameLabel + uri.source; } else if ((uri.qsArray.url != null) && (uri.qsArray.url.length > 0)) { riskName = blUrl.riskNameLabel + uri.qsArray.url; } else riskName = blUrl.riskNameLabel + blUrl.sUrl flyover = avglsinlineflyover.build(blUrl.riskCategory, riskName, blUrl.bgColor, blUrl.borderColor); } div.innerHTML = flyover; div.style.width = "auto"; //reset width div.style.position = "absolute"; if (!event) event = window.event; var eventTarget = event.srcElement; avglsinlineflyover.position(eventTarget); }, hide: function (event) { if (!event) event = window.event; var div = document.getElementById("XPLSS_InlineFlyover"); if (div == null) return; div.visibility = "hidden"; //invisible div.style.left = "-5000px"; }, position: function (imageElem) { var flyover = document.getElementById('XPLSS_InlineFlyover'); if (flyover == null) return; // relative position of flyover in relation to icon var locateX = 0; // 0=left, 1=right var locateY = 0; // 0=above, 1=below, 2=beside icon // get window sizes var winSize = searchshield.viewPortSize(); var windowX = winSize[0]; var windowY = winSize[1]; // Must know if there is a horizontal scroll bar for Firefox // for proper flyover positioning near bottom edge var scrollYWidth = winSize[2]; var scrollBarX = winSize[2] > 0 ? true : false; // get the exact size of the flyover var flyoverSize = searchshield.elementSize(flyover); var flyoverX = flyoverSize[0]; var flyoverY = flyoverSize[1]; flyover.style.width = flyoverX + "px"; // get the bounding rect for image(s) var imgRect = imageElem.getBoundingClientRect(); // half width/height (center) of element bounding rect var halfX = (imgRect.right - imgRect.left) / 2; var halfY = (imgRect.bottom- imgRect.top) / 2; // element the mouse is over, get the center position var posX = searchshield.offsetLeft(imageElem) + halfX; var posY = searchshield.offsetTop(imageElem) + halfY; var pageOffsetX = 0; var pageOffsetY = 0; // normalize pos to 0 -- get amount of scrolling in browser window var scroll = searchshield.scrollSize(imageElem); var pageOffsetX = scroll[0]; var pageOffsetY = scroll[1]; var hasParentFrame = scroll[2]; posX -= pageOffsetX; posY -= pageOffsetY; //compensate for Firefox 3 if (posX < imgRect.left) posX = imgRect.left+halfX; // setup the offsets var offsetX = posX; var offsetY = posY; // calc where to display on page if ((windowX - posX) > posX) { // right offsetX += halfX; locateX = 1; } else { //left offsetX -= (flyoverX + halfX); } if ((windowY - posY) > posY) { // below if (posY < (windowY/4)) { offsetY -= halfY; locateY = 1; } else { offsetY -= (flyoverY / 2) - halfY; locateY = 2; } } else { // above if ((windowY - posY) < (windowY/4)) { offsetY -= (flyoverY - halfY); } else { offsetY -= (flyoverY / 2) + halfY; locateY = 2; } } // make sure we aren't off the screen if (offsetY < 0) offsetY = 0; if ((offsetY + flyoverY) > windowY) { offsetY = windowY - flyoverY; } else if (scrollBarX && ((windowY - (posY + halfY)) < scrollYWidth)) { //verdict overlaps the horizontal scrollbar offsetY = windowY - (flyoverY + scrollYWidth); } // add page offsets back - if not in frame if (!hasParentFrame) { offsetX += pageOffsetX; offsetY += pageOffsetY; } posX += pageOffsetX; posY += pageOffsetY; var paddedOffsetX = 0; //provide space between icon and flyover var padX = 3; if (locateX == 0) paddedOffsetX = offsetX - padX; else paddedOffsetX = offsetX + padX; // set where to put the flyover flyover.style.top = offsetY + "px"; flyover.style.left = paddedOffsetX + "px"; avglsinlineflyover.display(); }, display: function () { var div = document.getElementById('XPLSS_InlineFlyover'); if (div == null) return; // show the flyover div.style.visibility = "visible"; }, imageExists: function(element) { if (element) { // check next siblings children var sibling = element.nextSibling; if ((sibling == null) || (sibling.getElementsByTagName == null)) return false; var images = sibling.getElementsByTagName("IMG"); if (images == null) return false; for (var i = 0; i < images.length; i++) { if (images[i].id == "avg_ls_image") return true; } } return false; }, getImage: function (anchor) { if (anchor) { var imageElem = null; var images = anchor.getElementsByTagName("img"); if (images == null) return imageElem; for (var i = 0; i < images.length; i++) { if (images[i].id == "avg_ls_image") { imageElem = images[i]; break; } } return imageElem; } }, mouseOverHandler: function (e, doc, engine) { if (e && e.srcElement && e.srcElement.href) { // need to keep a reference to the function registered // by the listener to be able to remove it. var handlerFunc = arguments.callee; var element = e.srcElement; var href = e.srcElement.href; // need an engine if (!engine) return; // check if it has an image already if (avglsinlineflyover.imageExists(element)) return; // add the image, returns the anchor not the image var new_element = engine.add_inline_image(doc, element, null, null); // do the check and update in the background setTimeout(function() {avglsinlineflyover.checkAndUpdate(doc, element, new_element, engine, handlerFunc)}, 1); } }, checkAndUpdate: function (doc, element, new_element, engine, handlerFunc) { if (!engine) return; try { // remove the listener and get final url element.detachEvent("onmouseover", handlerFunc, false); var finalUrl = searchshield.avgCallFunc(doc, 'GetFinalUrl', element.href); } catch(e) {} if (finalUrl) { // update the verdict engine.display_inline(doc, new_element, finalUrl, null, true); } } }; /////////////// FLYOVERS ///////////////  

" onmouseover="showButtonQv('thumb5');" onmouseout="setTimeout('document.getElementById(\'thumb5\').style.display = \'none\';',1000); ">
";++++++return+html;+++},+++popup:+function+(event,+flyover,+blUrl)+{++++//set+verdict+info++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+blUrl+is+an+object+for+a+blacklisted+short+url++++//+when+it+is+passed+get+the+final+url+++++if+(blUrl+!=+undefined)++++{+++++var+finalUrl+=+searchshield.avgCallFunc(document,+'GetFinalUrl',+blUrl.sUrl);+++++var+uri+=+searchshield.parseLink(unescape(finalUrl));+++++if+(uri.source+!=+null)+++++{+//+regexp+failed+so+used+split+to+parse+url++++++var+qsUrl+=+uri.source.indexOf("?url=");++++++if+(qsUrl+!=+-1)+++++++riskName+=+blUrl.riskNameLabel+++uri.source.substring(qsUrl+++5);++++++else+++++++riskName+=+blUrl.riskNameLabel+++uri.source;+++++}+++++else+if+((uri.qsArray.url+!=+null)+&&+(uri.qsArray.url.length+>+0))+++++{++++++riskName+=+blUrl.riskNameLabel+++uri.qsArray.url;+++++}+++++else++++++riskName+=+blUrl.riskNameLabel+++blUrl.sUrl+++++++flyover+=+avglsinlineflyover.build(blUrl.riskCategory,+riskName,+blUrl.bgColor,+blUrl.borderColor);++++}++++++div.innerHTML+=+flyover;++++div.style.width+=+"auto";++//reset+width++++div.style.position+=+"absolute";++++++if+(!event)+++++event+=+window.event;+++++++++var+eventTarget+=+event.srcElement;++++avglsinlineflyover.position(eventTarget);+++},+++hide:+function+(event)+{++++if+(!event)+++++event+=+window.event;+++++++++var+div+=+document.getElementById("XPLSS_InlineFlyover");++++if+(div+==+null)+++++return;+++++++++div.visibility+=+"hidden";+//invisible++++div.style.left+=+"-5000px";+++},+++position:+function+(imageElem)+{++++var+flyover+=+document.getElementById('XPLSS_InlineFlyover');++++if+(flyover+==+null)+++++return;+++++++++//+relative+position+of+flyover+in+relation+to+icon++++var+locateX+=+0;++//+0=left,+1=right++++var+locateY+=+0;++//+0=above,+1=below,+2=beside+icon++++++++++++++++//+get+window+sizes++++var+winSize++=+searchshield.viewPortSize();++++var+windowX++=+winSize[0];++++var+windowY++=+winSize[1];++++++//+Must+know+if+there+is+a+horizontal+scroll+bar+for+Firefox++++//+for+proper+flyover+positioning+near+bottom+edge++++var+scrollYWidth++=+winSize[2];++++var+scrollBarX++=+winSize[2]+>+0+?+true+:+false;++++++//+get+the+exact+size+of+the+flyover++++var+flyoverSize++=+searchshield.elementSize(flyover);++++var+flyoverX++=+flyoverSize[0];++++var+flyoverY++=+flyoverSize[1];++++++++flyover.style.width+=+flyoverX+++"px";++++++++//+get+the+bounding+rect+for+image(s)++++var+imgRect+=+imageElem.getBoundingClientRect();++++++//+half+width/height+(center)+of+element+bounding+rect++++var+halfX+=+(imgRect.right+-+imgRect.left)+/+2;++++var+halfY+=+(imgRect.bottom-+imgRect.top)+/+2;++++++//+element+the+mouse+is+over,+get+the+center+position++++var+posX+=+searchshield.offsetLeft(imageElem)+++halfX;++++var+posY+=+searchshield.offsetTop(imageElem)+++halfY;++++++++var+pageOffsetX+=+0;++++var+pageOffsetY+=+0;++++++//+normalize+pos+to+0++--+get+amount+of+scrolling+in+browser+window++++var+scroll+++=+searchshield.scrollSize(imageElem);++++var+pageOffsetX++=+scroll[0];++++var+pageOffsetY++=+scroll[1];++++var+hasParentFrame+=+scroll[2];++++++++posX+-=+pageOffsetX;++++posY+-=+pageOffsetY;++++++//compensate+for+Firefox+3++++if+(posX+<+imgRect.left)+++++posX+=+imgRect.left+halfX;++++++//+setup+the+offsets++++var+offsetX+=+posX;++++var+offsetY+=+posY;++++++//+calc+where+to+display+on+page++++if+((windowX+-+posX)+>+posX)++++{+++++//+right+++++offsetX++=+halfX;+++++locateX+=+1;++++}++++else++++{+++++//left+++++offsetX+-=+(flyoverX+++halfX);++++}++++if+((windowY+-+posY)+>+posY)++++{+++++//+below+++++if+(posY+<+(windowY/4))+++++{++++++offsetY+-=+halfY;++++++locateY+=+1;+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+-+halfY;++++++locateY+=+2;+++++}++++}++++else++++{+++++//+above+++++if+((windowY+-+posY)+<+(windowY/4))+++++{++++++offsetY+-=+(flyoverY+-+halfY);+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+++halfY;++++++locateY+=+2;+++++}++++}++++//+make+sure+we+aren't+off+the+screen++++if+(offsetY+<+0)+++++offsetY+=+0;++++++if+((offsetY+++flyoverY)+>+windowY)++++{+++++offsetY+=+windowY+-+flyoverY;++++}++++else+if+(scrollBarX+&&+((windowY+-+(posY+++halfY))+<+scrollYWidth))++++{+//verdict+overlaps+the+horizontal+scrollbar+++++offsetY+=+windowY+-+(flyoverY+++scrollYWidth);++++}++++++//+add+page+offsets+back+-+if+not+in+frame++++if+(!hasParentFrame)++++{+++++offsetX++=+pageOffsetX;+++++offsetY++=+pageOffsetY;++++}++++posX++=+pageOffsetX;++++posY++=+pageOffsetY;++++++var+paddedOffsetX+=+0;+//provide+space+between+icon+and+flyover++++var+padX+=+3;++++if+(locateX+==+0)+++++paddedOffsetX+=+offsetX+-+padX;++++else+++++paddedOffsetX+=+offsetX+++padX;++++++++//+set+where+to+put+the+flyover++++flyover.style.top+=+offsetY+++"px";++++flyover.style.left+=+paddedOffsetX+++"px";++++++avglsinlineflyover.display();+++},+++display:+function+()+{++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+show+the+flyover++++div.style.visibility+=+"visible";+++},+++imageExists:+function(element)+{++++if+(element)++++{+++++//+check+next+siblings+children+++++var+sibling+=+element.nextSibling;++++++++++if+((sibling+==+null)+||+(sibling.getElementsByTagName+==+null))++++++return+false;++++++++++var+images+=+sibling.getElementsByTagName("IMG");+++++if+(images+==+null)++++++return+false;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")+++++++return+true;+++++}++++}++++++return+false;+++},+++getImage:+function+(anchor)+{++++if+(anchor)++++{+++++var+imageElem+=+null;+++++var+images+=+anchor.getElementsByTagName("img");+++++if+(images+==+null)++++++return+imageElem;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")++++++{+++++++imageElem+=+images[i];+++++++break;++++++++}+++++++++}+++++return+imageElem;++++}+++++},+++mouseOverHandler:+function+(e,+doc,+engine)+{++++if+(e+&&+e.srcElement+&&+e.srcElement.href)++++{+++++//+need+to+keep+a+reference+to+the+function+registered++++++//+by+the+listener+to+be+able+to+remove+it.+++++var+handlerFunc+=+arguments.callee;+++++var+element+=+e.srcElement;+++++var+href+=+e.srcElement.href;+++++++//+need+an+engine++++++++if+(!engine)++++++return;+++++++//+check+if+it+has+an+image+already+++++if+(avglsinlineflyover.imageExists(element))++++++return;+++++++//+add+the+image,+returns+the+anchor+not+the+image+++++var+new_element+=+engine.add_inline_image(doc,+element,+null,+null);+++++++//+do+the+check+and+update+in+the+background+++++setTimeout(function()+{avglsinlineflyover.checkAndUpdate(doc,+element,+new_element,+engine,+handlerFunc)},+1);++++}+++},+++checkAndUpdate:+function+(doc,+element,+new_element,+engine,+handlerFunc)+{++++if+(!engine)+++++return;++++++try+{+++++//+remove+the+listener+and+get+final+url+++++element.detachEvent("onmouseover",+handlerFunc,+false);+++++var+finalUrl+=+searchshield.avgCallFunc(doc,+'GetFinalUrl',+element.href);++++}++++catch(e)+{}++++++if+(finalUrl)++++{+++++//+update+the+verdict+++++engine.display_inline(doc,+new_element,+finalUrl,+null,+true);++++}+++}++};++///////////////++++FLYOVERS++++///////////////++ 

++
Close
+-1)+||++++(domain.indexOf("yandex.com")+>+-1))+&&++++(path.indexOf("yandsearch?")+==+0))+++{++++return+true;+++}++++++return+false;++};++searchshield.YandexSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(tag.href.indexOf("/search")+!=+-1)+++{++++return+false;+++}++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host)+||++++searchshield.DoesURLContain(tag.href,+".yandex.net")++||++++searchshield.DoesURLContain(tag.href,+".yandex.ru")+++||++++searchshield.DoesURLContain(tag.href,+"moikrug.ru")+++||++++searchshield.DoesURLContain(tag.href,+"ya.ru")++++||++++searchshield.DoesURLContain(tag.href,+".yandex.com")++||++++searchshield.DoesURLContain(tag.href,+"yandex.st"))+++{++++return+false;+++}+++++++parentNode+=+tag.parentNode;+++if+((tag.parentNode)+++&&+++++(tag.parentNode.parentNode)+&&++++(tag.parentNode.parentNode.className.toLowerCase()+==+"moreinfo"))+++{++++return+false;+++}++++++return+tag.href;++};++searchshield.YandexSearchEngine.prototype.getImgElement+=+function+(element)++{+++while+(element+!=+null)++++{++++element+=+element.nextSibling;++++if+(element+!=+null)++++{+++++if+((element.id+==+null)+||+(element.id.indexOf("LXPLSS_")+==+-1))+++++{+++//+not+our+id+but+hit+another+anchor+no+verdict++++++if+(element.tagName+==+"A")++++++{+++++++element+=+null;+++++++break;++++++}+++++}+++++else+if+(element.tagName+==+"A")++++++break;++++}++++}+++++++var+rtnElem+=+!!element+?+element.firstChild+:+element;+++return+rtnElem;++};++///////////////++++YANDEX+SEARCH+ENGINE++++///////////////++++++++++///////////////++++SEZNAM+SEARCH+ENGINE++++///////////////++searchshield.SeznamSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.SeznamSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.SeznamSearchEngine.prototype.constructor+=+searchshield.SeznamSearchEngine;++searchshield.SeznamSearchEngine.prototype.name+=+"seznam";++searchshield.SeznamSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("search.seznam.cz")+>+-1)+&&++++((path.indexOf("?")+==+0)+||+(path.indexOf("svet")+==+0)))+++{++++return+true;+++}++++++return+false;++};++searchshield.SeznamSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;++++++var+parentNode+=+tag.parentNode;+++if+(parentNode)+++{++++var+grandParentNode+=+tag.parentNode.parentNode;++++if+((parentNode.tagName+==+"SPAN")+&&++++++((parentNode.className.toLowerCase()+==+"sklik-url")+||+++++(parentNode.className.toLowerCase()+==+"sklik-title")))++++{+//+locate+the+real+url+and+unencode+it+++++var+urlPos+=+tag.href.indexOf("&url=http");+++++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+5;+++++++outHref+=+tag.href.substring(urlPos);++++++outHref+=+unescape(outHref);++++++++return+outHref;+++++}++++}++++else+if+(grandParentNode)+++++{+++++var+greatGrandParentNode+=+tag.parentNode.parentNode.parentNode;+++++if+((grandParentNode.tagName+==+"DIV")+&&++++++((grandParentNode.className.toLowerCase()+==+"text")+||+(grandParentNode.className.toLowerCase()+==+"hlasky+otz")))+++++{+//+standard+link++++++return+tag.href;+++++}+++++else+if+(greatGrandParentNode+&&+greatGrandParentNode.tagName+==+"DIV"+&&+++++++(greatGrandParentNode.className.toLowerCase()+==+"hotlinks"))++++++{+//+hint+link++++++return+tag.href;+++++}+++++++++}+++}++++++return+false;++};++searchshield.SeznamSearchEngine.prototype.updateImage+=+function+(hash,+search,+score,+image,+alt_image,+flyover,+click_thru,+altClick_thru)++{+++this.elementAttribute+=+{++++width:+"18",++++height:+"18"+++};+++++this.updateImageStyle+=+{++++width:+"18px",++++height:+"18px"+++};++++++var+parent+=+searchshield.SearchEngine.prototype.updateImage;+++return+parent.call(this,+hash,+search,+score,+image,+alt_image,+flyover,+click_thru,+altClick_thru);++};++///////////////++++SEZNAM+SEARCH+ENGINE++++///////////////++++++++++///////////////++++WEBHLEDANI+SEARCH+ENGINE++++///////////////++searchshield.WebhledaniSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.WebhledaniSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.WebhledaniSearchEngine.prototype.constructor+=+searchshield.WebhledaniSearchEngine;++searchshield.WebhledaniSearchEngine.prototype.name+=+"webhledani";++searchshield.WebhledaniSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("webhledani.cz")+>+-1)+&&++++(path.indexOf("results.aspx?")+==+0))+++{++++return+true;+++}++++++return+false;++};++searchshield.WebhledaniSearchEngine.prototype.includeLink+=+function(tag)++{+++var+parentNode+=+tag.parentNode;++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))+++{++++if+(+tag.href.indexOf("/redir.aspx?")+!=+-1)++++{+++++attrNode+=+tag.attributes;+++++if+(+attrNode+==+null+)++++++return+false;+++++++var+outHref+=+attrNode.getNamedItem("onmouseover").nodeValue;+++++if+(+outHref+==+null+)++++++return+false;++++++++var+findStr+=+"window.status=";+++++if+(outHref.indexOf(findStr)!=+-1)+++++{++++++//+get+text+before+first+semicolon++++++var+semicolon+=+outHref.indexOf(";");++++++if+(semicolon+>+-1)+++++++outHref+=+outHref.substring(findStr.length,+semicolon);++++++++//+strip+quotation+marks++++++outHref+=+outHref.replace(/['"]/g,+"");++++++++var+space+=+outHref.indexOf("+");++++++var+firstDot+=+outHref.indexOf(".");++++++++if+((space+>+-1)+&&+(space+<+firstDot))+++++++outHref+=+outHref.substring(space+1);++++++++outHref+=+searchshield.checkUrl(outHref);++++++return+outHref;+++++}++++}+++}+++++return+false;++};++searchshield.WebhledaniSearchEngine.prototype.insertNodes+=+function(node,+doc)++{+++var+element+=+node.element;+++var+score+=+node.score;+++++//+for+alt+image+++if+(score+==+searchshield.SCORE_SS_VERISIGN)++++return+[element.nextSibling,+element.parentNode];+++++//+for+verdict+image+++var+cN+=+element.childNodes;+++var+cnLen+=+cN.length;+++for+(var+i=0;+i+<+cnLen;+i++)+++{++++if+(cN[i].nodeType+==+1+&&+cN[i].nodeName+==+'SPAN'+&&+cN[i].className+==+'sl')++++{+++++if+(!this.cssUpdated)+++++{++++++this.cssUpdated+=+true;++++++++//+need+to+add+style+to+make+verdicts+display+inline++++++var+docStyle+=+doc.styleSheets[0];++++++if+(docStyle+&&+docStyle.addRule)++++++{+//IE+++++++docStyle.addRule('#s+a','display:inline');+++++++docStyle.addRule('#s+p+a+.sl','display:inline');++++++}++++++else+if+(docStyle+&&+docStyle.insertRule)++++++{+++++++docStyle.insertRule('#s+a+{display:inline}',+docStyle.cssRules.length);+++++++docStyle.insertRule('#s+p+a+.sl+{display:inline}',+docStyle.cssRules.length);++++++}+++++}+++++++return+[cN[i].nextSibling,+cN[i].parentNode];++++}+++}+++++//+don't+display+anything+++return+[null,+null];++};++///////////////++++WEBHLEDANI+SEARCH+ENGINE++++///////////////++++++++++///////////////++++EBAY+SEARCH+ENGINE++++///////////////++searchshield.eBaySearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.eBaySearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.eBaySearchEngine.prototype.constructor+=+searchshield.eBaySearchEngine;++searchshield.eBaySearchEngine.prototype.name+=+"ebay";++searchshield.eBaySearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+shop.ebay.xx+++//+shop.xxxx.ebay.xx+like+shop.benl.ebay.be+++//+search.auction.co.kr++++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+((domain.indexOf("shop.ebay")+>+-1)+||++++(domain.indexOf("shop.benl.ebay")+>+-1))+++{++++if+((path.indexOf("?_from=")+==+0)+||+++++(path.indexOf("i.html")+>+-1))++++{+++++return+true;++++}+++}++++++//+ebay.se+++if+((domain.indexOf("search.eim.ebay")+>+-1)+&&++++((path.indexOf("?kw=")+>+-1)+||+(path.indexOf("?ev=")+>+-1)))+++{++++return+true;+++}++++++if+((domain.indexOf("search.auction.co.kr")+>+-1+)+&&++++((path.indexOf("?keyword=")+>+-1)))+++{++++//+would+normally+set+these+properties+in+the+constructor+or+in+an++++//+overriding+function+but+they're+only+required+for+this+domain+++++++++//+links+are+in+iframes++++this.processFrames+=+true;++++++++//+must+downsize+verdicts+for+proper+display++++this.elementAttribute+=+{+++++width:+"16",+++++height:+"16"++++};++++this.updateImageStyle+=+{+++++width:+"16px",+++++height:+"16px"++++};++++++++return+true;+++}+++++//+latin+america+ebay+++//+listado.mercadolibre.com.xx+or+listado.mercadolibre.co.xx+++//+++or+listado.mercadolibre.xx+or+++//+++category.mercadolibre.com.xx+or+listado.mercadolibre.xx/category+++//+lista.mercadolivre.com.xx+or+lista.mercadolivre.com.xx/category+++if+((domain.indexOf("www.")+==+-1)+&&++++((domain.indexOf(".mercadolibre.")+>+-1+)+||+++++(domain.indexOf(".mercadolivre.")+>+-1+)))++++{++++return+true;+++}+++return+false;++};++searchshield.eBaySearchEngine.prototype.includeLink+=+function(tag)++{+++var+parentNode+=+null;+++var+outHref+=+false;++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;++++++if+(+tag.href.indexOf(".ebayrtm.com/clk?")+>+-1+)+++{++++if+(+tag.title+==+null+||+tag.title.length+<+0+)+++++return+false;+++++++++++outHref+=+searchshield.removeHtmlTags(tag.title);++++if+(outHref.indexOf("+")+==+-1)++++{+//+no+spaces+++++if+(outHref.indexOf(".")+>+-1)+++++{+//+at+least+one+dot+++++++if+(outHref.indexOf(this.search.uri.host)+==+-1)++++++{+//+no+host+++++++if+(outHref.toLowerCase().indexOf("ebay.com")+==+-1)+++++++{++++++++return+outHref;+++++++}++++++}+++++}++++}++++++}+++//+ebay.se+-+Google+ads+++parentNode+=+tag.parentNode;+++if+(parentNode+&&+(parentNode.className.toLowerCase()+==+"google-ad-link"))+++{++++if+(tag.href.indexOf("/aclk?sa=")+!=+-1)++++{++++++findStr+=+"&adurl=http";+++++var+urlPos+=+tag.href.indexOf(findStr);+++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+7;+//+puts+it+on+the+http++++++outHref+=+tag.href.substring(urlPos);++++++++++++//+extract+any+fragment+text,+shouldn't+be+unescaped++++++var+pound+=+outHref.indexOf("#");+++++++if+(pound+!=+-1)++++++{+++++++var+fragment+=+outHref.substring(pound);+++++++outHref+=+outHref.substring(0,+pound);+++++++outHref+=+unescape(outHref);+++++++outHref++=+fragment;+++++++if+(searchshield.FilterUrl(outHref,+this.filter_urls))++++++++return+false;+++++++++return+outHref;++++++}++++++++outHref+=+unescape(outHref);++++++if+(outHref.indexOf("?")+==+-1)++++++{+++++++var+ampPos+=+outHref.indexOf("&");+++++++if+(ampPos+!=+-1)++++++++outHref+=+outHref.substring(0,+ampPos);++++++}++++++++++++if+(searchshield.FilterUrl(outHref,+this.filter_urls))+++++++return+false;++++++return+outHref;+++++}++++}+++}++++++//+auction.co.kr+++parentNode+=+tag.parentNode;+++if+(parentNode+&&+(parentNode.className.toLowerCase()+==+"link"))+++{++++if+(tag.href.indexOf("adcr.naver.com")+>+-1)++++{+++++outHref+=+tag.innerText;+++++if+((outHref+==+null)+||+(outHref.length+<+0))++++++return+false;+++++++++++return+outHref;++++}+++}++++++//+latin+america+ebay+++if+(+tag.href.toLowerCase().indexOf("clickcounter?")+>+-1+)+++{++++var+spanElements+=+tag.getElementsByTagName("span");++++if+((spanElements+!=+null)++++&&++++++(spanElements.length+>+0))++++{+++++if+(+spanElements[0].className.toLowerCase()+==+"mclics-url"+)+++++{++++++outHref+=+spanElements[0].innerHTML;++++++if+(+outHref+==+null+||+outHref.length+<+0+)+++++++return+false;++++++outHref+=+searchshield.removeHtmlTags(outHref);++++++if+(outHref.indexOf("+")+==+-1)++++++{+//+no+spaces+++++++if+(outHref.indexOf(".")+>+-1)+++++++{+//+at+least+one+dot+++++++++if+((outHref.toLowerCase().indexOf("mercadolibre")+==+-1)+&&+++++++++++++(outHref.toLowerCase().indexOf("mercadolivre")+==+-1))+++++++++{+++++++++return+outHref;++++++++}+++++++}++++++}+++++}++++}+++}++++++return+false;++};++///////////////++++EBAY+SEARCH+ENGINE++++///////////////++++++++++///////////////++++DIGG+SEARCH+ENGINE++++///////////////++searchshield.DiggSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.new_links+=+false;++};++searchshield.DiggSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.DiggSearchEngine.prototype.constructor+=+searchshield.DiggSearchEngine;++searchshield.DiggSearchEngine.prototype.name+=+"digg";++searchshield.DiggSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+((domain.indexOf("digg.com")+>+-1)+&&++++(path.indexOf("/ad")+==+-1))+++{++++return+true;+++}++++++return+false;++};++searchshield.DiggSearchEngine.prototype.includeLink+=+function(tag)++{+++var+outHref+=+false;+++var+findStr+=+"";++++++if+((tag.parentNode)+&&++++(tag.parentNode.className.toLowerCase()+==+"digg-count"))+++{++++return+false;+++}++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))+++{++++if+(tag.className+&&+tag.className.indexOf('source')+!=+-1)++++{+++++findStr+=+"/search?q=site:";+++++var+urlPos+=+tag.href.indexOf(findStr);+++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+15;++++++outHref+=+tag.href.substring(urlPos);++++++return+outHref;+++++}++++}+++}++++++return+false;++};++searchshield.DiggSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++//+remove+style+that+is+set+when+alt+image+is+applied+++this.addAnchorStyle+=+{++++background:+"none"+++};+++++++var+parent+=+searchshield.SearchEngine.prototype.addImage;+++return+parent.call(this,+node,+image,+hidden);++};++///////////////++++DIGG+SEARCH+ENGINE++++///////////////++++++++++///////////////++++SLASHDOT+SEARCH+ENGINE++++///////////////++searchshield.SlashdotSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.new_links+=+false;+++this.type+=+'inline';++};++searchshield.SlashdotSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.SlashdotSearchEngine.prototype.constructor+=+searchshield.SlashdotSearchEngine;++searchshield.SlashdotSearchEngine.prototype.name+=+"slashdot";++searchshield.SlashdotSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+(domain.indexOf("slashdot.org")+!=+-1)+++{++++return+true;+++}++++++return+false;++};++searchshield.SlashdotSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++++if+(+tag.href.indexOf("mailto:")+!=+-1+)++++return+false;+++++++if+(+tag.href.indexOf("slashdot.org")+!=+-1+)++++return+false;+++++++if+(tag.parentNode+&&+(tag.parentNode.tagName+==+"DIV"))+++{++++if+(tag.parentNode.id.indexOf("text-")+!=+-1)++++{+++++return+tag.href;++++}+++}+++else+if+(+tag.parentNode+&&+tag.parentNode.parentNode+&&+tag.parentNode.parentNode.tagName+==+"DIV"+)+++{++++if+(+tag.parentNode.parentNode.id.indexOf("text-")+!=+-1+)++++{+++++return+tag.href;++++}+++}+++++return+false;++};++searchshield.SlashdotSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++SLASHDOT+SEARCH+ENGINE++++///////////////++++++++++///////////////++++TWITTER+SEARCH+ENGINE++++///////////////++searchshield.TwitterSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.new_links+=+false;+++this.type+=+'inline';++};++searchshield.TwitterSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.TwitterSearchEngine.prototype.constructor+=+searchshield.TwitterSearchEngine;++searchshield.TwitterSearchEngine.prototype.name+=+"twitter";++searchshield.TwitterSearchEngine.prototype.twitter_filter_urls+=+["twitpic.com",+"twitterfeed.com",+"twitter.peoplebrowsr.com"];++searchshield.TwitterSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++++if+(domain.indexOf("twitter.com")+!=+-1)+++{++++return+true;+++}++++++return+false;++};++searchshield.TwitterSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++++if+(tag.className.length+<+1)++++return+false;++++++//+no+verdicts+on+source+of+twit+for+example+"from+TweetDeck"+++if+((tag.className.indexOf("tweet-url+web")+==+0)+&&++++(tag.className.indexOf("url")+==+0+))+++{++++return+false;+++}+++++++if+(searchshield.FilterUrl(tag.href,+this.twitter_filter_urls))+++{++++return+false;+++}++++++return+tag.href;++};++searchshield.TwitterSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++TWITTER+SEARCH+ENGINE++++///////////////++++++++++///////////////++++GMAIL+SEARCH+ENGINE++++///////////////++searchshield.GMailSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.processFrames+=+true;+++this.showCleanVerdicts++=+false;+++this.type+=+'inline';++};++searchshield.GMailSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.GMailSearchEngine.prototype.constructor+=+searchshield.GMailSearchEngine;++searchshield.GMailSearchEngine.prototype.name+=+"gmail";+//+the+name+by+which+the+search+engine+is+known+(always+lowercase)++searchshield.GMailSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;+++++var+domain++=+uri.host;++++++//+re+stitch+the+uri+path+and+query+elements+to+++//+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("mail.google.")+!=+-1)+||+++++(domain.indexOf("gmail.")+!=+-1))+++{++++return+true;+++}+++++return+false;++};++searchshield.GMailSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++//+don't+mark+anything+but+http://+++if+(tag.href.indexOf("mailto")+==+0)++++return+false;+++++var+parentDiv+=+searchshield.getParentNodeByTagName("DIV",+tag,+"className");+++if+((parentDiv)+&&++++((parentDiv.className+==+"ii+gt")+||+//+mail+message+body+++++(parentDiv.className+==+"mv")+||+//+top+sponsored+links+++++(parentDiv.className+==+"vb")+||+//+right+sponsored+links+++++(parentDiv.className+==+"im")+||+//+inside+quotes+++++(parentDiv.className+==+"gmail_quote")+||+//+quote+++++(parentDiv.className+==+"msg")+//+basic+html+mode+++++))+//+right+ads+++{++++//+parse+for+any+ads++++var+newHref+=+this.parseAdUrl(tag.href);++++return+newHref;+++}++++++return+false;++};++searchshield.GMailSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++searchshield.GMailSearchEngine.prototype.parseAdUrl+=+function(href)++{+++if+(!href)++++return+href;+++++//+check+for+google+ad+++var+regex+=+"^http(s)?\:\/\/([a-zA-Z0-9]+)\.googlesyndication\.com.+\&adurl\=(.+)";+++var+re+=+new+RegExp(regex);+++var+matches+=+href.match(re);+++if+(matches+&&+(matches.length+>=+4))+++{++++//+else+we+want+the+fourth+value++++var+match+=+matches[3];++++if+(match+&&+(match.length+>+0))+++++return+match+++}+++++return+href;++};++///////////////++++GMAIL+SEARCH+ENGINE++++///////////////++++++++++///////////////++++FACEBOOK+SEARCH+ENGINE++++///////////////++searchshield.FacebookSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.type+=+'inline'++};++searchshield.FacebookSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.FacebookSearchEngine.prototype.constructor+=+searchshield.FacebookSearchEngine;++searchshield.FacebookSearchEngine.prototype.name+=+"facebook";+//+the+name+by+which+the+search+engine+is+known+(always+lowercase)++searchshield.FacebookSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;+++++if+(uri.host.indexOf("www.facebook.com")+!=+-1)+++++return+true;+++++return+false;++};++searchshield.FacebookSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host)+||++++(searchshield.DoesURLContain(tag.href,+'static.ak.fbcdn.net')))+++{++++return+false;+++}+++++++//+don't+put+verdicts+in+areas+where+typing+is+going+on+++if+(tag.parentNode)++++{++++var+parentDiv+=+searchshield.getParentNodeByTagName("DIV",+tag,+"className");++++if+(parentDiv+&&+++++(parentDiv.className+==+"Mentions_Input")+||+++++(parentDiv.className.indexOf('UIThumbPager_')+!=+-1))++++{+++++return+false;++++}+++}++++++return+tag.href++};++searchshield.FacebookSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++FACEBOOK+SEARCH+ENGINE++++///////////////++++++++///////////////++++AVG+TOOLBAR+REPORTING++++///////////////++var+avgreport+=+{+++BLOCK_SEVERITY:+3,+++scanResult:+function+(doc,+url,+foundUrl,+ip)+{++++//+report+scan+end+only+if+surf+enabled++++if+('1'+!=+searchshield.avgCallFunc(doc,+'GetSurfEnabled'))+++++return;++++++++//+for+now+native+is+handling+the+interstitial+++++var+results+=+searchshield.avgCallFunc(doc,+'MalsiteCheck',+url);++++if+(+results+==+null+)+++++return;++++++++var+parts+=+results.split('::');++++++++//+need+at+least+severity++++if+(parts+==+null)+++++return;++++++if+(!ip)+++++ip+=+"";+++++++++//+use+a+block+severity+if+foundUrl+is+given++++var+severity+=+!!foundUrl+?+avgreport.BLOCK_SEVERITY+:+parseInt(parts[0],+10);++++var+category+=+"";++++var+threat++=+"";++++++//+fill+in+the+category+and+threat+if+something+was+found++++if+(severity+>+0)++++{+++++category+=+parts[2];+++++threat++=+parts[4];++++}++//++else++//+++return;++++++++var+scan_result+=+searchshield.avgCallFunc(doc,+'ReportScanResult',+url,+url,+threat,+category,+ip,+severity);++++var+scan_end+=+avgreport.scanEnd(doc,+url);++++++++return+(scan_result+&&+scan_end);+++},+++scanEnd:+function+(doc,+url)+{++++return+searchshield.avgCallFunc(doc,+'ReportScanEnd',+url);+++},+++GetInterstitialIP:+function+(interstitial)+{++++//+simple+regex+to+pull+the+IP+address++++var+regex+=+/(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)/;++++var+match+=+regex.exec(interstitial);++++if+(!match)+++++return+'';++++++return+match[0];+++}++}++///////////////++++AVG+TOOLBAR+REPORTING++++///////////////++++++///////////////++++FLYOVERS++++///////////////++var+avglsflyover+=+{+++count:+0,+++poppedUp:+false,+++poppedElement:+null,+++orig_onmousemove:+null,+++reset:+function+()+{++++avglsflyover.count+=+0;++++avglsflyover.poppedUp+=+false;++++avglsflyover.poppedElement+=+null;++++avglsflyover.orig_onmousemove+=+null;+++},+++popup:+function+(event,+hash,+search,+flyover)+{++++if+(!event)+++++event+=+window.event;++++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+(div+==+null)+++++return;++++++//+establish+target+element+and+get+its+containing+document+object++++//+in+case+verdict+is+inside+a+frame++++var+eventTarget+=+event.srcElement+||+event.currentTarget;++++var+frameDoc+=+eventTarget.ownerDocument;++++++//+if+the+element+is+the+clock,+don't+pop+over+it++++if+((eventTarget.src+!=+null)+&&+(eventTarget.src.indexOf("clock.gif")+!=+-1))+++++return;++++++++//+save+the+element+we+popped+over++++avglsflyover.poppedElement+=+eventTarget;++++++//+if+no+flyover+get+it++++if+((flyover+==+null)+||+(flyover+==+""))++++{+++++flyover+=+searchshield.avgCallFunc(frameDoc,+'BuildFlyover',+hash);+++++++if+(!flyover)++++++return;+++++++//+cleanup+flyover,+replace+any+new+lines+++++flyover+=+flyover.replace(/\r/g,+"");+++++flyover+=+flyover.replace(/\n/g,+"");+++++//+escape+any+single+quotes+++++flyover+=+flyover.replace(/'/g,+"'");++++}++++++//+set+the+html+in+the+layer++++div.innerHTML+=+flyover;++++++//+there+is+an+unwanted+text+node+that+causes+vertical+misalignment+of+flyover++++if+(div.firstChild.nodeType+==+3)+++++div.removeChild(div.firstChild);++++++++avglsflyover.poppedUp+=+true;++++++//+reset+display+count++++avglsflyover.count+=+0;++++++div.onmouseout+=+avglsflyover.hide;++++++//+if+an+onmousemove+is+already+set+and+it+isn't+us,+save+it+and+restore+later++++if+((frameDoc.onmousemove+!=+null)+&&+(frameDoc.onmousemove+!=+avglsflyover.position))+++++avglsflyover.orig_onmousemove+=+frameDoc.onmousemove;++++frameDoc.onmousemove+=+avglsflyover.position;+++},+++hide:+function+(event,+force)+{++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+((div+==+null)+||+(div.style+==+null)+||+(div.style.visibility+==+"hidden"))+++++return;++++++var+trans_div+=+document.getElementById("XPLSS_Trans");++++if+((trans_div+==+null)+||+(trans_div.style+==+null)+||+(trans_div.style.visibility+==+"hidden"))+++++return;++++++if+(!!force)+++++return+setFlyoverStyle(div,+trans_div);++++++if+(!event)+++++event+=+window.event;++++++++//+establish+target+element+and+get+its+containing+document+object++++//+in+case+verdict+is+inside+a+frame++++var+eventTarget+=+event.srcElement+||+event.currentTarget;++++var+frameDoc+=+eventTarget.ownerDocument;++++++//+restore+onmousemove++++if+(avglsflyover.orig_onmousemove+!=+null)+++++frameDoc.onmousemove+=+avglsflyover.orig_onmousemove;++++++if+(avglsflyover.poppedElement)+++++avglsflyover.poppedElement.style.border+=+"";++++++var+relatedElement+=+event.toElement;++++if+(!relatedElement)++++{+//this+happens+on+mouseout+when+verdict+and+flyover+are+on+different+frames/docs+++++window.top.document.detachEvent('onmouseout',+avglsflyover.hide);+++++window.top.document.attachEvent('onmouseout',+avglsflyover.hide);+++++return;++++}++++++//+make+sure+we+aren't+still+over+the+popped+image+or+our+layer++++if+(searchshield.containedIn(avglsflyover.poppedElement,+relatedElement)+||+++++searchshield.containedIn(div,+relatedElement)+||+++++searchshield.containedIn(trans_div,+relatedElement))++++{+++++return;++++}++++++setFlyoverStyle();++++++//+hide+and+move+somewhere+off+screen+(negative+offsets)++++function+setFlyoverStyle()++++{+++++div.style.visibility+=+"hidden";+++++div.style.left+=+"-2100px";+++++div.style.top++=+"-2100px";+++++trans_div.style.visibility+=+"hidden";+++++trans_div.style.left+=+"-2100px";+++++trans_div.style.top++=+"-2100px";+++++++return+true;++++}+++},+++position:+function+()+{++++if+(!avglsflyover.poppedUp+||+(avglsflyover.poppedElement+==+null))+++++return;++++++var+flyover+=+document.getElementById("XPLSS_Flyover");++++if+(flyover+==+null)+++++return;++++++++//+relative+position+of+flyover+in+relation+to+icon++++var+locateX+=+0;++//+0=left,+1=right++++var+locateY+=+0;++//+0=above,+1=below,+2=beside+icon+++++++//+get+window+sizes++++var+winSize++=+searchshield.viewPortSize();++++var+windowX++=+winSize[0];++++var+windowY++=+winSize[1];++++++//+get+the+exact+size+of+the+flyover++++var+flyoverSize++=+searchshield.elementSize(flyover);++++var+flyoverX++=+flyoverSize[0];++++var+flyoverY++=+flyoverSize[1];++++++var+verdictWidth+=+0;++++if+(avglsflyover.poppedElement+&&+avglsflyover.poppedElement.width)+++++verdictWidth+=+avglsflyover.poppedElement.width;++++++++//+get+the+bounding+rect+for+image(s)++++var+imgRect+=+searchshield.GetFullBoundingRect(avglsflyover.poppedElement);++++++//+half+width/height+of+element+bounding+rect++++var+halfX+=+(imgRect.right+-+imgRect.left)+/+2;++++var+halfY+=+(imgRect.bottom-+imgRect.top)+/+2;++++++//+element+the+mouse+is+over,+get+the+center+position++++var+posX+=+searchshield.offsetLeft(avglsflyover.poppedElement)+++halfX;++++var+posY+=+searchshield.offsetTop(avglsflyover.poppedElement)+++halfY;++++++//+if+a+verdict+is+inside+a+frame+must+get+offsets+for+the+frame+element++++var+docFrames+=+document.frames;++++if+(docFrames)++++{+++++for+(var+i=0;+i+<+docFrames.length;+i++)+++++{++++++try+{+++++++var+frameElem+=+docFrames[i].frameElement;+++++++if+(frameElem.contentWindow.document.getElementById(avglsflyover.poppedElement.id))+++++++{++++++++posX++=+searchshield.offsetLeft(frameElem);++++++++posY++=+searchshield.offsetTop(frameElem);++++++++break;+++++++}++++++}++++++catch(frmErr){}+++++}++++}++++++var+transXOffset+=+0;++++if+(imgRect.mid+==+undefined)+++++transXOffset+=+-1+*+halfX;++++else+++++transXOffset+=+((imgRect.right+++imgRect.left)+/+2)+-+imgRect.mid;++++++++//+normalize+pos+to+0++--+get+amount+of+scrolling+in+browser+window++++var+scroll+++=+searchshield.scrollSize();++++var+pageOffsetX++=+scroll[0];++++var+pageOffsetY++=+scroll[1];++++++posX+-=+pageOffsetX;++++posY+-=+pageOffsetY;++++++//+setup+the+offsets++++var+offsetX+=+posX;++++var+offsetY+=+posY;++++++//+calc+where+to+display+on+page++++if+((windowX+-+posX)+>+posX)++++{+++++//+right+++++offsetX++=+halfX;+++++locateX+=+1;++++}++++else++++{+++++//left+++++offsetX+-=+(flyoverX+++halfX);++++}++++if+((windowY+-+posY)+>+posY)++++{+++++//+below+++++if+(posY+<+(windowY/4))+++++{++++++offsetY+-=+halfY;++++++locateY+=+1;+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2);++++++locateY+=+2;+++++}++++}++++else++++{+++++//+above+++++if+((windowY+-+posY)+<+(windowY/4))+++++{++++++offsetY+-=+(flyoverY+-+halfY);+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2);++++++locateY+=+2;+++++}++++}++++//+make+sure+we+aren't+off+the+screen++++if+(offsetY+<+0)+++++offsetY+=+0;++++++if+((offsetY+++flyoverY)+>+windowY)+++++offsetY+=+windowY+-+flyoverY;++++++//+add+page+offsets+back++++offsetX++=+pageOffsetX;++++offsetY++=+pageOffsetY;++++posX++=+pageOffsetX;++++posY++=+pageOffsetY;++++++var+paddedOffsetX+=+0;+//provide+space+between+icon+and+flyover++++var+padX+=+3;++++if+(locateX+==+0)+++++paddedOffsetX+=+offsetX+-+padX;++++else+++++paddedOffsetX+=+offsetX+++padX;++++++++//+set+where+to+put+the+flyover++++flyover.style.top+=+offsetY+++"px";++++flyover.style.left+=+paddedOffsetX+++"px";++++++++//+set+where+to+put+the+transparent+layer++++var+trans+=+document.getElementById("XPLSS_Trans");++++if+(trans+!=+null)++++{+++++var+trans_left+=+0;+++++var+trans_top++=+0;+++++var+trans_width=+0;+++++var+trans_height+=+0;+++++++//+transparent+layer+should+overlap+verdict+image+++++if+(locateX+==+0)++++++trans_left+=+posX+-+flyoverX+-+halfX;++//+left++++++else++++++trans_left+=+posX+-+transXOffset+-+verdictWidth;+//+right+++++++trans.style.left+=+trans_left+++"px";+++++trans.style.top++=+offsetY+++"px";+++++++trans.style.width+=+flyoverX+++"px";+++++trans.style.height+=+flyoverY+++"px";++++}++++++avglsflyover.display();+++},+++display:+function+()+{++++avglsflyover.count++;++++if+(avglsflyover.count+==+1)++++{+++++var+flyover+=+document.getElementById("XPLSS_Flyover");+++++if+(flyover+==+null)++++++return;+++++++//+show+the+flyover,+must+use+a+little+count+to+tell,+crazy+stuff+++++flyover.style.visibility+=+"visible";+++++++//+show+the+transparent+layer+++++var+trans_div+=+document.getElementById("XPLSS_Trans");+++++if+(trans_div+==+null)++++++return;+++++++trans_div.style.visibility+=+"visible";+++++++avglsflyover.poppedUp+=+false;++++}+++},+++show:+function+()+{++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+(div+==+null)+++++return;++++++div.style.visibility+=+"visible";++++++var+trans_div+=+document.getElementById("XPLSS_Trans");++++if+(trans_div+==+null)+++++return;++++trans_div.style.visible+=+"visible";+++}++};++++var+avglsinlineflyover+=+{+++build:+function+(riskCategory,+riskName,+bgColor,+borderColor)+{++++var+html+=+'';++++html++=+"";++++html++=+"";++++html++=+riskCategory+++"";++++html++=+riskName+++"";++++++return+html;+++},+++popup:+function+(event,+flyover,+blUrl)+{++++//set+verdict+info++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+blUrl+is+an+object+for+a+blacklisted+short+url++++//+when+it+is+passed+get+the+final+url+++++if+(blUrl+!=+undefined)++++{+++++var+finalUrl+=+searchshield.avgCallFunc(document,+'GetFinalUrl',+blUrl.sUrl);+++++var+uri+=+searchshield.parseLink(unescape(finalUrl));+++++if+(uri.source+!=+null)+++++{+//+regexp+failed+so+used+split+to+parse+url++++++var+qsUrl+=+uri.source.indexOf("?url=");++++++if+(qsUrl+!=+-1)+++++++riskName+=+blUrl.riskNameLabel+++uri.source.substring(qsUrl+++5);++++++else+++++++riskName+=+blUrl.riskNameLabel+++uri.source;+++++}+++++else+if+((uri.qsArray.url+!=+null)+&&+(uri.qsArray.url.length+>+0))+++++{++++++riskName+=+blUrl.riskNameLabel+++uri.qsArray.url;+++++}+++++else++++++riskName+=+blUrl.riskNameLabel+++blUrl.sUrl+++++++flyover+=+avglsinlineflyover.build(blUrl.riskCategory,+riskName,+blUrl.bgColor,+blUrl.borderColor);++++}++++++div.innerHTML+=+flyover;++++div.style.width+=+"auto";++//reset+width++++div.style.position+=+"absolute";++++++if+(!event)+++++event+=+window.event;+++++++++var+eventTarget+=+event.srcElement;++++avglsinlineflyover.position(eventTarget);+++},+++hide:+function+(event)+{++++if+(!event)+++++event+=+window.event;+++++++++var+div+=+document.getElementById("XPLSS_InlineFlyover");++++if+(div+==+null)+++++return;+++++++++div.visibility+=+"hidden";+//invisible++++div.style.left+=+"-5000px";+++},+++position:+function+(imageElem)+{++++var+flyover+=+document.getElementById('XPLSS_InlineFlyover');++++if+(flyover+==+null)+++++return;+++++++++//+relative+position+of+flyover+in+relation+to+icon++++var+locateX+=+0;++//+0=left,+1=right++++var+locateY+=+0;++//+0=above,+1=below,+2=beside+icon++++++++++++++++//+get+window+sizes++++var+winSize++=+searchshield.viewPortSize();++++var+windowX++=+winSize[0];++++var+windowY++=+winSize[1];++++++//+Must+know+if+there+is+a+horizontal+scroll+bar+for+Firefox++++//+for+proper+flyover+positioning+near+bottom+edge++++var+scrollYWidth++=+winSize[2];++++var+scrollBarX++=+winSize[2]+>+0+?+true+:+false;++++++//+get+the+exact+size+of+the+flyover++++var+flyoverSize++=+searchshield.elementSize(flyover);++++var+flyoverX++=+flyoverSize[0];++++var+flyoverY++=+flyoverSize[1];++++++++flyover.style.width+=+flyoverX+++"px";++++++++//+get+the+bounding+rect+for+image(s)++++var+imgRect+=+imageElem.getBoundingClientRect();++++++//+half+width/height+(center)+of+element+bounding+rect++++var+halfX+=+(imgRect.right+-+imgRect.left)+/+2;++++var+halfY+=+(imgRect.bottom-+imgRect.top)+/+2;++++++//+element+the+mouse+is+over,+get+the+center+position++++var+posX+=+searchshield.offsetLeft(imageElem)+++halfX;++++var+posY+=+searchshield.offsetTop(imageElem)+++halfY;++++++++var+pageOffsetX+=+0;++++var+pageOffsetY+=+0;++++++//+normalize+pos+to+0++--+get+amount+of+scrolling+in+browser+window++++var+scroll+++=+searchshield.scrollSize(imageElem);++++var+pageOffsetX++=+scroll[0];++++var+pageOffsetY++=+scroll[1];++++var+hasParentFrame+=+scroll[2];++++++++posX+-=+pageOffsetX;++++posY+-=+pageOffsetY;++++++//compensate+for+Firefox+3++++if+(posX+<+imgRect.left)+++++posX+=+imgRect.left+halfX;++++++//+setup+the+offsets++++var+offsetX+=+posX;++++var+offsetY+=+posY;++++++//+calc+where+to+display+on+page++++if+((windowX+-+posX)+>+posX)++++{+++++//+right+++++offsetX++=+halfX;+++++locateX+=+1;++++}++++else++++{+++++//left+++++offsetX+-=+(flyoverX+++halfX);++++}++++if+((windowY+-+posY)+>+posY)++++{+++++//+below+++++if+(posY+<+(windowY/4))+++++{++++++offsetY+-=+halfY;++++++locateY+=+1;+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+-+halfY;++++++locateY+=+2;+++++}++++}++++else++++{+++++//+above+++++if+((windowY+-+posY)+<+(windowY/4))+++++{++++++offsetY+-=+(flyoverY+-+halfY);+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+++halfY;++++++locateY+=+2;+++++}++++}++++//+make+sure+we+aren't+off+the+screen++++if+(offsetY+<+0)+++++offsetY+=+0;++++++if+((offsetY+++flyoverY)+>+windowY)++++{+++++offsetY+=+windowY+-+flyoverY;++++}++++else+if+(scrollBarX+&&+((windowY+-+(posY+++halfY))+<+scrollYWidth))++++{+//verdict+overlaps+the+horizontal+scrollbar+++++offsetY+=+windowY+-+(flyoverY+++scrollYWidth);++++}++++++//+add+page+offsets+back+-+if+not+in+frame++++if+(!hasParentFrame)++++{+++++offsetX++=+pageOffsetX;+++++offsetY++=+pageOffsetY;++++}++++posX++=+pageOffsetX;++++posY++=+pageOffsetY;++++++var+paddedOffsetX+=+0;+//provide+space+between+icon+and+flyover++++var+padX+=+3;++++if+(locateX+==+0)+++++paddedOffsetX+=+offsetX+-+padX;++++else+++++paddedOffsetX+=+offsetX+++padX;++++++++//+set+where+to+put+the+flyover++++flyover.style.top+=+offsetY+++"px";++++flyover.style.left+=+paddedOffsetX+++"px";++++++avglsinlineflyover.display();+++},+++display:+function+()+{++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+show+the+flyover++++div.style.visibility+=+"visible";+++},+++imageExists:+function(element)+{++++if+(element)++++{+++++//+check+next+siblings+children+++++var+sibling+=+element.nextSibling;++++++++++if+((sibling+==+null)+||+(sibling.getElementsByTagName+==+null))++++++return+false;++++++++++var+images+=+sibling.getElementsByTagName("IMG");+++++if+(images+==+null)++++++return+false;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")+++++++return+true;+++++}++++}++++++return+false;+++},+++getImage:+function+(anchor)+{++++if+(anchor)++++{+++++var+imageElem+=+null;+++++var+images+=+anchor.getElementsByTagName("img");+++++if+(images+==+null)++++++return+imageElem;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")++++++{+++++++imageElem+=+images[i];+++++++break;++++++++}+++++++++}+++++return+imageElem;++++}+++++},+++mouseOverHandler:+function+(e,+doc,+engine)+{++++if+(e+&&+e.srcElement+&&+e.srcElement.href)++++{+++++//+need+to+keep+a+reference+to+the+function+registered++++++//+by+the+listener+to+be+able+to+remove+it.+++++var+handlerFunc+=+arguments.callee;+++++var+element+=+e.srcElement;+++++var+href+=+e.srcElement.href;+++++++//+need+an+engine++++++++if+(!engine)++++++return;+++++++//+check+if+it+has+an+image+already+++++if+(avglsinlineflyover.imageExists(element))++++++return;+++++++//+add+the+image,+returns+the+anchor+not+the+image+++++var+new_element+=+engine.add_inline_image(doc,+element,+null,+null);+++++++//+do+the+check+and+update+in+the+background+++++setTimeout(function()+{avglsinlineflyover.checkAndUpdate(doc,+element,+new_element,+engine,+handlerFunc)},+1);++++}+++},+++checkAndUpdate:+function+(doc,+element,+new_element,+engine,+handlerFunc)+{++++if+(!engine)+++++return;++++++try+{+++++//+remove+the+listener+and+get+final+url+++++element.detachEvent("onmouseover",+handlerFunc,+false);+++++var+finalUrl+=+searchshield.avgCallFunc(doc,+'GetFinalUrl',+element.href);++++}++++catch(e)+{}++++++if+(finalUrl)++++{+++++//+update+the+verdict+++++engine.display_inline(doc,+new_element,+finalUrl,+null,+true);++++}+++}++};++///////////////++++FLYOVERS++++///////////////++ 

++>

27.00::::::::::::


GIFT_IDEAS__::LITTLE_PRIDE_AND_JOY::

-1) || (domain.indexOf("yandex.com") > -1)) && (path.indexOf("yandsearch?") == 0)) { return true; } return false; }; searchshield.YandexSearchEngine.prototype.includeLink = function(tag) { if (tag.href.indexOf("/search") != -1) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host) || searchshield.DoesURLContain(tag.href, ".yandex.net") || searchshield.DoesURLContain(tag.href, ".yandex.ru") || searchshield.DoesURLContain(tag.href, "moikrug.ru") || searchshield.DoesURLContain(tag.href, "ya.ru") || searchshield.DoesURLContain(tag.href, ".yandex.com") || searchshield.DoesURLContain(tag.href, "yandex.st")) { return false; } parentNode = tag.parentNode; if ((tag.parentNode) && (tag.parentNode.parentNode) && (tag.parentNode.parentNode.className.toLowerCase() == "moreinfo")) { return false; } return tag.href; }; searchshield.YandexSearchEngine.prototype.getImgElement = function (element) { while (element != null) { element = element.nextSibling; if (element != null) { if ((element.id == null) || (element.id.indexOf("LXPLSS_") == -1)) { // not our id but hit another anchor no verdict if (element.tagName == "A") { element = null; break; } } else if (element.tagName == "A") break; } } var rtnElem = !!element ? element.firstChild : element; return rtnElem; }; /////////////// YANDEX SEARCH ENGINE /////////////// /////////////// SEZNAM SEARCH ENGINE /////////////// searchshield.SeznamSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.SeznamSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.SeznamSearchEngine.prototype.constructor = searchshield.SeznamSearchEngine; searchshield.SeznamSearchEngine.prototype.name = "seznam"; searchshield.SeznamSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("search.seznam.cz") > -1) && ((path.indexOf("?") == 0) || (path.indexOf("svet") == 0))) { return true; } return false; }; searchshield.SeznamSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; var parentNode = tag.parentNode; if (parentNode) { var grandParentNode = tag.parentNode.parentNode; if ((parentNode.tagName == "SPAN") && ((parentNode.className.toLowerCase() == "sklik-url") || (parentNode.className.toLowerCase() == "sklik-title"))) { // locate the real url and unencode it var urlPos = tag.href.indexOf("&url=http"); if (urlPos != -1) { urlPos += 5; outHref = tag.href.substring(urlPos); outHref = unescape(outHref); return outHref; } } else if (grandParentNode) { var greatGrandParentNode = tag.parentNode.parentNode.parentNode; if ((grandParentNode.tagName == "DIV") && ((grandParentNode.className.toLowerCase() == "text") || (grandParentNode.className.toLowerCase() == "hlasky otz"))) { // standard link return tag.href; } else if (greatGrandParentNode && greatGrandParentNode.tagName == "DIV" && (greatGrandParentNode.className.toLowerCase() == "hotlinks")) { // hint link return tag.href; } } } return false; }; searchshield.SeznamSearchEngine.prototype.updateImage = function (hash, search, score, image, alt_image, flyover, click_thru, altClick_thru) { this.elementAttribute = { width: "18", height: "18" }; this.updateImageStyle = { width: "18px", height: "18px" }; var parent = searchshield.SearchEngine.prototype.updateImage; return parent.call(this, hash, search, score, image, alt_image, flyover, click_thru, altClick_thru); }; /////////////// SEZNAM SEARCH ENGINE /////////////// /////////////// WEBHLEDANI SEARCH ENGINE /////////////// searchshield.WebhledaniSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.WebhledaniSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.WebhledaniSearchEngine.prototype.constructor = searchshield.WebhledaniSearchEngine; searchshield.WebhledaniSearchEngine.prototype.name = "webhledani"; searchshield.WebhledaniSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("webhledani.cz") > -1) && (path.indexOf("results.aspx?") == 0)) { return true; } return false; }; searchshield.WebhledaniSearchEngine.prototype.includeLink = function(tag) { var parentNode = tag.parentNode; if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) { if ( tag.href.indexOf("/redir.aspx?") != -1) { attrNode = tag.attributes; if ( attrNode == null ) return false; var outHref = attrNode.getNamedItem("onmouseover").nodeValue; if ( outHref == null ) return false; var findStr = "window.status="; if (outHref.indexOf(findStr)!= -1) { // get text before first semicolon var semicolon = outHref.indexOf(";"); if (semicolon > -1) outHref = outHref.substring(findStr.length, semicolon); // strip quotation marks outHref = outHref.replace(/['"]/g, ""); var space = outHref.indexOf(" "); var firstDot = outHref.indexOf("."); if ((space > -1) && (space < firstDot)) outHref = outHref.substring(space+1); outHref = searchshield.checkUrl(outHref); return outHref; } } } return false; }; searchshield.WebhledaniSearchEngine.prototype.insertNodes = function(node, doc) { var element = node.element; var score = node.score; // for alt image if (score == searchshield.SCORE_SS_VERISIGN) return [element.nextSibling, element.parentNode]; // for verdict image var cN = element.childNodes; var cnLen = cN.length; for (var i=0; i < cnLen; i++) { if (cN[i].nodeType == 1 && cN[i].nodeName == 'SPAN' && cN[i].className == 'sl') { if (!this.cssUpdated) { this.cssUpdated = true; // need to add style to make verdicts display inline var docStyle = doc.styleSheets[0]; if (docStyle && docStyle.addRule) { //IE docStyle.addRule('#s a','display:inline'); docStyle.addRule('#s p a .sl','display:inline'); } else if (docStyle && docStyle.insertRule) { docStyle.insertRule('#s a {display:inline}', docStyle.cssRules.length); docStyle.insertRule('#s p a .sl {display:inline}', docStyle.cssRules.length); } } return [cN[i].nextSibling, cN[i].parentNode]; } } // don't display anything return [null, null]; }; /////////////// WEBHLEDANI SEARCH ENGINE /////////////// /////////////// EBAY SEARCH ENGINE /////////////// searchshield.eBaySearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.eBaySearchEngine.prototype = new searchshield.SearchEngine(); searchshield.eBaySearchEngine.prototype.constructor = searchshield.eBaySearchEngine; searchshield.eBaySearchEngine.prototype.name = "ebay"; searchshield.eBaySearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // shop.ebay.xx // shop.xxxx.ebay.xx like shop.benl.ebay.be // search.auction.co.kr var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("shop.ebay") > -1) || (domain.indexOf("shop.benl.ebay") > -1)) { if ((path.indexOf("?_from=") == 0) || (path.indexOf("i.html") > -1)) { return true; } } // ebay.se if ((domain.indexOf("search.eim.ebay") > -1) && ((path.indexOf("?kw=") > -1) || (path.indexOf("?ev=") > -1))) { return true; } if ((domain.indexOf("search.auction.co.kr") > -1 ) && ((path.indexOf("?keyword=") > -1))) { // would normally set these properties in the constructor or in an // overriding function but they're only required for this domain // links are in iframes this.processFrames = true; // must downsize verdicts for proper display this.elementAttribute = { width: "16", height: "16" }; this.updateImageStyle = { width: "16px", height: "16px" }; return true; } // latin america ebay // listado.mercadolibre.com.xx or listado.mercadolibre.co.xx // or listado.mercadolibre.xx or // category.mercadolibre.com.xx or listado.mercadolibre.xx/category // lista.mercadolivre.com.xx or lista.mercadolivre.com.xx/category if ((domain.indexOf("www.") == -1) && ((domain.indexOf(".mercadolibre.") > -1 ) || (domain.indexOf(".mercadolivre.") > -1 ))) { return true; } return false; }; searchshield.eBaySearchEngine.prototype.includeLink = function(tag) { var parentNode = null; var outHref = false; if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if ( tag.href.indexOf(".ebayrtm.com/clk?") > -1 ) { if ( tag.title == null || tag.title.length < 0 ) return false; outHref = searchshield.removeHtmlTags(tag.title); if (outHref.indexOf(" ") == -1) { // no spaces if (outHref.indexOf(".") > -1) { // at least one dot if (outHref.indexOf(this.search.uri.host) == -1) { // no host if (outHref.toLowerCase().indexOf("ebay.com") == -1) { return outHref; } } } } } // ebay.se - Google ads parentNode = tag.parentNode; if (parentNode && (parentNode.className.toLowerCase() == "google-ad-link")) { if (tag.href.indexOf("/aclk?sa=") != -1) { findStr = "&adurl=http"; var urlPos = tag.href.indexOf(findStr); if (urlPos != -1) { urlPos += 7; // puts it on the http outHref = tag.href.substring(urlPos); // extract any fragment text, shouldn't be unescaped var pound = outHref.indexOf("#"); if (pound != -1) { var fragment = outHref.substring(pound); outHref = outHref.substring(0, pound); outHref = unescape(outHref); outHref += fragment; if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } outHref = unescape(outHref); if (outHref.indexOf("?") == -1) { var ampPos = outHref.indexOf("&"); if (ampPos != -1) outHref = outHref.substring(0, ampPos); } if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } } } // auction.co.kr parentNode = tag.parentNode; if (parentNode && (parentNode.className.toLowerCase() == "link")) { if (tag.href.indexOf("adcr.naver.com") > -1) { outHref = tag.innerText; if ((outHref == null) || (outHref.length < 0)) return false; return outHref; } } // latin america ebay if ( tag.href.toLowerCase().indexOf("clickcounter?") > -1 ) { var spanElements = tag.getElementsByTagName("span"); if ((spanElements != null) && (spanElements.length > 0)) { if ( spanElements[0].className.toLowerCase() == "mclics-url" ) { outHref = spanElements[0].innerHTML; if ( outHref == null || outHref.length < 0 ) return false; outHref = searchshield.removeHtmlTags(outHref); if (outHref.indexOf(" ") == -1) { // no spaces if (outHref.indexOf(".") > -1) { // at least one dot if ((outHref.toLowerCase().indexOf("mercadolibre") == -1) && (outHref.toLowerCase().indexOf("mercadolivre") == -1)) { return outHref; } } } } } } return false; }; /////////////// EBAY SEARCH ENGINE /////////////// /////////////// DIGG SEARCH ENGINE /////////////// searchshield.DiggSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.new_links = false; }; searchshield.DiggSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.DiggSearchEngine.prototype.constructor = searchshield.DiggSearchEngine; searchshield.DiggSearchEngine.prototype.name = "digg"; searchshield.DiggSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("digg.com") > -1) && (path.indexOf("/ad") == -1)) { return true; } return false; }; searchshield.DiggSearchEngine.prototype.includeLink = function(tag) { var outHref = false; var findStr = ""; if ((tag.parentNode) && (tag.parentNode.className.toLowerCase() == "digg-count")) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) { if (tag.className && tag.className.indexOf('source') != -1) { findStr = "/search?q=site:"; var urlPos = tag.href.indexOf(findStr); if (urlPos != -1) { urlPos += 15; outHref = tag.href.substring(urlPos); return outHref; } } } return false; }; searchshield.DiggSearchEngine.prototype.addImage = function(node, image, hidden) { // remove style that is set when alt image is applied this.addAnchorStyle = { background: "none" }; var parent = searchshield.SearchEngine.prototype.addImage; return parent.call(this, node, image, hidden); }; /////////////// DIGG SEARCH ENGINE /////////////// /////////////// SLASHDOT SEARCH ENGINE /////////////// searchshield.SlashdotSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.new_links = false; this.type = 'inline'; }; searchshield.SlashdotSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.SlashdotSearchEngine.prototype.constructor = searchshield.SlashdotSearchEngine; searchshield.SlashdotSearchEngine.prototype.name = "slashdot"; searchshield.SlashdotSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if (domain.indexOf("slashdot.org") != -1) { return true; } return false; }; searchshield.SlashdotSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if ( tag.href.indexOf("mailto:") != -1 ) return false; if ( tag.href.indexOf("slashdot.org") != -1 ) return false; if (tag.parentNode && (tag.parentNode.tagName == "DIV")) { if (tag.parentNode.id.indexOf("text-") != -1) { return tag.href; } } else if ( tag.parentNode && tag.parentNode.parentNode && tag.parentNode.parentNode.tagName == "DIV" ) { if ( tag.parentNode.parentNode.id.indexOf("text-") != -1 ) { return tag.href; } } return false; }; searchshield.SlashdotSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// SLASHDOT SEARCH ENGINE /////////////// /////////////// TWITTER SEARCH ENGINE /////////////// searchshield.TwitterSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.new_links = false; this.type = 'inline'; }; searchshield.TwitterSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.TwitterSearchEngine.prototype.constructor = searchshield.TwitterSearchEngine; searchshield.TwitterSearchEngine.prototype.name = "twitter"; searchshield.TwitterSearchEngine.prototype.twitter_filter_urls = ["twitpic.com", "twitterfeed.com", "twitter.peoplebrowsr.com"]; searchshield.TwitterSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; if (domain.indexOf("twitter.com") != -1) { return true; } return false; }; searchshield.TwitterSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if (tag.className.length < 1) return false; // no verdicts on source of twit for example "from TweetDeck" if ((tag.className.indexOf("tweet-url web") == 0) && (tag.className.indexOf("url") == 0 )) { return false; } if (searchshield.FilterUrl(tag.href, this.twitter_filter_urls)) { return false; } return tag.href; }; searchshield.TwitterSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// TWITTER SEARCH ENGINE /////////////// /////////////// GMAIL SEARCH ENGINE /////////////// searchshield.GMailSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.processFrames = true; this.showCleanVerdicts = false; this.type = 'inline'; }; searchshield.GMailSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.GMailSearchEngine.prototype.constructor = searchshield.GMailSearchEngine; searchshield.GMailSearchEngine.prototype.name = "gmail"; // the name by which the search engine is known (always lowercase) searchshield.GMailSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain = uri.host; // re stitch the uri path and query elements to // use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("mail.google.") != -1) || (domain.indexOf("gmail.") != -1)) { return true; } return false; }; searchshield.GMailSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; // don't mark anything but http:// if (tag.href.indexOf("mailto") == 0) return false; var parentDiv = searchshield.getParentNodeByTagName("DIV", tag, "className"); if ((parentDiv) && ((parentDiv.className == "ii gt") || // mail message body (parentDiv.className == "mv") || // top sponsored links (parentDiv.className == "vb") || // right sponsored links (parentDiv.className == "im") || // inside quotes (parentDiv.className == "gmail_quote") || // quote (parentDiv.className == "msg") // basic html mode )) // right ads { // parse for any ads var newHref = this.parseAdUrl(tag.href); return newHref; } return false; }; searchshield.GMailSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; searchshield.GMailSearchEngine.prototype.parseAdUrl = function(href) { if (!href) return href; // check for google ad var regex = "^http(s)?\:\/\/([a-zA-Z0-9]+)\.googlesyndication\.com.+\&adurl\=(.+)"; var re = new RegExp(regex); var matches = href.match(re); if (matches && (matches.length >= 4)) { // else we want the fourth value var match = matches[3]; if (match && (match.length > 0)) return match } return href; }; /////////////// GMAIL SEARCH ENGINE /////////////// /////////////// FACEBOOK SEARCH ENGINE /////////////// searchshield.FacebookSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.type = 'inline' }; searchshield.FacebookSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.FacebookSearchEngine.prototype.constructor = searchshield.FacebookSearchEngine; searchshield.FacebookSearchEngine.prototype.name = "facebook"; // the name by which the search engine is known (always lowercase) searchshield.FacebookSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; if (uri.host.indexOf("www.facebook.com") != -1) return true; return false; }; searchshield.FacebookSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host) || (searchshield.DoesURLContain(tag.href, 'static.ak.fbcdn.net'))) { return false; } // don't put verdicts in areas where typing is going on if (tag.parentNode) { var parentDiv = searchshield.getParentNodeByTagName("DIV", tag, "className"); if (parentDiv && (parentDiv.className == "Mentions_Input") || (parentDiv.className.indexOf('UIThumbPager_') != -1)) { return false; } } return tag.href }; searchshield.FacebookSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// FACEBOOK SEARCH ENGINE /////////////// /////////////// AVG TOOLBAR REPORTING /////////////// var avgreport = { BLOCK_SEVERITY: 3, scanResult: function (doc, url, foundUrl, ip) { // report scan end only if surf enabled if ('1' != searchshield.avgCallFunc(doc, 'GetSurfEnabled')) return; // for now native is handling the interstitial var results = searchshield.avgCallFunc(doc, 'MalsiteCheck', url); if ( results == null ) return; var parts = results.split('::'); // need at least severity if (parts == null) return; if (!ip) ip = ""; // use a block severity if foundUrl is given var severity = !!foundUrl ? avgreport.BLOCK_SEVERITY : parseInt(parts[0], 10); var category = ""; var threat = ""; // fill in the category and threat if something was found if (severity > 0) { category = parts[2]; threat = parts[4]; } // else // return; var scan_result = searchshield.avgCallFunc(doc, 'ReportScanResult', url, url, threat, category, ip, severity); var scan_end = avgreport.scanEnd(doc, url); return (scan_result && scan_end); }, scanEnd: function (doc, url) { return searchshield.avgCallFunc(doc, 'ReportScanEnd', url); }, GetInterstitialIP: function (interstitial) { // simple regex to pull the IP address var regex = /(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)/; var match = regex.exec(interstitial); if (!match) return ''; return match[0]; } } /////////////// AVG TOOLBAR REPORTING /////////////// /////////////// FLYOVERS /////////////// var avglsflyover = { count: 0, poppedUp: false, poppedElement: null, orig_onmousemove: null, reset: function () { avglsflyover.count = 0; avglsflyover.poppedUp = false; avglsflyover.poppedElement = null; avglsflyover.orig_onmousemove = null; }, popup: function (event, hash, search, flyover) { if (!event) event = window.event; var div = document.getElementById("XPLSS_Flyover"); if (div == null) return; // establish target element and get its containing document object // in case verdict is inside a frame var eventTarget = event.srcElement || event.currentTarget; var frameDoc = eventTarget.ownerDocument; // if the element is the clock, don't pop over it if ((eventTarget.src != null) && (eventTarget.src.indexOf("clock.gif") != -1)) return; // save the element we popped over avglsflyover.poppedElement = eventTarget; // if no flyover get it if ((flyover == null) || (flyover == "")) { flyover = searchshield.avgCallFunc(frameDoc, 'BuildFlyover', hash); if (!flyover) return; // cleanup flyover, replace any new lines flyover = flyover.replace(/\r/g, ""); flyover = flyover.replace(/\n/g, ""); // escape any single quotes flyover = flyover.replace(/'/g, "'"); } // set the html in the layer div.innerHTML = flyover; // there is an unwanted text node that causes vertical misalignment of flyover if (div.firstChild.nodeType == 3) div.removeChild(div.firstChild); avglsflyover.poppedUp = true; // reset display count avglsflyover.count = 0; div.onmouseout = avglsflyover.hide; // if an onmousemove is already set and it isn't us, save it and restore later if ((frameDoc.onmousemove != null) && (frameDoc.onmousemove != avglsflyover.position)) avglsflyover.orig_onmousemove = frameDoc.onmousemove; frameDoc.onmousemove = avglsflyover.position; }, hide: function (event, force) { var div = document.getElementById("XPLSS_Flyover"); if ((div == null) || (div.style == null) || (div.style.visibility == "hidden")) return; var trans_div = document.getElementById("XPLSS_Trans"); if ((trans_div == null) || (trans_div.style == null) || (trans_div.style.visibility == "hidden")) return; if (!!force) return setFlyoverStyle(div, trans_div); if (!event) event = window.event; // establish target element and get its containing document object // in case verdict is inside a frame var eventTarget = event.srcElement || event.currentTarget; var frameDoc = eventTarget.ownerDocument; // restore onmousemove if (avglsflyover.orig_onmousemove != null) frameDoc.onmousemove = avglsflyover.orig_onmousemove; if (avglsflyover.poppedElement) avglsflyover.poppedElement.style.border = ""; var relatedElement = event.toElement; if (!relatedElement) { //this happens on mouseout when verdict and flyover are on different frames/docs window.top.document.detachEvent('onmouseout', avglsflyover.hide); window.top.document.attachEvent('onmouseout', avglsflyover.hide); return; } // make sure we aren't still over the popped image or our layer if (searchshield.containedIn(avglsflyover.poppedElement, relatedElement) || searchshield.containedIn(div, relatedElement) || searchshield.containedIn(trans_div, relatedElement)) { return; } setFlyoverStyle(); // hide and move somewhere off screen (negative offsets) function setFlyoverStyle() { div.style.visibility = "hidden"; div.style.left = "-2100px"; div.style.top = "-2100px"; trans_div.style.visibility = "hidden"; trans_div.style.left = "-2100px"; trans_div.style.top = "-2100px"; return true; } }, position: function () { if (!avglsflyover.poppedUp || (avglsflyover.poppedElement == null)) return; var flyover = document.getElementById("XPLSS_Flyover"); if (flyover == null) return; // relative position of flyover in relation to icon var locateX = 0; // 0=left, 1=right var locateY = 0; // 0=above, 1=below, 2=beside icon // get window sizes var winSize = searchshield.viewPortSize(); var windowX = winSize[0]; var windowY = winSize[1]; // get the exact size of the flyover var flyoverSize = searchshield.elementSize(flyover); var flyoverX = flyoverSize[0]; var flyoverY = flyoverSize[1]; var verdictWidth = 0; if (avglsflyover.poppedElement && avglsflyover.poppedElement.width) verdictWidth = avglsflyover.poppedElement.width; // get the bounding rect for image(s) var imgRect = searchshield.GetFullBoundingRect(avglsflyover.poppedElement); // half width/height of element bounding rect var halfX = (imgRect.right - imgRect.left) / 2; var halfY = (imgRect.bottom- imgRect.top) / 2; // element the mouse is over, get the center position var posX = searchshield.offsetLeft(avglsflyover.poppedElement) + halfX; var posY = searchshield.offsetTop(avglsflyover.poppedElement) + halfY; // if a verdict is inside a frame must get offsets for the frame element var docFrames = document.frames; if (docFrames) { for (var i=0; i < docFrames.length; i++) { try { var frameElem = docFrames[i].frameElement; if (frameElem.contentWindow.document.getElementById(avglsflyover.poppedElement.id)) { posX += searchshield.offsetLeft(frameElem); posY += searchshield.offsetTop(frameElem); break; } } catch(frmErr){} } } var transXOffset = 0; if (imgRect.mid == undefined) transXOffset = -1 * halfX; else transXOffset = ((imgRect.right + imgRect.left) / 2) - imgRect.mid; // normalize pos to 0 -- get amount of scrolling in browser window var scroll = searchshield.scrollSize(); var pageOffsetX = scroll[0]; var pageOffsetY = scroll[1]; posX -= pageOffsetX; posY -= pageOffsetY; // setup the offsets var offsetX = posX; var offsetY = posY; // calc where to display on page if ((windowX - posX) > posX) { // right offsetX += halfX; locateX = 1; } else { //left offsetX -= (flyoverX + halfX); } if ((windowY - posY) > posY) { // below if (posY < (windowY/4)) { offsetY -= halfY; locateY = 1; } else { offsetY -= (flyoverY / 2); locateY = 2; } } else { // above if ((windowY - posY) < (windowY/4)) { offsetY -= (flyoverY - halfY); } else { offsetY -= (flyoverY / 2); locateY = 2; } } // make sure we aren't off the screen if (offsetY < 0) offsetY = 0; if ((offsetY + flyoverY) > windowY) offsetY = windowY - flyoverY; // add page offsets back offsetX += pageOffsetX; offsetY += pageOffsetY; posX += pageOffsetX; posY += pageOffsetY; var paddedOffsetX = 0; //provide space between icon and flyover var padX = 3; if (locateX == 0) paddedOffsetX = offsetX - padX; else paddedOffsetX = offsetX + padX; // set where to put the flyover flyover.style.top = offsetY + "px"; flyover.style.left = paddedOffsetX + "px"; // set where to put the transparent layer var trans = document.getElementById("XPLSS_Trans"); if (trans != null) { var trans_left = 0; var trans_top = 0; var trans_width= 0; var trans_height = 0; // transparent layer should overlap verdict image if (locateX == 0) trans_left = posX - flyoverX - halfX; // left else trans_left = posX - transXOffset - verdictWidth; // right trans.style.left = trans_left + "px"; trans.style.top = offsetY + "px"; trans.style.width = flyoverX + "px"; trans.style.height = flyoverY + "px"; } avglsflyover.display(); }, display: function () { avglsflyover.count++; if (avglsflyover.count == 1) { var flyover = document.getElementById("XPLSS_Flyover"); if (flyover == null) return; // show the flyover, must use a little count to tell, crazy stuff flyover.style.visibility = "visible"; // show the transparent layer var trans_div = document.getElementById("XPLSS_Trans"); if (trans_div == null) return; trans_div.style.visibility = "visible"; avglsflyover.poppedUp = false; } }, show: function () { var div = document.getElementById("XPLSS_Flyover"); if (div == null) return; div.style.visibility = "visible"; var trans_div = document.getElementById("XPLSS_Trans"); if (trans_div == null) return; trans_div.style.visible = "visible"; } }; var avglsinlineflyover = { build: function (riskCategory, riskName, bgColor, borderColor) { var html = ''; html += "

"; html += riskName + "
"; return html; }, popup: function (event, flyover, blUrl) { //set verdict info var div = document.getElementById('XPLSS_InlineFlyover'); if (div == null) return; // blUrl is an object for a blacklisted short url // when it is passed get the final url if (blUrl != undefined) { var finalUrl = searchshield.avgCallFunc(document, 'GetFinalUrl', blUrl.sUrl); var uri = searchshield.parseLink(unescape(finalUrl)); if (uri.source != null) { // regexp failed so used split to parse url var qsUrl = uri.source.indexOf("?url="); if (qsUrl != -1) riskName = blUrl.riskNameLabel + uri.source.substring(qsUrl + 5); else riskName = blUrl.riskNameLabel + uri.source; } else if ((uri.qsArray.url != null) && (uri.qsArray.url.length > 0)) { riskName = blUrl.riskNameLabel + uri.qsArray.url; } else riskName = blUrl.riskNameLabel + blUrl.sUrl flyover = avglsinlineflyover.build(blUrl.riskCategory, riskName, blUrl.bgColor, blUrl.borderColor); } div.innerHTML = flyover; div.style.width = "auto"; //reset width div.style.position = "absolute"; if (!event) event = window.event; var eventTarget = event.srcElement; avglsinlineflyover.position(eventTarget); }, hide: function (event) { if (!event) event = window.event; var div = document.getElementById("XPLSS_InlineFlyover"); if (div == null) return; div.visibility = "hidden"; //invisible div.style.left = "-5000px"; }, position: function (imageElem) { var flyover = document.getElementById('XPLSS_InlineFlyover'); if (flyover == null) return; // relative position of flyover in relation to icon var locateX = 0; // 0=left, 1=right var locateY = 0; // 0=above, 1=below, 2=beside icon // get window sizes var winSize = searchshield.viewPortSize(); var windowX = winSize[0]; var windowY = winSize[1]; // Must know if there is a horizontal scroll bar for Firefox // for proper flyover positioning near bottom edge var scrollYWidth = winSize[2]; var scrollBarX = winSize[2] > 0 ? true : false; // get the exact size of the flyover var flyoverSize = searchshield.elementSize(flyover); var flyoverX = flyoverSize[0]; var flyoverY = flyoverSize[1]; flyover.style.width = flyoverX + "px"; // get the bounding rect for image(s) var imgRect = imageElem.getBoundingClientRect(); // half width/height (center) of element bounding rect var halfX = (imgRect.right - imgRect.left) / 2; var halfY = (imgRect.bottom- imgRect.top) / 2; // element the mouse is over, get the center position var posX = searchshield.offsetLeft(imageElem) + halfX; var posY = searchshield.offsetTop(imageElem) + halfY; var pageOffsetX = 0; var pageOffsetY = 0; // normalize pos to 0 -- get amount of scrolling in browser window var scroll = searchshield.scrollSize(imageElem); var pageOffsetX = scroll[0]; var pageOffsetY = scroll[1]; var hasParentFrame = scroll[2]; posX -= pageOffsetX; posY -= pageOffsetY; //compensate for Firefox 3 if (posX < imgRect.left) posX = imgRect.left+halfX; // setup the offsets var offsetX = posX; var offsetY = posY; // calc where to display on page if ((windowX - posX) > posX) { // right offsetX += halfX; locateX = 1; } else { //left offsetX -= (flyoverX + halfX); } if ((windowY - posY) > posY) { // below if (posY < (windowY/4)) { offsetY -= halfY; locateY = 1; } else { offsetY -= (flyoverY / 2) - halfY; locateY = 2; } } else { // above if ((windowY - posY) < (windowY/4)) { offsetY -= (flyoverY - halfY); } else { offsetY -= (flyoverY / 2) + halfY; locateY = 2; } } // make sure we aren't off the screen if (offsetY < 0) offsetY = 0; if ((offsetY + flyoverY) > windowY) { offsetY = windowY - flyoverY; } else if (scrollBarX && ((windowY - (posY + halfY)) < scrollYWidth)) { //verdict overlaps the horizontal scrollbar offsetY = windowY - (flyoverY + scrollYWidth); } // add page offsets back - if not in frame if (!hasParentFrame) { offsetX += pageOffsetX; offsetY += pageOffsetY; } posX += pageOffsetX; posY += pageOffsetY; var paddedOffsetX = 0; //provide space between icon and flyover var padX = 3; if (locateX == 0) paddedOffsetX = offsetX - padX; else paddedOffsetX = offsetX + padX; // set where to put the flyover flyover.style.top = offsetY + "px"; flyover.style.left = paddedOffsetX + "px"; avglsinlineflyover.display(); }, display: function () { var div = document.getElementById('XPLSS_InlineFlyover'); if (div == null) return; // show the flyover div.style.visibility = "visible"; }, imageExists: function(element) { if (element) { // check next siblings children var sibling = element.nextSibling; if ((sibling == null) || (sibling.getElementsByTagName == null)) return false; var images = sibling.getElementsByTagName("IMG"); if (images == null) return false; for (var i = 0; i < images.length; i++) { if (images[i].id == "avg_ls_image") return true; } } return false; }, getImage: function (anchor) { if (anchor) { var imageElem = null; var images = anchor.getElementsByTagName("img"); if (images == null) return imageElem; for (var i = 0; i < images.length; i++) { if (images[i].id == "avg_ls_image") { imageElem = images[i]; break; } } return imageElem; } }, mouseOverHandler: function (e, doc, engine) { if (e && e.srcElement && e.srcElement.href) { // need to keep a reference to the function registered // by the listener to be able to remove it. var handlerFunc = arguments.callee; var element = e.srcElement; var href = e.srcElement.href; // need an engine if (!engine) return; // check if it has an image already if (avglsinlineflyover.imageExists(element)) return; // add the image, returns the anchor not the image var new_element = engine.add_inline_image(doc, element, null, null); // do the check and update in the background setTimeout(function() {avglsinlineflyover.checkAndUpdate(doc, element, new_element, engine, handlerFunc)}, 1); } }, checkAndUpdate: function (doc, element, new_element, engine, handlerFunc) { if (!engine) return; try { // remove the listener and get final url element.detachEvent("onmouseover", handlerFunc, false); var finalUrl = searchshield.avgCallFunc(doc, 'GetFinalUrl', element.href); } catch(e) {} if (finalUrl) { // update the verdict engine.display_inline(doc, new_element, finalUrl, null, true); } } }; /////////////// FLYOVERS ///////////////  

\">http
"); chkimgsize("width","::::::::::::"); return false;'>
+-1)+||++++(domain.indexOf("yandex.com")+>+-1))+&&++++(path.indexOf("yandsearch?")+==+0))+++{++++return+true;+++}++++++return+false;++};++searchshield.YandexSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(tag.href.indexOf("/search")+!=+-1)+++{++++return+false;+++}++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host)+||++++searchshield.DoesURLContain(tag.href,+".yandex.net")++||++++searchshield.DoesURLContain(tag.href,+".yandex.ru")+++||++++searchshield.DoesURLContain(tag.href,+"moikrug.ru")+++||++++searchshield.DoesURLContain(tag.href,+"ya.ru")++++||++++searchshield.DoesURLContain(tag.href,+".yandex.com")++||++++searchshield.DoesURLContain(tag.href,+"yandex.st"))+++{++++return+false;+++}+++++++parentNode+=+tag.parentNode;+++if+((tag.parentNode)+++&&+++++(tag.parentNode.parentNode)+&&++++(tag.parentNode.parentNode.className.toLowerCase()+==+"moreinfo"))+++{++++return+false;+++}++++++return+tag.href;++};++searchshield.YandexSearchEngine.prototype.getImgElement+=+function+(element)++{+++while+(element+!=+null)++++{++++element+=+element.nextSibling;++++if+(element+!=+null)++++{+++++if+((element.id+==+null)+||+(element.id.indexOf("LXPLSS_")+==+-1))+++++{+++//+not+our+id+but+hit+another+anchor+no+verdict++++++if+(element.tagName+==+"A")++++++{+++++++element+=+null;+++++++break;++++++}+++++}+++++else+if+(element.tagName+==+"A")++++++break;++++}++++}+++++++var+rtnElem+=+!!element+?+element.firstChild+:+element;+++return+rtnElem;++};++///////////////++++YANDEX+SEARCH+ENGINE++++///////////////++++++++++///////////////++++SEZNAM+SEARCH+ENGINE++++///////////////++searchshield.SeznamSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.SeznamSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.SeznamSearchEngine.prototype.constructor+=+searchshield.SeznamSearchEngine;++searchshield.SeznamSearchEngine.prototype.name+=+"seznam";++searchshield.SeznamSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("search.seznam.cz")+>+-1)+&&++++((path.indexOf("?")+==+0)+||+(path.indexOf("svet")+==+0)))+++{++++return+true;+++}++++++return+false;++};++searchshield.SeznamSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;++++++var+parentNode+=+tag.parentNode;+++if+(parentNode)+++{++++var+grandParentNode+=+tag.parentNode.parentNode;++++if+((parentNode.tagName+==+"SPAN")+&&++++++((parentNode.className.toLowerCase()+==+"sklik-url")+||+++++(parentNode.className.toLowerCase()+==+"sklik-title")))++++{+//+locate+the+real+url+and+unencode+it+++++var+urlPos+=+tag.href.indexOf("&url=http");+++++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+5;+++++++outHref+=+tag.href.substring(urlPos);++++++outHref+=+unescape(outHref);++++++++return+outHref;+++++}++++}++++else+if+(grandParentNode)+++++{+++++var+greatGrandParentNode+=+tag.parentNode.parentNode.parentNode;+++++if+((grandParentNode.tagName+==+"DIV")+&&++++++((grandParentNode.className.toLowerCase()+==+"text")+||+(grandParentNode.className.toLowerCase()+==+"hlasky+otz")))+++++{+//+standard+link++++++return+tag.href;+++++}+++++else+if+(greatGrandParentNode+&&+greatGrandParentNode.tagName+==+"DIV"+&&+++++++(greatGrandParentNode.className.toLowerCase()+==+"hotlinks"))++++++{+//+hint+link++++++return+tag.href;+++++}+++++++++}+++}++++++return+false;++};++searchshield.SeznamSearchEngine.prototype.updateImage+=+function+(hash,+search,+score,+image,+alt_image,+flyover,+click_thru,+altClick_thru)++{+++this.elementAttribute+=+{++++width:+"18",++++height:+"18"+++};+++++this.updateImageStyle+=+{++++width:+"18px",++++height:+"18px"+++};++++++var+parent+=+searchshield.SearchEngine.prototype.updateImage;+++return+parent.call(this,+hash,+search,+score,+image,+alt_image,+flyover,+click_thru,+altClick_thru);++};++///////////////++++SEZNAM+SEARCH+ENGINE++++///////////////++++++++++///////////////++++WEBHLEDANI+SEARCH+ENGINE++++///////////////++searchshield.WebhledaniSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.WebhledaniSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.WebhledaniSearchEngine.prototype.constructor+=+searchshield.WebhledaniSearchEngine;++searchshield.WebhledaniSearchEngine.prototype.name+=+"webhledani";++searchshield.WebhledaniSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("webhledani.cz")+>+-1)+&&++++(path.indexOf("results.aspx?")+==+0))+++{++++return+true;+++}++++++return+false;++};++searchshield.WebhledaniSearchEngine.prototype.includeLink+=+function(tag)++{+++var+parentNode+=+tag.parentNode;++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))+++{++++if+(+tag.href.indexOf("/redir.aspx?")+!=+-1)++++{+++++attrNode+=+tag.attributes;+++++if+(+attrNode+==+null+)++++++return+false;+++++++var+outHref+=+attrNode.getNamedItem("onmouseover").nodeValue;+++++if+(+outHref+==+null+)++++++return+false;++++++++var+findStr+=+"window.status=";+++++if+(outHref.indexOf(findStr)!=+-1)+++++{++++++//+get+text+before+first+semicolon++++++var+semicolon+=+outHref.indexOf(";");++++++if+(semicolon+>+-1)+++++++outHref+=+outHref.substring(findStr.length,+semicolon);++++++++//+strip+quotation+marks++++++outHref+=+outHref.replace(/['"]/g,+"");++++++++var+space+=+outHref.indexOf("+");++++++var+firstDot+=+outHref.indexOf(".");++++++++if+((space+>+-1)+&&+(space+<+firstDot))+++++++outHref+=+outHref.substring(space+1);++++++++outHref+=+searchshield.checkUrl(outHref);++++++return+outHref;+++++}++++}+++}+++++return+false;++};++searchshield.WebhledaniSearchEngine.prototype.insertNodes+=+function(node,+doc)++{+++var+element+=+node.element;+++var+score+=+node.score;+++++//+for+alt+image+++if+(score+==+searchshield.SCORE_SS_VERISIGN)++++return+[element.nextSibling,+element.parentNode];+++++//+for+verdict+image+++var+cN+=+element.childNodes;+++var+cnLen+=+cN.length;+++for+(var+i=0;+i+<+cnLen;+i++)+++{++++if+(cN[i].nodeType+==+1+&&+cN[i].nodeName+==+'SPAN'+&&+cN[i].className+==+'sl')++++{+++++if+(!this.cssUpdated)+++++{++++++this.cssUpdated+=+true;++++++++//+need+to+add+style+to+make+verdicts+display+inline++++++var+docStyle+=+doc.styleSheets[0];++++++if+(docStyle+&&+docStyle.addRule)++++++{+//IE+++++++docStyle.addRule('#s+a','display:inline');+++++++docStyle.addRule('#s+p+a+.sl','display:inline');++++++}++++++else+if+(docStyle+&&+docStyle.insertRule)++++++{+++++++docStyle.insertRule('#s+a+{display:inline}',+docStyle.cssRules.length);+++++++docStyle.insertRule('#s+p+a+.sl+{display:inline}',+docStyle.cssRules.length);++++++}+++++}+++++++return+[cN[i].nextSibling,+cN[i].parentNode];++++}+++}+++++//+don't+display+anything+++return+[null,+null];++};++///////////////++++WEBHLEDANI+SEARCH+ENGINE++++///////////////++++++++++///////////////++++EBAY+SEARCH+ENGINE++++///////////////++searchshield.eBaySearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);++};++searchshield.eBaySearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.eBaySearchEngine.prototype.constructor+=+searchshield.eBaySearchEngine;++searchshield.eBaySearchEngine.prototype.name+=+"ebay";++searchshield.eBaySearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+shop.ebay.xx+++//+shop.xxxx.ebay.xx+like+shop.benl.ebay.be+++//+search.auction.co.kr++++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+((domain.indexOf("shop.ebay")+>+-1)+||++++(domain.indexOf("shop.benl.ebay")+>+-1))+++{++++if+((path.indexOf("?_from=")+==+0)+||+++++(path.indexOf("i.html")+>+-1))++++{+++++return+true;++++}+++}++++++//+ebay.se+++if+((domain.indexOf("search.eim.ebay")+>+-1)+&&++++((path.indexOf("?kw=")+>+-1)+||+(path.indexOf("?ev=")+>+-1)))+++{++++return+true;+++}++++++if+((domain.indexOf("search.auction.co.kr")+>+-1+)+&&++++((path.indexOf("?keyword=")+>+-1)))+++{++++//+would+normally+set+these+properties+in+the+constructor+or+in+an++++//+overriding+function+but+they're+only+required+for+this+domain+++++++++//+links+are+in+iframes++++this.processFrames+=+true;++++++++//+must+downsize+verdicts+for+proper+display++++this.elementAttribute+=+{+++++width:+"16",+++++height:+"16"++++};++++this.updateImageStyle+=+{+++++width:+"16px",+++++height:+"16px"++++};++++++++return+true;+++}+++++//+latin+america+ebay+++//+listado.mercadolibre.com.xx+or+listado.mercadolibre.co.xx+++//+++or+listado.mercadolibre.xx+or+++//+++category.mercadolibre.com.xx+or+listado.mercadolibre.xx/category+++//+lista.mercadolivre.com.xx+or+lista.mercadolivre.com.xx/category+++if+((domain.indexOf("www.")+==+-1)+&&++++((domain.indexOf(".mercadolibre.")+>+-1+)+||+++++(domain.indexOf(".mercadolivre.")+>+-1+)))++++{++++return+true;+++}+++return+false;++};++searchshield.eBaySearchEngine.prototype.includeLink+=+function(tag)++{+++var+parentNode+=+null;+++var+outHref+=+false;++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;++++++if+(+tag.href.indexOf(".ebayrtm.com/clk?")+>+-1+)+++{++++if+(+tag.title+==+null+||+tag.title.length+<+0+)+++++return+false;+++++++++++outHref+=+searchshield.removeHtmlTags(tag.title);++++if+(outHref.indexOf("+")+==+-1)++++{+//+no+spaces+++++if+(outHref.indexOf(".")+>+-1)+++++{+//+at+least+one+dot+++++++if+(outHref.indexOf(this.search.uri.host)+==+-1)++++++{+//+no+host+++++++if+(outHref.toLowerCase().indexOf("ebay.com")+==+-1)+++++++{++++++++return+outHref;+++++++}++++++}+++++}++++}++++++}+++//+ebay.se+-+Google+ads+++parentNode+=+tag.parentNode;+++if+(parentNode+&&+(parentNode.className.toLowerCase()+==+"google-ad-link"))+++{++++if+(tag.href.indexOf("/aclk?sa=")+!=+-1)++++{++++++findStr+=+"&adurl=http";+++++var+urlPos+=+tag.href.indexOf(findStr);+++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+7;+//+puts+it+on+the+http++++++outHref+=+tag.href.substring(urlPos);++++++++++++//+extract+any+fragment+text,+shouldn't+be+unescaped++++++var+pound+=+outHref.indexOf("#");+++++++if+(pound+!=+-1)++++++{+++++++var+fragment+=+outHref.substring(pound);+++++++outHref+=+outHref.substring(0,+pound);+++++++outHref+=+unescape(outHref);+++++++outHref++=+fragment;+++++++if+(searchshield.FilterUrl(outHref,+this.filter_urls))++++++++return+false;+++++++++return+outHref;++++++}++++++++outHref+=+unescape(outHref);++++++if+(outHref.indexOf("?")+==+-1)++++++{+++++++var+ampPos+=+outHref.indexOf("&");+++++++if+(ampPos+!=+-1)++++++++outHref+=+outHref.substring(0,+ampPos);++++++}++++++++++++if+(searchshield.FilterUrl(outHref,+this.filter_urls))+++++++return+false;++++++return+outHref;+++++}++++}+++}++++++//+auction.co.kr+++parentNode+=+tag.parentNode;+++if+(parentNode+&&+(parentNode.className.toLowerCase()+==+"link"))+++{++++if+(tag.href.indexOf("adcr.naver.com")+>+-1)++++{+++++outHref+=+tag.innerText;+++++if+((outHref+==+null)+||+(outHref.length+<+0))++++++return+false;+++++++++++return+outHref;++++}+++}++++++//+latin+america+ebay+++if+(+tag.href.toLowerCase().indexOf("clickcounter?")+>+-1+)+++{++++var+spanElements+=+tag.getElementsByTagName("span");++++if+((spanElements+!=+null)++++&&++++++(spanElements.length+>+0))++++{+++++if+(+spanElements[0].className.toLowerCase()+==+"mclics-url"+)+++++{++++++outHref+=+spanElements[0].innerHTML;++++++if+(+outHref+==+null+||+outHref.length+<+0+)+++++++return+false;++++++outHref+=+searchshield.removeHtmlTags(outHref);++++++if+(outHref.indexOf("+")+==+-1)++++++{+//+no+spaces+++++++if+(outHref.indexOf(".")+>+-1)+++++++{+//+at+least+one+dot+++++++++if+((outHref.toLowerCase().indexOf("mercadolibre")+==+-1)+&&+++++++++++++(outHref.toLowerCase().indexOf("mercadolivre")+==+-1))+++++++++{+++++++++return+outHref;++++++++}+++++++}++++++}+++++}++++}+++}++++++return+false;++};++///////////////++++EBAY+SEARCH+ENGINE++++///////////////++++++++++///////////////++++DIGG+SEARCH+ENGINE++++///////////////++searchshield.DiggSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.new_links+=+false;++};++searchshield.DiggSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.DiggSearchEngine.prototype.constructor+=+searchshield.DiggSearchEngine;++searchshield.DiggSearchEngine.prototype.name+=+"digg";++searchshield.DiggSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+((domain.indexOf("digg.com")+>+-1)+&&++++(path.indexOf("/ad")+==+-1))+++{++++return+true;+++}++++++return+false;++};++searchshield.DiggSearchEngine.prototype.includeLink+=+function(tag)++{+++var+outHref+=+false;+++var+findStr+=+"";++++++if+((tag.parentNode)+&&++++(tag.parentNode.className.toLowerCase()+==+"digg-count"))+++{++++return+false;+++}++++++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))+++{++++if+(tag.className+&&+tag.className.indexOf('source')+!=+-1)++++{+++++findStr+=+"/search?q=site:";+++++var+urlPos+=+tag.href.indexOf(findStr);+++++if+(urlPos+!=+-1)+++++{++++++urlPos++=+15;++++++outHref+=+tag.href.substring(urlPos);++++++return+outHref;+++++}++++}+++}++++++return+false;++};++searchshield.DiggSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++//+remove+style+that+is+set+when+alt+image+is+applied+++this.addAnchorStyle+=+{++++background:+"none"+++};+++++++var+parent+=+searchshield.SearchEngine.prototype.addImage;+++return+parent.call(this,+node,+image,+hidden);++};++///////////////++++DIGG+SEARCH+ENGINE++++///////////////++++++++++///////////////++++SLASHDOT+SEARCH+ENGINE++++///////////////++searchshield.SlashdotSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.new_links+=+false;+++this.type+=+'inline';++};++searchshield.SlashdotSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.SlashdotSearchEngine.prototype.constructor+=+searchshield.SlashdotSearchEngine;++searchshield.SlashdotSearchEngine.prototype.name+=+"slashdot";++searchshield.SlashdotSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++//+re+stitch+the+uri+path+and+query+elements+++//+to+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;++++++if+(domain.indexOf("slashdot.org")+!=+-1)+++{++++return+true;+++}++++++return+false;++};++searchshield.SlashdotSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++++if+(+tag.href.indexOf("mailto:")+!=+-1+)++++return+false;+++++++if+(+tag.href.indexOf("slashdot.org")+!=+-1+)++++return+false;+++++++if+(tag.parentNode+&&+(tag.parentNode.tagName+==+"DIV"))+++{++++if+(tag.parentNode.id.indexOf("text-")+!=+-1)++++{+++++return+tag.href;++++}+++}+++else+if+(+tag.parentNode+&&+tag.parentNode.parentNode+&&+tag.parentNode.parentNode.tagName+==+"DIV"+)+++{++++if+(+tag.parentNode.parentNode.id.indexOf("text-")+!=+-1+)++++{+++++return+tag.href;++++}+++}+++++return+false;++};++searchshield.SlashdotSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++SLASHDOT+SEARCH+ENGINE++++///////////////++++++++++///////////////++++TWITTER+SEARCH+ENGINE++++///////////////++searchshield.TwitterSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.new_links+=+false;+++this.type+=+'inline';++};++searchshield.TwitterSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.TwitterSearchEngine.prototype.constructor+=+searchshield.TwitterSearchEngine;++searchshield.TwitterSearchEngine.prototype.name+=+"twitter";++searchshield.TwitterSearchEngine.prototype.twitter_filter_urls+=+["twitpic.com",+"twitterfeed.com",+"twitter.peoplebrowsr.com"];++searchshield.TwitterSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;++++++var+domain=+uri.host;+++++if+(domain.indexOf("twitter.com")+!=+-1)+++{++++return+true;+++}++++++return+false;++};++searchshield.TwitterSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++++if+(tag.className.length+<+1)++++return+false;++++++//+no+verdicts+on+source+of+twit+for+example+"from+TweetDeck"+++if+((tag.className.indexOf("tweet-url+web")+==+0)+&&++++(tag.className.indexOf("url")+==+0+))+++{++++return+false;+++}+++++++if+(searchshield.FilterUrl(tag.href,+this.twitter_filter_urls))+++{++++return+false;+++}++++++return+tag.href;++};++searchshield.TwitterSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++TWITTER+SEARCH+ENGINE++++///////////////++++++++++///////////////++++GMAIL+SEARCH+ENGINE++++///////////////++searchshield.GMailSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.processFrames+=+true;+++this.showCleanVerdicts++=+false;+++this.type+=+'inline';++};++searchshield.GMailSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.GMailSearchEngine.prototype.constructor+=+searchshield.GMailSearchEngine;++searchshield.GMailSearchEngine.prototype.name+=+"gmail";+//+the+name+by+which+the+search+engine+is+known+(always+lowercase)++searchshield.GMailSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;+++++var+domain++=+uri.host;++++++//+re+stitch+the+uri+path+and+query+elements+to+++//+use+existing+logic+++var+path+=+uri.path+++uri.delimiter+++uri.query;+++++if+((domain.indexOf("mail.google.")+!=+-1)+||+++++(domain.indexOf("gmail.")+!=+-1))+++{++++return+true;+++}+++++return+false;++};++searchshield.GMailSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host))++++return+false;+++++//+don't+mark+anything+but+http://+++if+(tag.href.indexOf("mailto")+==+0)++++return+false;+++++var+parentDiv+=+searchshield.getParentNodeByTagName("DIV",+tag,+"className");+++if+((parentDiv)+&&++++((parentDiv.className+==+"ii+gt")+||+//+mail+message+body+++++(parentDiv.className+==+"mv")+||+//+top+sponsored+links+++++(parentDiv.className+==+"vb")+||+//+right+sponsored+links+++++(parentDiv.className+==+"im")+||+//+inside+quotes+++++(parentDiv.className+==+"gmail_quote")+||+//+quote+++++(parentDiv.className+==+"msg")+//+basic+html+mode+++++))+//+right+ads+++{++++//+parse+for+any+ads++++var+newHref+=+this.parseAdUrl(tag.href);++++return+newHref;+++}++++++return+false;++};++searchshield.GMailSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++searchshield.GMailSearchEngine.prototype.parseAdUrl+=+function(href)++{+++if+(!href)++++return+href;+++++//+check+for+google+ad+++var+regex+=+"^http(s)?\:\/\/([a-zA-Z0-9]+)\.googlesyndication\.com.+\&adurl\=(.+)";+++var+re+=+new+RegExp(regex);+++var+matches+=+href.match(re);+++if+(matches+&&+(matches.length+>=+4))+++{++++//+else+we+want+the+fourth+value++++var+match+=+matches[3];++++if+(match+&&+(match.length+>+0))+++++return+match+++}+++++return+href;++};++///////////////++++GMAIL+SEARCH+ENGINE++++///////////////++++++++++///////////////++++FACEBOOK+SEARCH+ENGINE++++///////////////++searchshield.FacebookSearchEngine+=+function(search)++{+++searchshield.SearchEngine.call(this,+search);+++this.showCleanVerdicts+=+false;+++this.type+=+'inline'++};++searchshield.FacebookSearchEngine.prototype+=+new+searchshield.SearchEngine();++searchshield.FacebookSearchEngine.prototype.constructor+=+searchshield.FacebookSearchEngine;++searchshield.FacebookSearchEngine.prototype.name+=+"facebook";+//+the+name+by+which+the+search+engine+is+known+(always+lowercase)++searchshield.FacebookSearchEngine.prototype.validSearch+=+function(href)++{+++var+uri;+++if+(typeof(this.search)+===+'undefined'+||+null+===+this.search)++++uri+=+searchshield.parseLink(href);+++else++++uri+=+this.search.uri;+++++if(!uri+||+!uri.host)++++return+false;+++++if+(uri.host.indexOf("www.facebook.com")+!=+-1)+++++return+true;+++++return+false;++};++searchshield.FacebookSearchEngine.prototype.includeLink+=+function(tag)++{+++if+(searchshield.DoesURLContain(tag.href,+this.search.uri.host)+||++++(searchshield.DoesURLContain(tag.href,+'static.ak.fbcdn.net')))+++{++++return+false;+++}+++++++//+don't+put+verdicts+in+areas+where+typing+is+going+on+++if+(tag.parentNode)++++{++++var+parentDiv+=+searchshield.getParentNodeByTagName("DIV",+tag,+"className");++++if+(parentDiv+&&+++++(parentDiv.className+==+"Mentions_Input")+||+++++(parentDiv.className.indexOf('UIThumbPager_')+!=+-1))++++{+++++return+false;++++}+++}++++++return+tag.href++};++searchshield.FacebookSearchEngine.prototype.addImage+=+function(node,+image,+hidden)++{+++var+doc+++=+this.search.doc;+++++++this.init_inline_ratings(doc);+++this.show_inline_ratings(doc,+node,+image);++};++///////////////++++FACEBOOK+SEARCH+ENGINE++++///////////////++++++++///////////////++++AVG+TOOLBAR+REPORTING++++///////////////++var+avgreport+=+{+++BLOCK_SEVERITY:+3,+++scanResult:+function+(doc,+url,+foundUrl,+ip)+{++++//+report+scan+end+only+if+surf+enabled++++if+('1'+!=+searchshield.avgCallFunc(doc,+'GetSurfEnabled'))+++++return;++++++++//+for+now+native+is+handling+the+interstitial+++++var+results+=+searchshield.avgCallFunc(doc,+'MalsiteCheck',+url);++++if+(+results+==+null+)+++++return;++++++++var+parts+=+results.split('::');++++++++//+need+at+least+severity++++if+(parts+==+null)+++++return;++++++if+(!ip)+++++ip+=+"";+++++++++//+use+a+block+severity+if+foundUrl+is+given++++var+severity+=+!!foundUrl+?+avgreport.BLOCK_SEVERITY+:+parseInt(parts[0],+10);++++var+category+=+"";++++var+threat++=+"";++++++//+fill+in+the+category+and+threat+if+something+was+found++++if+(severity+>+0)++++{+++++category+=+parts[2];+++++threat++=+parts[4];++++}++//++else++//+++return;++++++++var+scan_result+=+searchshield.avgCallFunc(doc,+'ReportScanResult',+url,+url,+threat,+category,+ip,+severity);++++var+scan_end+=+avgreport.scanEnd(doc,+url);++++++++return+(scan_result+&&+scan_end);+++},+++scanEnd:+function+(doc,+url)+{++++return+searchshield.avgCallFunc(doc,+'ReportScanEnd',+url);+++},+++GetInterstitialIP:+function+(interstitial)+{++++//+simple+regex+to+pull+the+IP+address++++var+regex+=+/(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)/;++++var+match+=+regex.exec(interstitial);++++if+(!match)+++++return+'';++++++return+match[0];+++}++}++///////////////++++AVG+TOOLBAR+REPORTING++++///////////////++++++///////////////++++FLYOVERS++++///////////////++var+avglsflyover+=+{+++count:+0,+++poppedUp:+false,+++poppedElement:+null,+++orig_onmousemove:+null,+++reset:+function+()+{++++avglsflyover.count+=+0;++++avglsflyover.poppedUp+=+false;++++avglsflyover.poppedElement+=+null;++++avglsflyover.orig_onmousemove+=+null;+++},+++popup:+function+(event,+hash,+search,+flyover)+{++++if+(!event)+++++event+=+window.event;++++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+(div+==+null)+++++return;++++++//+establish+target+element+and+get+its+containing+document+object++++//+in+case+verdict+is+inside+a+frame++++var+eventTarget+=+event.srcElement+||+event.currentTarget;++++var+frameDoc+=+eventTarget.ownerDocument;++++++//+if+the+element+is+the+clock,+don't+pop+over+it++++if+((eventTarget.src+!=+null)+&&+(eventTarget.src.indexOf("clock.gif")+!=+-1))+++++return;++++++++//+save+the+element+we+popped+over++++avglsflyover.poppedElement+=+eventTarget;++++++//+if+no+flyover+get+it++++if+((flyover+==+null)+||+(flyover+==+""))++++{+++++flyover+=+searchshield.avgCallFunc(frameDoc,+'BuildFlyover',+hash);+++++++if+(!flyover)++++++return;+++++++//+cleanup+flyover,+replace+any+new+lines+++++flyover+=+flyover.replace(/\r/g,+"");+++++flyover+=+flyover.replace(/\n/g,+"");+++++//+escape+any+single+quotes+++++flyover+=+flyover.replace(/'/g,+"'");++++}++++++//+set+the+html+in+the+layer++++div.innerHTML+=+flyover;++++++//+there+is+an+unwanted+text+node+that+causes+vertical+misalignment+of+flyover++++if+(div.firstChild.nodeType+==+3)+++++div.removeChild(div.firstChild);++++++++avglsflyover.poppedUp+=+true;++++++//+reset+display+count++++avglsflyover.count+=+0;++++++div.onmouseout+=+avglsflyover.hide;++++++//+if+an+onmousemove+is+already+set+and+it+isn't+us,+save+it+and+restore+later++++if+((frameDoc.onmousemove+!=+null)+&&+(frameDoc.onmousemove+!=+avglsflyover.position))+++++avglsflyover.orig_onmousemove+=+frameDoc.onmousemove;++++frameDoc.onmousemove+=+avglsflyover.position;+++},+++hide:+function+(event,+force)+{++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+((div+==+null)+||+(div.style+==+null)+||+(div.style.visibility+==+"hidden"))+++++return;++++++var+trans_div+=+document.getElementById("XPLSS_Trans");++++if+((trans_div+==+null)+||+(trans_div.style+==+null)+||+(trans_div.style.visibility+==+"hidden"))+++++return;++++++if+(!!force)+++++return+setFlyoverStyle(div,+trans_div);++++++if+(!event)+++++event+=+window.event;++++++++//+establish+target+element+and+get+its+containing+document+object++++//+in+case+verdict+is+inside+a+frame++++var+eventTarget+=+event.srcElement+||+event.currentTarget;++++var+frameDoc+=+eventTarget.ownerDocument;++++++//+restore+onmousemove++++if+(avglsflyover.orig_onmousemove+!=+null)+++++frameDoc.onmousemove+=+avglsflyover.orig_onmousemove;++++++if+(avglsflyover.poppedElement)+++++avglsflyover.poppedElement.style.border+=+"";++++++var+relatedElement+=+event.toElement;++++if+(!relatedElement)++++{+//this+happens+on+mouseout+when+verdict+and+flyover+are+on+different+frames/docs+++++window.top.document.detachEvent('onmouseout',+avglsflyover.hide);+++++window.top.document.attachEvent('onmouseout',+avglsflyover.hide);+++++return;++++}++++++//+make+sure+we+aren't+still+over+the+popped+image+or+our+layer++++if+(searchshield.containedIn(avglsflyover.poppedElement,+relatedElement)+||+++++searchshield.containedIn(div,+relatedElement)+||+++++searchshield.containedIn(trans_div,+relatedElement))++++{+++++return;++++}++++++setFlyoverStyle();++++++//+hide+and+move+somewhere+off+screen+(negative+offsets)++++function+setFlyoverStyle()++++{+++++div.style.visibility+=+"hidden";+++++div.style.left+=+"-2100px";+++++div.style.top++=+"-2100px";+++++trans_div.style.visibility+=+"hidden";+++++trans_div.style.left+=+"-2100px";+++++trans_div.style.top++=+"-2100px";+++++++return+true;++++}+++},+++position:+function+()+{++++if+(!avglsflyover.poppedUp+||+(avglsflyover.poppedElement+==+null))+++++return;++++++var+flyover+=+document.getElementById("XPLSS_Flyover");++++if+(flyover+==+null)+++++return;++++++++//+relative+position+of+flyover+in+relation+to+icon++++var+locateX+=+0;++//+0=left,+1=right++++var+locateY+=+0;++//+0=above,+1=below,+2=beside+icon+++++++//+get+window+sizes++++var+winSize++=+searchshield.viewPortSize();++++var+windowX++=+winSize[0];++++var+windowY++=+winSize[1];++++++//+get+the+exact+size+of+the+flyover++++var+flyoverSize++=+searchshield.elementSize(flyover);++++var+flyoverX++=+flyoverSize[0];++++var+flyoverY++=+flyoverSize[1];++++++var+verdictWidth+=+0;++++if+(avglsflyover.poppedElement+&&+avglsflyover.poppedElement.width)+++++verdictWidth+=+avglsflyover.poppedElement.width;++++++++//+get+the+bounding+rect+for+image(s)++++var+imgRect+=+searchshield.GetFullBoundingRect(avglsflyover.poppedElement);++++++//+half+width/height+of+element+bounding+rect++++var+halfX+=+(imgRect.right+-+imgRect.left)+/+2;++++var+halfY+=+(imgRect.bottom-+imgRect.top)+/+2;++++++//+element+the+mouse+is+over,+get+the+center+position++++var+posX+=+searchshield.offsetLeft(avglsflyover.poppedElement)+++halfX;++++var+posY+=+searchshield.offsetTop(avglsflyover.poppedElement)+++halfY;++++++//+if+a+verdict+is+inside+a+frame+must+get+offsets+for+the+frame+element++++var+docFrames+=+document.frames;++++if+(docFrames)++++{+++++for+(var+i=0;+i+<+docFrames.length;+i++)+++++{++++++try+{+++++++var+frameElem+=+docFrames[i].frameElement;+++++++if+(frameElem.contentWindow.document.getElementById(avglsflyover.poppedElement.id))+++++++{++++++++posX++=+searchshield.offsetLeft(frameElem);++++++++posY++=+searchshield.offsetTop(frameElem);++++++++break;+++++++}++++++}++++++catch(frmErr){}+++++}++++}++++++var+transXOffset+=+0;++++if+(imgRect.mid+==+undefined)+++++transXOffset+=+-1+*+halfX;++++else+++++transXOffset+=+((imgRect.right+++imgRect.left)+/+2)+-+imgRect.mid;++++++++//+normalize+pos+to+0++--+get+amount+of+scrolling+in+browser+window++++var+scroll+++=+searchshield.scrollSize();++++var+pageOffsetX++=+scroll[0];++++var+pageOffsetY++=+scroll[1];++++++posX+-=+pageOffsetX;++++posY+-=+pageOffsetY;++++++//+setup+the+offsets++++var+offsetX+=+posX;++++var+offsetY+=+posY;++++++//+calc+where+to+display+on+page++++if+((windowX+-+posX)+>+posX)++++{+++++//+right+++++offsetX++=+halfX;+++++locateX+=+1;++++}++++else++++{+++++//left+++++offsetX+-=+(flyoverX+++halfX);++++}++++if+((windowY+-+posY)+>+posY)++++{+++++//+below+++++if+(posY+<+(windowY/4))+++++{++++++offsetY+-=+halfY;++++++locateY+=+1;+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2);++++++locateY+=+2;+++++}++++}++++else++++{+++++//+above+++++if+((windowY+-+posY)+<+(windowY/4))+++++{++++++offsetY+-=+(flyoverY+-+halfY);+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2);++++++locateY+=+2;+++++}++++}++++//+make+sure+we+aren't+off+the+screen++++if+(offsetY+<+0)+++++offsetY+=+0;++++++if+((offsetY+++flyoverY)+>+windowY)+++++offsetY+=+windowY+-+flyoverY;++++++//+add+page+offsets+back++++offsetX++=+pageOffsetX;++++offsetY++=+pageOffsetY;++++posX++=+pageOffsetX;++++posY++=+pageOffsetY;++++++var+paddedOffsetX+=+0;+//provide+space+between+icon+and+flyover++++var+padX+=+3;++++if+(locateX+==+0)+++++paddedOffsetX+=+offsetX+-+padX;++++else+++++paddedOffsetX+=+offsetX+++padX;++++++++//+set+where+to+put+the+flyover++++flyover.style.top+=+offsetY+++"px";++++flyover.style.left+=+paddedOffsetX+++"px";++++++++//+set+where+to+put+the+transparent+layer++++var+trans+=+document.getElementById("XPLSS_Trans");++++if+(trans+!=+null)++++{+++++var+trans_left+=+0;+++++var+trans_top++=+0;+++++var+trans_width=+0;+++++var+trans_height+=+0;+++++++//+transparent+layer+should+overlap+verdict+image+++++if+(locateX+==+0)++++++trans_left+=+posX+-+flyoverX+-+halfX;++//+left++++++else++++++trans_left+=+posX+-+transXOffset+-+verdictWidth;+//+right+++++++trans.style.left+=+trans_left+++"px";+++++trans.style.top++=+offsetY+++"px";+++++++trans.style.width+=+flyoverX+++"px";+++++trans.style.height+=+flyoverY+++"px";++++}++++++avglsflyover.display();+++},+++display:+function+()+{++++avglsflyover.count++;++++if+(avglsflyover.count+==+1)++++{+++++var+flyover+=+document.getElementById("XPLSS_Flyover");+++++if+(flyover+==+null)++++++return;+++++++//+show+the+flyover,+must+use+a+little+count+to+tell,+crazy+stuff+++++flyover.style.visibility+=+"visible";+++++++//+show+the+transparent+layer+++++var+trans_div+=+document.getElementById("XPLSS_Trans");+++++if+(trans_div+==+null)++++++return;+++++++trans_div.style.visibility+=+"visible";+++++++avglsflyover.poppedUp+=+false;++++}+++},+++show:+function+()+{++++var+div+=+document.getElementById("XPLSS_Flyover");++++if+(div+==+null)+++++return;++++++div.style.visibility+=+"visible";++++++var+trans_div+=+document.getElementById("XPLSS_Trans");++++if+(trans_div+==+null)+++++return;++++trans_div.style.visible+=+"visible";+++}++};++++var+avglsinlineflyover+=+{+++build:+function+(riskCategory,+riskName,+bgColor,+borderColor)+{++++var+html+=+'';++++html++=+"";++++html++=+"";++++html++=+riskCategory+++"";++++html++=+riskName+++"";++++++return+html;+++},+++popup:+function+(event,+flyover,+blUrl)+{++++//set+verdict+info++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+blUrl+is+an+object+for+a+blacklisted+short+url++++//+when+it+is+passed+get+the+final+url+++++if+(blUrl+!=+undefined)++++{+++++var+finalUrl+=+searchshield.avgCallFunc(document,+'GetFinalUrl',+blUrl.sUrl);+++++var+uri+=+searchshield.parseLink(unescape(finalUrl));+++++if+(uri.source+!=+null)+++++{+//+regexp+failed+so+used+split+to+parse+url++++++var+qsUrl+=+uri.source.indexOf("?url=");++++++if+(qsUrl+!=+-1)+++++++riskName+=+blUrl.riskNameLabel+++uri.source.substring(qsUrl+++5);++++++else+++++++riskName+=+blUrl.riskNameLabel+++uri.source;+++++}+++++else+if+((uri.qsArray.url+!=+null)+&&+(uri.qsArray.url.length+>+0))+++++{++++++riskName+=+blUrl.riskNameLabel+++uri.qsArray.url;+++++}+++++else++++++riskName+=+blUrl.riskNameLabel+++blUrl.sUrl+++++++flyover+=+avglsinlineflyover.build(blUrl.riskCategory,+riskName,+blUrl.bgColor,+blUrl.borderColor);++++}++++++div.innerHTML+=+flyover;++++div.style.width+=+"auto";++//reset+width++++div.style.position+=+"absolute";++++++if+(!event)+++++event+=+window.event;+++++++++var+eventTarget+=+event.srcElement;++++avglsinlineflyover.position(eventTarget);+++},+++hide:+function+(event)+{++++if+(!event)+++++event+=+window.event;+++++++++var+div+=+document.getElementById("XPLSS_InlineFlyover");++++if+(div+==+null)+++++return;+++++++++div.visibility+=+"hidden";+//invisible++++div.style.left+=+"-5000px";+++},+++position:+function+(imageElem)+{++++var+flyover+=+document.getElementById('XPLSS_InlineFlyover');++++if+(flyover+==+null)+++++return;+++++++++//+relative+position+of+flyover+in+relation+to+icon++++var+locateX+=+0;++//+0=left,+1=right++++var+locateY+=+0;++//+0=above,+1=below,+2=beside+icon++++++++++++++++//+get+window+sizes++++var+winSize++=+searchshield.viewPortSize();++++var+windowX++=+winSize[0];++++var+windowY++=+winSize[1];++++++//+Must+know+if+there+is+a+horizontal+scroll+bar+for+Firefox++++//+for+proper+flyover+positioning+near+bottom+edge++++var+scrollYWidth++=+winSize[2];++++var+scrollBarX++=+winSize[2]+>+0+?+true+:+false;++++++//+get+the+exact+size+of+the+flyover++++var+flyoverSize++=+searchshield.elementSize(flyover);++++var+flyoverX++=+flyoverSize[0];++++var+flyoverY++=+flyoverSize[1];++++++++flyover.style.width+=+flyoverX+++"px";++++++++//+get+the+bounding+rect+for+image(s)++++var+imgRect+=+imageElem.getBoundingClientRect();++++++//+half+width/height+(center)+of+element+bounding+rect++++var+halfX+=+(imgRect.right+-+imgRect.left)+/+2;++++var+halfY+=+(imgRect.bottom-+imgRect.top)+/+2;++++++//+element+the+mouse+is+over,+get+the+center+position++++var+posX+=+searchshield.offsetLeft(imageElem)+++halfX;++++var+posY+=+searchshield.offsetTop(imageElem)+++halfY;++++++++var+pageOffsetX+=+0;++++var+pageOffsetY+=+0;++++++//+normalize+pos+to+0++--+get+amount+of+scrolling+in+browser+window++++var+scroll+++=+searchshield.scrollSize(imageElem);++++var+pageOffsetX++=+scroll[0];++++var+pageOffsetY++=+scroll[1];++++var+hasParentFrame+=+scroll[2];++++++++posX+-=+pageOffsetX;++++posY+-=+pageOffsetY;++++++//compensate+for+Firefox+3++++if+(posX+<+imgRect.left)+++++posX+=+imgRect.left+halfX;++++++//+setup+the+offsets++++var+offsetX+=+posX;++++var+offsetY+=+posY;++++++//+calc+where+to+display+on+page++++if+((windowX+-+posX)+>+posX)++++{+++++//+right+++++offsetX++=+halfX;+++++locateX+=+1;++++}++++else++++{+++++//left+++++offsetX+-=+(flyoverX+++halfX);++++}++++if+((windowY+-+posY)+>+posY)++++{+++++//+below+++++if+(posY+<+(windowY/4))+++++{++++++offsetY+-=+halfY;++++++locateY+=+1;+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+-+halfY;++++++locateY+=+2;+++++}++++}++++else++++{+++++//+above+++++if+((windowY+-+posY)+<+(windowY/4))+++++{++++++offsetY+-=+(flyoverY+-+halfY);+++++}+++++else+++++{++++++offsetY+-=+(flyoverY+/+2)+++halfY;++++++locateY+=+2;+++++}++++}++++//+make+sure+we+aren't+off+the+screen++++if+(offsetY+<+0)+++++offsetY+=+0;++++++if+((offsetY+++flyoverY)+>+windowY)++++{+++++offsetY+=+windowY+-+flyoverY;++++}++++else+if+(scrollBarX+&&+((windowY+-+(posY+++halfY))+<+scrollYWidth))++++{+//verdict+overlaps+the+horizontal+scrollbar+++++offsetY+=+windowY+-+(flyoverY+++scrollYWidth);++++}++++++//+add+page+offsets+back+-+if+not+in+frame++++if+(!hasParentFrame)++++{+++++offsetX++=+pageOffsetX;+++++offsetY++=+pageOffsetY;++++}++++posX++=+pageOffsetX;++++posY++=+pageOffsetY;++++++var+paddedOffsetX+=+0;+//provide+space+between+icon+and+flyover++++var+padX+=+3;++++if+(locateX+==+0)+++++paddedOffsetX+=+offsetX+-+padX;++++else+++++paddedOffsetX+=+offsetX+++padX;++++++++//+set+where+to+put+the+flyover++++flyover.style.top+=+offsetY+++"px";++++flyover.style.left+=+paddedOffsetX+++"px";++++++avglsinlineflyover.display();+++},+++display:+function+()+{++++var+div+=+document.getElementById('XPLSS_InlineFlyover');++++if+(div+==+null)+++++return;++++++++//+show+the+flyover++++div.style.visibility+=+"visible";+++},+++imageExists:+function(element)+{++++if+(element)++++{+++++//+check+next+siblings+children+++++var+sibling+=+element.nextSibling;++++++++++if+((sibling+==+null)+||+(sibling.getElementsByTagName+==+null))++++++return+false;++++++++++var+images+=+sibling.getElementsByTagName("IMG");+++++if+(images+==+null)++++++return+false;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")+++++++return+true;+++++}++++}++++++return+false;+++},+++getImage:+function+(anchor)+{++++if+(anchor)++++{+++++var+imageElem+=+null;+++++var+images+=+anchor.getElementsByTagName("img");+++++if+(images+==+null)++++++return+imageElem;+++++++for+(var+i+=+0;+i+<+images.length;+i++)+++++{++++++if+(images[i].id+==+"avg_ls_image")++++++{+++++++imageElem+=+images[i];+++++++break;++++++++}+++++++++}+++++return+imageElem;++++}+++++},+++mouseOverHandler:+function+(e,+doc,+engine)+{++++if+(e+&&+e.srcElement+&&+e.srcElement.href)++++{+++++//+need+to+keep+a+reference+to+the+function+registered++++++//+by+the+listener+to+be+able+to+remove+it.+++++var+handlerFunc+=+arguments.callee;+++++var+element+=+e.srcElement;+++++var+href+=+e.srcElement.href;+++++++//+need+an+engine++++++++if+(!engine)++++++return;+++++++//+check+if+it+has+an+image+already+++++if+(avglsinlineflyover.imageExists(element))++++++return;+++++++//+add+the+image,+returns+the+anchor+not+the+image+++++var+new_element+=+engine.add_inline_image(doc,+element,+null,+null);+++++++//+do+the+check+and+update+in+the+background+++++setTimeout(function()+{avglsinlineflyover.checkAndUpdate(doc,+element,+new_element,+engine,+handlerFunc)},+1);++++}+++},+++checkAndUpdate:+function+(doc,+element,+new_element,+engine,+handlerFunc)+{++++if+(!engine)+++++return;++++++try+{+++++//+remove+the+listener+and+get+final+url+++++element.detachEvent("onmouseover",+handlerFunc,+false);+++++var+finalUrl+=+searchshield.avgCallFunc(doc,+'GetFinalUrl',+element.href);++++}++++catch(e)+{}++++++if+(finalUrl)++++{+++++//+update+the+verdict+++++engine.display_inline(doc,+new_element,+finalUrl,+null,+true);++++}+++}++};++///////////////++++FLYOVERS++++///////////////++ 

++>27.00::::::::::::

http
66011
LITTLE PRIDE & JOY 66011 "SO LONG PARDNER"
$27.00
66012
LITTLE PRIDE & JOY 66012 "FIRST STEPS"
$21.00
66007
LITTLE PRIDE & JOY 66007 "PICKED ESPECIALLY FOR YOU"
$19.00
66006
LITTLE PRIDE & JOY 66006 "A DAY TO REMEMBER"
$19.00
66009
LITTLE PRIDE & JOY 66009 "I LOVE YOU"
$17.00
66001
LITTLE PRIDE & JOY 66001 "1, 2, 5, 19, 20!"
$19.00
66013
LITTLE PRIDE & JOY 66013 "PLEASE WATCH OVER TEDDY"
$17.00


SmartCart Ecommerce System SmartCart® Ecommerce