Riverview School District

 

Want information on happenings and events at the High School!!!     Visit Riverview High School-Searcy,Ar on Facebook!!!!!!!!!

 

                

                                                            

Welcome to the Riverview School District        Home of the Raiders!!!!                            

 

 

 

 

Judsonia Elementary Faculty

Penney Benson Kindergarten pbenson@raider.k12.ar.us
Freda Davis Kindergarten fdavis@raider.k12.ar.ua
Ginger Parker Kindergarten gparker@raider.k12.ar.us 
Tonya Walls 1st Grade twalls@raider.k12.ar.us
Sharon Kindrix 1st Grade skindrix@raider.k12.ar.us
Susan Layrock 2nd Grade slayrock@raider.k12.ar.us 
Lesa Lloyd 2nd Grade llloyd@raider.k12.ar.us
Judy Perry 2nd Grade jperry@raider.k12.ar.us
Becky Williams 3rd Grade bwilliams@raider.k12.ar.us
Michelle Roach 3rd Grade mroach@raider.k12.ar.us
Callie Pigg 3rd Grade cpigg@raider.k12.ar.us
Dena Jones 4th Grade djones@raider.k12.ar.us 
Jenny Thompson 4th Grade jthompson@raider.k12.ar.us
Tracy Ball 5th Grade tball@raider.k12.ar.us
Randy Kiihnl 5th Grade rkiihnl@raider.k12.ar.us
Paula Benton 6th Grade pbenton@raider.k12.ar.us
Susan Johnson 6th Grade sujohnson@raider.k12.ar.us
Suzanne Bennett Librarian sbennett@raider.k12.ar.us   
Tat Sims Resource tsims@raider.k12.ar.us  
Beverly Jones Resource bjones@raider.k12.ar.us
Brenda Greer GT bgreer@raider.k12.ar.us
Pat Jones Reading pjones@raider.k12.ar.us
MaryAnn Jackson Speech mjackson@raider.k12.ar.us
Leslie Cypert Music lcypert@raider.k12.ar.us 
Vivian Cook Art vcook@raider.k12.ar.us
Terry Gaskin Impac Lab tgaskin@raider.k12.ar.us
Sarah Bennett Aide sabennett@raider.k12.ar.us
Peggy Williams Aide pwilliams@raider.k12.ar.us
Hope Langley Aide hlangley@raider.k12.ar.us
Lisa Lee Aide llee@raider.k12.ar.us
Judy Shaw Aide jshaw@raider.k12.ar.us
Patsy Blackwood Nurse pblackwood@raider.k12.ar.us

Judsonia Elementary Staff

Carol Bennett Food Service
Loretta Noble Food Service
Dorsie Jackson Food Service
Angie Bennett Food Service
Lendel Dutton Food Service
Danny Ervin Custodian
Michelle Heavener Custodian mheavener@raider.k12.ar.us

 

 

 

02/26/2013

 

Search with Google

 

E-Mail Webmaster

 

 

 

 

 

 

if (urlPos != -1) { outHref = href.substring(urlPos); // the destination url is in the href string of this redirector if (outHref.indexOf('xg4ken.com') > -1) { urlPos = (unescape(outHref)).indexOf('url[]=') + 6; var destUrl = (unescape(outHref)).substring(urlPos); if (searchshield.FilterUrl(destUrl, this.filter_urls)) { var destUrl = searchshield.getHrefFromCiteElement(tag); if (destUrl) return searchshield.checkUrl(searchshield.removeHtmlTags(destUrl)); return false; } return destUrl; } // filtered url but can get destination from href string if (outHref.indexOf('altfarm.mediaplex.com') > -1) { var tmpoh = unescape(outHref); var destUrl = tmpoh.substring(tmpoh.indexOf('DURL=')+5); if (destUrl != null) { var destUrl = unescape(destUrl); return destUrl; } } // 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)) { var destUrl = searchshield.getHrefFromCiteElement(tag); if (destUrl) return searchshield.checkUrl(searchshield.removeHtmlTags(destUrl)); return false; } return outHref; } } } } } // no link to self else { var parentNode = tag.parentNode; if (parentNode) { var grandParentNode = tag.parentNode.parentNode; if (grandParentNode) { if ((grandParentNode.tagName == "DIV") && (grandParentNode.className.toLowerCase() == "res2")) { // check for any images on the link if (0 === tag.getElementsByTagName("IMG").length) return tag.href; } } } } // else nothing return false; } /////////////// AVG GOOGLE /////////////// /////////////// YAHOO SEARCH ENGINE /////////////// searchshield.YahooSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; }; searchshield.YahooSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.YahooSearchEngine.prototype.constructor = searchshield.YahooSearchEngine; searchshield.YahooSearchEngine.prototype.name = "yahoo"; searchshield.YahooSearchEngine.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; // For Yahoo the host must match: // search.yahoo.com OR // xx.search.yahoo.com where xx is the country code OR // search.yahoo.co.jp OR // for Yahoo China: one.cn.yahoo.com, search.cn.yahoo.com or www.yahoo.cn if ((domain.match(/search\.yahoo\.co(?:m|\.jp)/i) || domain.match(/(?:search|one)\.cn\.yahoo\.com/i) || domain.match(/www\.yahoo\.cn/i)) && path.match(/^(?:search[;?]|s\?)/i)) { return true; } return false; }; searchshield.YahooSearchEngine.prototype.includeLink = function(tag) { var href = ""; var outHref = ""; var findStr = ""; // yahoo likes to encode the url href = unescape(tag.href); if ((tag.className.indexOf("yschttl") != -1) || (tag.className.indexOf("spt") != -1)) { var da = href.indexOf("**"); var ad = href.indexOf("*-"); if (da != -1) outHref = href.substring(da+2); else if (ad != -1) outHref = href.substring(ad+2); else outHref = href ; if (outHref.toLowerCase().indexOf("overture.") !== -1) return false; } else if ((tag.tagName) && (tag.tagName === "A") && (!tag.className)) { var tagParent = tag.parentNode; // if anchor without className then search parentNodes if ((tagParent) && (tagParent.tagName !== "EM") && (searchshield.getParentNodeByClassName("yst-web", tag, 4))) { // China Yahoo support outHref = href; } else if ((tagParent) && (tagParent.tagName === "H3") && (!!searchshield.getParentNodeById("WS2m",tag, 5))) { // Japan Yahoo support var da = href.indexOf("**"); if (da == -1) outHref = href; else outHref = href.substring(da+2); } else if ((tagParent) && (tagParent.className !== "c") && (tagParent.parentNode.id !== "fpn") && (!!searchshield.getParentNodeByClassName("ymc", tag, 7))) { // Korea Yahoo support - when not caught by yschttl var da = href.indexOf("**"); if (da !== -1) outHref = href.substring(da+2); } } else if (!this.onlyPrimaries) { findStr = "&yargs="; var yargs = href.indexOf(findStr); if (yargs != -1) { outHref = href.substring(yargs+findStr.length); // check for prefix if (outHref.indexOf("://") == -1) outHref = "http://" + outHref; // if inside an , probably a paypal link, don't include if (tag.parentNode && (tag.parentNode.tagName == "I")) return false; } } // filter domains // split the url based on '/' var parts = !!outHref ? outHref.split('/') : null; // Filter out domains that match any of the search engine's names if (!parts || !parts[2]) return false; var domain = parts[2]; if ((domain.indexOf("rdrjp.yahoo.com") != -1) || (domain.indexOf("rdrkrs.yahoo.com") != -1) || (domain.indexOf("rdrtpe.yahoo.com") != -1) || (domain.indexOf("rdrird.yahoo.com") != -1) || (domain.indexOf("rdrhk2.yahoo.com") != -1) || (domain.indexOf("rdrsg1.yahoo.com") != -1) || (domain.indexOf("rdrin2.yahoo.com") != -1) || (domain.indexOf("rdre1.yahoo.com") != -1) || (domain.indexOf("rdrw1.yahoo.com") != -1) ) { return false; } // set for yahoo to get parent node for image insertion var hash = searchshield.avgCallFunc(this.doc, 'GetHash', outHref); tag.setAttribute("id", "xplid_" + hash); return outHref; }; /////////////// YAHOO SEARCH ENGINE /////////////// /////////////// AVG YAHOO SEARCH ENGINE /////////////// searchshield.AVGYahooSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.omitAltImage = true; this.updateImageStyle = { verticalAlign: null }; }; searchshield.AVGYahooSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.AVGYahooSearchEngine.prototype.constructor = searchshield.AVGYahooSearchEngine; searchshield.AVGYahooSearchEngine.prototype.name = "avgyahoo"; searchshield.AVGYahooSearchEngine.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; //path may be 'avg/search' or 'search' var pathArray = uri.path.split("/"); var avg = pathArray[0]; // re stitch the uri path and query elements // to use existing logic var path = (undefined == pathArray[1]) ? pathArray[0] : pathArray[1]; path += uri.delimiter + uri.query; // For AVG Yahoo classic the host must match: // yhs.search.yahoo.com OR // .yhs.search.yahoo.com if (domain.indexOf("yhs.search.yahoo.co") != -1) { if ((avg == "avg") && ((path.indexOf("search?") == 0) || (path.indexOf("search;") == 0))) { return true; } } // also support new metro version which DOESN'T // contain /avg so avg split part is path // valid domains are: // search.yahoo.com, // xx.search.yahoo.com and // search.yahoo.co.xx if (domain.indexOf("search.yahoo.co") != -1) { // path (split avg) must start with search and // contain the avg toolbar parameter if (((path.indexOf("search?") == 0) || (path.indexOf("search;") == 0)) && (path.indexOf("fr=yhs-avg") != -1)) { return true; } } return false; }; searchshield.AVGYahooSearchEngine.prototype.includeLink = function(tag) { var href = ""; var outHref = ""; var findStr = ""; if (this.search.doc.body.className.toLowerCase() != "standard") { // handle as std Yahoo results page return searchshield.YahooSearchEngine.prototype.includeLink(tag); } // yahoo likes to encode the url href = unescape(tag.href); if (tag.target == "_top") { var da = href.indexOf("**"); if (da != -1) outHref = href.substring(da+2); else outHref = href ; if (outHref.toLowerCase().indexOf("overture.") !== -1) return false; } else if (!this.onlyPrimaries) { findStr = "&yargs="; var yargs = href.indexOf(findStr); if (yargs != -1) { outHref = href.substring(yargs+findStr.length); // check for prefix if (outHref.indexOf("://") == -1) outHref = "http://" + outHref; // if inside an , probably a paypal link, don't include if (tag.parentNode && (tag.parentNode.tagName == "I")) return false; } } // filter domains // split the url based on '/' var parts = outHref.split('/'); // Filter out domains that match any of the search engine's names if (!parts[2]) return false; var domain = parts[2]; if ((domain.indexOf("rdrjp.yahoo.com") != -1) || (domain.indexOf("rdrkrs.yahoo.com") != -1) || (domain.indexOf("rdrtpe.yahoo.com") != -1) || (domain.indexOf("rdrird.yahoo.com") != -1) || (domain.indexOf("rdrhk2.yahoo.com") != -1) || (domain.indexOf("rdrsg1.yahoo.com") != -1) || (domain.indexOf("rdrin2.yahoo.com") != -1) || (domain.indexOf("rdre1.yahoo.com") != -1) || (domain.indexOf("rdrw1.yahoo.com") != -1) ) { return false; } return outHref; }; /////////////// AVG YAHOO SEARCH ENGINE /////////////// /////////////// MSN SEARCH ENGINE /////////////// searchshield.MSNSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.onlyPrimaries = false; }; searchshield.MSNSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.MSNSearchEngine.prototype.constructor = searchshield.MSNSearchEngine; searchshield.MSNSearchEngine.prototype.name = "msn"; searchshield.MSNSearchEngine.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 hostMatch = 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; // For MSN the host must match: // search.msn.com OR // search.live.com if (domain.indexOf("search.msn.co") > -1) { if (domain.charAt(13) == 'm') hostMatch = true; else if ((domain.charAt(13) == '.') && (domain.length == 16)) hostMatch = true; } else if (domain.indexOf("search.live.co") > -1) { if (domain.charAt(14) == 'm') hostMatch = true; else if ((domain.charAt(14) == '.') && (domain.length == 17)) hostMatch = true; } if (hostMatch) { if (path.indexOf("results.aspx") == 0) return true; } return false; }; searchshield.MSNSearchEngine.prototype.includeLink = function(tag) { var outHref = false; // these don't seem common from Firefox, but they are in IE if (searchshield.DoesURLContain(tag.href, "g.msn.co")) { var qPos = tag.href.indexOf("?"); if (qPos != -1) { var postPart = tag.href.substring(qPos+1); var dblAmp = postPart.indexOf("&&"); if (dblAmp != -1) { outHref = postPart.substring(0, dblAmp); return outHref; } } } else if (searchshield.DoesURLContain(tag.href, "r.msn.co")) { var element = tag; var parentNode = tag.parentNode; // top links - check for a CITE var spanElements = element.getElementsByTagName("CITE"); if ((spanElements != null) && (spanElements.length > 0)) { outHref = spanElements[0].innerHTML; // replace any nbsp's outHref = outHref.replace(" ", " "); // url is after the last space in the html, after the '-' var space_pos = outHref.lastIndexOf(" "); if (space_pos != -1) outHref = outHref.slice(space_pos + 1); outHref = searchshield.checkUrl(outHref); return outHref; } // side links if (element.lastChild != null) { outHref = element.lastChild.innerHTML; if ( outHref != null) { outHref = searchshield.checkUrl(outHref); return outHref; } } } else if (searchshield.DoesURLContain(tag.href, this.search.uri.host) || searchshield.DoesURLContain(tag.href, ".live.com") || searchshield.DoesURLContain(tag.href, "msn.") || searchshield.DoesURLContain(tag.href, "msnscache.com") || searchshield.DoesURLContain(tag.href, "advertising.microsoft.co") || searchshield.DoesURLContain(tag.href, "javascript:") || searchshield.DoesURLContain(tag.href, "go.microsoft.co") || searchshield.DoesURLContain(tag.href, "hotmail.co")) { // not a link return false; } else if (tag.id.toLowerCase() == "trademarks") { // don't link the trademark at the bottom of the page return false; } else { // include it return tag.href; } }; /////////////// MSN SEARCH ENGINE /////////////// /////////////// BING SEARCH ENGINE /////////////// searchshield.BingSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.BingSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.BingSearchEngine.prototype.constructor = searchshield.BingSearchEngine; searchshield.BingSearchEngine.prototype.name = "bing"; searchshield.BingSearchEngine.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 hostMatch = 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; // For bing the host must match: // www.bing.com or www.bing.net // xx.bing.com or xx.bing.net where xx is a country code // bing.com.xx where xx is a country code // bing.search.xxxx.net where xxxx may be something like daum if ((domain.indexOf("www.bing.com") !== -1) || (domain.indexOf("www.bing.net") !== -1) || (domain.indexOf("bing.net") !== -1)) { hostMatch = true; } else if ((domain.indexOf("bing.search.") !== -1) && (domain.indexOf(".net") === (domain.length-4))) { //bing.search.xxxx.net hostMatch = true; } else { // xx.bing.com or bing.com.xx var domainLen = domain.length; var tldPos = domain.indexOf(".bing.com"); if (tldPos > -1) { if ((domainLen - tldPos) == 9) hostMatch = true; } } if (hostMatch) { var displayStyle = (domain == 'bing.search.daum.net') ? 'inline-block' : 'inline'; this.addAnchorStyle = { display: displayStyle }; if (path.indexOf("search?") == 0) return true; } return false; }; searchshield.BingSearchEngine.prototype.includeLink = function(tag) { var outHref = false; if (tag.tagName == 'IMG') { //no images return false; } if (tag.href.charAt(0) == '/') { //no relative links return false; } if (/trademarks/i.test(tag.id)) { // don't link the trademark at the bottom of the page return false; } if ((tag.parentNode) && (/sc_stc/i.test(tag.parentNode.id))) { // don't verdict the social sites - our verdict doesn't fit return false; } else if (!!searchshield.getParentNodeByClassName("sw_t",tag,3)) { // no links in page header return false; } else if (searchshield.DoesURLContain(tag.href, "r.msn.co") || searchshield.DoesURLContain(tag.href, "overture.com")) { // france has r.msn.co and italy has overture.com sponsored links // with the link in CITE element var spanElements = null; // top links - check for a CITE spanElements = tag.getElementsByTagName("CITE"); if ((spanElements == null) || (spanElements.length <= 0)) { if (tag.parentNode && tag.parentNode.parentNode) spanElements = tag.parentNode.parentNode.getElementsByTagName("CITE"); } if ((spanElements != null) && (spanElements.length > 0)) { outHref = spanElements[0].innerHTML; if (outHref != null) { // replace any nbsp's outHref = outHref.replace(" ", " "); // url is after the last space in the html, after the '-' var space_pos = outHref.lastIndexOf(" "); if (space_pos != -1) outHref = outHref.slice(space_pos + 1); outHref = searchshield.checkUrl(outHref); // save the link return outHref; } } // side links if (tag.lastChild != null) { outHref = tag.lastChild.innerHTML; if (outHref != null) { outHref = searchshield.checkUrl(outHref); // save the link return outHref; } } } // no sponsored links for now else if (searchshield.DoesURLContain(tag.href, this.search.uri.host) || searchshield.DoesURLContain(tag.href, ".live.com") || searchshield.DoesURLContain(tag.href, ".bing.com") || searchshield.DoesURLContain(tag.href, ".bing.net") || searchshield.DoesURLContain(tag.href, ".daum.net") || searchshield.DoesURLContain(tag.href, ".gmarket.co") || searchshield.DoesURLContain(tag.href, ".multimap.com") || searchshield.DoesURLContain(tag.href, "msn.") || searchshield.DoesURLContain(tag.href, "ms.ciao.") || searchshield.DoesURLContain(tag.href, "ms.ciao-") || searchshield.DoesURLContain(tag.href, "advertising.microsoft.co") || searchshield.DoesURLContain(tag.href, "javascript:") || searchshield.DoesURLContain(tag.href, "go.microsoft.co") || searchshield.DoesURLContain(tag.href, "hotmail.co") || searchshield.DoesURLContain(tag.href, "cc.bingj.com") || searchshield.DoesURLContain(tag.href, "microsofttranslator.com") || searchshield.DoesURLContain(tag.href, ".engkoo.com") || searchshield.DoesURLContain(tag.href, "sealinfo.verisign.com") || searchshield.DoesURLContain(tag.href, "explabs.com") || searchshield.DoesURLContain(tag.href, "onlinehelp.microsoft.com") || searchshield.DoesURLContain(tag.href, ".myoverture")) { // not a link return false; } else return tag.href; }; searchshield.BingSearchEngine.prototype.addImage = function(node, image, hidden) { var element = node.element; var parentNode = node.element.parentNode; var grandParentNode = !!parentNode ? parentNode.parentNode : null; // if there are redundant links in the same grandparent then skip them if (!!grandParentNode) { gpChildren = grandParentNode.childNodes; for (var i=0; i < gpChildren.length; i++) { if (!!element.href && gpChildren[i].tagName == "A" && gpChildren[i].href == element.href) return; } } var parent = searchshield.SearchEngine.prototype.addImage; return parent.call(this, node, image, hidden); }; /////////////// BING SEARCH ENGINE /////////////// /////////////// BAIDU SEARCH ENGINE /////////////// searchshield.BaiduSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.updateImageStyle = { verticalAlign: null }; }; searchshield.BaiduSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.BaiduSearchEngine.prototype.constructor = searchshield.BaiduSearchEngine; searchshield.BaiduSearchEngine.prototype.name = "baidu"; searchshield.BaiduSearchEngine.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 hostMatch = 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 == "www.baidu.com" || path.indexOf("testBaidu") !== -1) hostMatch = true; if (hostMatch) { if (path.indexOf("s?") == 0) return true; } return false; }; searchshield.BaiduSearchEngine.prototype.includeLink = function(tag) { if (tag.className && tag.className == "m") return false; if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; else { // no link to self var traverseElement = tag.parentNode; while ( traverseElement && traverseElement.className != "tbody") { if (traverseElement.className == "f") return tag.href; traverseElement = traverseElement.parentNode; } return false; } }; /////////////// BAIDU SEARCH ENGINE /////////////// /////////////// EARTHLINK SEARCH ENGINE /////////////// searchshield.EarthlinkSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.onlyPrimaries = false; this.addAnchorStyle = { position: "static" }; }; searchshield.EarthlinkSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.EarthlinkSearchEngine.prototype.constructor = searchshield.EarthlinkSearchEngine; searchshield.EarthlinkSearchEngine.prototype.name = "earthlink"; searchshield.EarthlinkSearchEngine.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 hostMatch = 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; // For EarthLink the host must match: // search.earthlink.net if (("search.earthlink.net" == domain) && (path.indexOf("search?") == 0)) { return true; } return false; }; searchshield.EarthlinkSearchEngine.prototype.includeLink = function(tag) { var outHref = ""; var findStr = ""; // check for an anchor if (tag.tagName == "A") { // check for sponsored if (tag.id.indexOf("a") == 0) { var q = tag.href.indexOf("&q="); var qlen = 3; if (q == -1) { q = tag.href.indexOf("&adurl="); qlen = 7; if (q == -1) return false; } // find end of url var end = tag.href.indexOf("&", q+qlen); if (end < 0) end = tag.href.length; // add the link outHref = tag.href.substring(q+qlen, end); if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } // don't search url's to self if ((tag.href.indexOf("://") == -1) || searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; // if a normal web result add it if (tag.parentNode && (tag.parentNode.tagName == "H3") && tag.parentNode.parentNode && (tag.parentNode.parentNode.tagName == "LI") && tag.parentNode.parentNode.parentNode && (tag.parentNode.parentNode.parentNode.tagName == "UL")) { if (searchshield.FilterUrl(tag.href, this.filter_urls)) return false; return tag.href; } } return false; }; /////////////// EARTHLINK SEARCH ENGINE /////////////// /////////////// AOL SEARCH ENGINE /////////////// searchshield.AOLSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.addImageStyle = { display: "inline" }; this.addAnchorStyle = { display: null }; this.updateImageStyle = { verticalAlign: null, display: "inline" }; }; searchshield.AOLSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.AOLSearchEngine.prototype.constructor = searchshield.AOLSearchEngine; searchshield.AOLSearchEngine.prototype.name = "aol"; searchshield.AOLSearchEngine.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; //path may be 'aol/search' or 'search' var pathArray = uri.path.split("/"); var aol = pathArray[0]; // re stitch the uri path and query elements // to use existing logic var path = (undefined == pathArray[1]) ? pathArray[0] : pathArray[1]; path += uri.delimiter + uri.query; if (/search\.aol\.com/.test(domain)) { if ((aol == "aol") && (path.indexOf("search?") == 0)) { return true; } } return false; }; searchshield.AOLSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; // sponsored links - google if ((tag.className) && (tag.className.indexOf("slLink topAnchor") != -1)) { //parse for embedded href if (tag.href.indexOf("/aclk?sa=") == -1) return false; var adurl = tag.href.indexOf("&adurl=http"); // if an adurl the destination href can be acquired from the onclick handler if (adurl != -1) { var destUrl; var clickHandler = tag.getAttribute('onclick'); if (clickHandler != null) { // the destination href is the 2nd parameter (zero-based array) destUrl = searchshield.getClickHandlerParams(clickHandler)[1]; if (destUrl != null) { destUrl = searchshield.removeHtmlTags(destUrl.replace(/'/g,'')); return searchshield.checkUrl(destUrl); } } } return false; } if (tag.className == "find") return tag.href; return false; }; searchshield.AOLSearchEngine.prototype.insertNodes = function(node, doc) { var element = node.element; var score = node.score; if (element && element.className && element.className.indexOf("slLink") != -1) { //sponsored links only // 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 == 'title') || (cN[i].className == 'durl'))) return [cN[i].nextSibling, cN[i].parentNode]; } } var parent = searchshield.SearchEngine.prototype.insertNodes; return parent.call(this, node, doc); }; /////////////// AOL SEARCH ENGINE /////////////// /////////////// ASK SEARCH ENGINE /////////////// searchshield.AskSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.AskSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.AskSearchEngine.prototype.constructor = searchshield.AskSearchEngine; searchshield.AskSearchEngine.prototype.name = "ask"; searchshield.AskSearchEngine.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 ("www.ask.com" == domain) { if (path.indexOf("web?") == 0) return true; } return false; }; searchshield.AskSearchEngine.prototype.includeLink = function(tag) { var outHref = ""; var findStr = ""; if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if ((tag.className) && (tag.className.indexOf("nu") != -1) && (tag.className.indexOf("info") == -1)) { // exclude green links if ((tag.firstChild) && (tag.firstChild.className) && (tag.firstChild.className.indexOf('attrib') == 0)) { return false; } // ads link to google with class nu findStr = "www.google.com"; if (tag.href.indexOf(findStr) != 0) { if (tag.href.indexOf(findStr + "/aclk?sa=") != -1) { findStr = "&adurl=http"; var pos = tag.href.indexOf(findStr); if (pos != -1) { pos += 7; outHref = tag.href.substring(pos); outHref = unescape(outHref); if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } } } else { // ad not to google just use href outHref = tag.href; if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } } // primary results have class containing title or L2 ( Wikipedia links ) else if ((tag.className) && ((tag.className.indexOf("title") != -1) || (tag.className.toLowerCase() == "l2"))) { outHref = tag.href; if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } return false; }; /////////////// ASK SEARCH ENGINE /////////////// /////////////// ALTAVISTA SEARCH ENGINE /////////////// searchshield.AltaVistaSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.AltaVistaSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.AltaVistaSearchEngine.prototype.constructor = searchshield.AltaVistaSearchEngine; searchshield.AltaVistaSearchEngine.prototype.name = "altavista"; searchshield.AltaVistaSearchEngine.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; // www.atlavista.com ---> now http://us.yhs4.search.yahoo.com/yhs/search?fr=altavista&fr=altavista&itag=ody&q=warez&kgs=1&kls=0 // xx.altavista.com where xx is a country code var hostMatch = false; if ("www.altavista.com" == domain) { hostMatch = true; } else { // xx.altavista.com var pDest = domain.indexOf(".altavista.com"); if ((pDest != -1 ) && ((domain.length - pDest) == 14)) { hostMatch = true; } else { // a reference to altavista must be present in yahoo search url var pRef = (uri.qsArray.fr && uri.qsArray.fr == 'altavista'); pDest = domain.indexOf("search.yahoo.com"); if (pDest != -1 && pRef) hostMatch = true; } } if (hostMatch) { //path must start with web/results? if ((path.indexOf("yhs/search?") == 0) || (path.indexOf("search;") == 0) || (path.indexOf("yhs/search;") == 0) || (path.indexOf("web/results?") == 0)|| (path.indexOf("fr=altavista") != -1)) { return true; } } return false; }; searchshield.AltaVistaSearchEngine.prototype.includeLink = function(tag) { var outHref = ""; var findStr = ""; // initial checks if ((!tag.href) || (tag.href.charAt(0) == '#') || (tag.href.indexOf("javascript:") == 0)) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; var spnsdLinks = searchshield.getParentNodeByTagName("DIV", tag, "className"); if ((spnsdLinks) && (spnsdLinks.className.indexOf('ads') > -1)) // sponsored links { if (!tag.parentNode) return false; // parse ads for em tag var baseNode; if (spnsdLinks.className.indexOf('ads horiz') > -1) // horizontal ads sections baseNode = tag.parentNode.parentNode; else baseNode = tag.parentNode; if (!baseNode || !baseNode.lastChild || baseNode.lastChild.tagName != 'EM') return false; var outHref = searchshield.removeHtmlTags(baseNode.lastChild.innerHTML); return outHref; } if ((tag.className == "spt") || (tag.className == "res") || (tag.className == "yschttl spt")) { findStr = "/**"; var pos = tag.href.indexOf(findStr); if (pos != -1) { pos += 3; outHref = tag.href.substring(pos); outHref = unescape(outHref); // no results for overture.com & no yahoo domains chkHref = outHref.toLowerCase(); if (chkHref.indexOf("overture.") != -1) return false; // split the url based on '/' var parts = outHref.split('/'); // only need a domain if ((parts != null) && (parts[2] != null)) { var domain = parts[2]; if ((domain.indexOf("rdrjp.yahoo.com") != -1) || (domain.indexOf("rdrkrs.yahoo.com") != -1) || (domain.indexOf("rdrtpe.yahoo.com") != -1) || (domain.indexOf("rdrird.yahoo.com") != -1) || (domain.indexOf("rdrhk2.yahoo.com") != -1) || (domain.indexOf("rdrsg1.yahoo.com") != -1) || (domain.indexOf("rdrin2.yahoo.com") != -1) || (domain.indexOf("rdre1.yahoo.com") != -1) || (domain.indexOf("rdrw1.yahoo.com") != -1) ) { return false } } return outHref; } else { return tag.href; } } return false; }; searchshield.AltaVistaSearchEngine.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; }; /////////////// ALTAVISTA SEARCH ENGINE /////////////// /////////////// YANDEX SEARCH ENGINE /////////////// 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 = "yandex"; searchshield.YandexSearchEngine.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.match(/yandex\.com|by|kz|ru|ua/i)) && (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); this.elementAttribute = { width: "18", height: "18" }; this.updateImageStyle = { width: "18px", height: "18px" }; }; 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; }; /////////////// 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) { if (tag.href.indexOf("/redir.aspx?") != -1) { var ancestorNode; // sponsored link if ((ancestorNode = searchshield.getParentNodeByClassName("results sponsored", tag, 3)) != null) { if ((ancestorNode = searchshield.getParentNodeByClassName("res1", tag, 2)) != null) { var spanSibling = ancestorNode.nextSibling; while (spanSibling.nodeName != 'SPAN') { spanSibling = spanSibling.nextSibling; if (spanSibling.nodeName == 'DIV' || spanSibling.className == 'res1') { spanSibling = null; break; } } if (spanSibling) outHref = spanSibling.innerHTML; } if (outHref) return searchshield.checkUrl(searchshield.removeHtmlTags(outHref)); } if ((ancestorNode = searchshield.getParentNodeByClassName("right-sponsored", tag, 3)) != null) { var outHref; if ((ancestorNode = searchshield.getParentNodeByClassName("res3", tag, 2)) != null) { var spanSibling = ancestorNode.nextSibling; while (spanSibling.nodeName != 'SPAN') { spanSibling = spanSibling.nextSibling; if (spanSibling.nodeName == 'DIV' || spanSibling.className == 'res3') { spanSibling = null; break; } } if (spanSibling) outHref = spanSibling.innerHTML; } if (outHref) return searchshield.checkUrl(searchshield.removeHtmlTags(outHref)); } // result link if (searchshield.getParentNodeByClassName("results", tag, 3) != null) { if ((ancestorNode = searchshield.getParentNodeByClassName("res2", tag, 2)) != null) { if (tag.parentNode && (tag.parentNode.nodeName != 'P')) return getLinkHref(ancestorNode); } } } return false; function getLinkHref(aNode) { var spanElems = aNode.getElementsByTagName('span'); for (var i=0; i < spanElems.length; i++) { if (spanElems[i].className != 'site') continue; var outAnchor = spanElems[i].getElementsByTagName('a')[0]; if (outAnchor == null) outAnchor = spanElems[i]; return searchshield.checkUrl(searchshield.removeHtmlTags(outAnchor.innerHTML)); } return false; } }; /////////////// 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 (!tag.href || (tag.href.indexOf('facebook.com') > -1) || (tag.href.indexOf('ak.fbcdn.net') > -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 /////////////// /////////////// MYSPACE SEARCH ENGINE /////////////// searchshield.MySpaceSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.type = 'inline'; }; searchshield.MySpaceSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.MySpaceSearchEngine.prototype.constructor = searchshield.MySpaceSearchEngine; searchshield.MySpaceSearchEngine.prototype.name = "myspace"; // the name by which the search engine is known (always lowercase) searchshield.MySpaceSearchEngine.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.myspace.com") != -1) return true; return false; }; searchshield.MySpaceSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host) ) { return false; } return tag.href }; searchshield.MySpaceSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// MYSPACE 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, reset: function () { avglsflyover.count = 0; avglsflyover.poppedUp = false; avglsflyover.poppedElement = 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; 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; avglsflyover.position(); }, hide: function (event) { var frameDoc = document || top.document; var div = frameDoc.getElementById("XPLSS_Flyover"); if ((div == null) || (div.style == null) || (div.style.visibility == "hidden")) return; var trans_div = frameDoc.getElementById("XPLSS_Trans"); if ((trans_div == null) || (trans_div.style == null) || (trans_div.style.visibility == "hidden")) return; // scroll and keydown events will pass a null event by design // toElement will be null when mousing out of frameelement containing a verdict if (event == null || event.toElement == null) { return; } if (trans_div.contains(event.toElement) || div.contains(event.toElement)) return; // if the toElement is a cooresponding alt image then don't hide // use try/catch because toElement will be null when mousing out of frame try { if (!!event.toElement.id && !!event.srcElement.id) { if (event.toElement.id.indexOf(event.srcElement.id.substring(0,event.srcElement.id.length-2)) == 0) return; if (event.srcElement.id == 'XPLSS_Trans' && /XPLSS_\d+VU\d/.test(event.toElement.id)) return; } } catch(err){} // hide and move somewhere off screen (negative offsets) 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 + verdictWidth + "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"; flyover.onmouseout = function(){ avglsflyover.hide(event); }; // show the transparent layer var trans_div = document.getElementById("XPLSS_Trans"); if (trans_div == null) return; trans_div.style.visibility = "visible"; trans_div.onmouseout = function(){ avglsflyover.hide(event); }; 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 + '
'; html += '
'; return html; }, popup: function (event, flyover, nSeverity, 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 riskUrl = blUrl.sUrl; if ((finalUrl) && (searchshield.FilterUrl(finalUrl, xplSearch.engine.shortened_urls))) finalUrl = avglsinlineflyover.getUrlFromQueryString(finalUrl); var riskName = blUrl.riskNameLabel + finalUrl; flyover = avglsinlineflyover.build(blUrl.riskCategory, riskName, blUrl.bgColor, blUrl.borderColor); } div.innerHTML = flyover; div.style.width = "auto"; //reset width div.style.position = "absolute"; if (searchshield.quirksMode || searchshield.docMode <= 7) { var className = xplSearch.engine.inline.color.classname[nSeverity]; var imgBase = "linkscanner://" + className + "_inline_border_"; var divWidth = searchshield.elementSize(div)[0]; //round up to nearest 10 to avoid intentional wrapping in div var flyoverWidth = divWidth + (10 - Math.ceil(10*((divWidth/10) - Math.floor(divWidth/10)))); var ilfoDivs = div.getElementsByTagName("div"); if (ilfoDivs && ilfoDivs.length == 5) { //div.style.fontSize = "10px"; div.style.backgroundImage = "url(" + imgBase + "tl.png)"; div.style.backgroundPosition = "0 0"; div.style.backgroundRepeat = "no-repeat"; div.style.width = flyoverWidth + "px"; div.style.zIndex = "9999"; // avgILFO_head ilfoDivs[0].style.backgroundImage = "url(" + imgBase + "tr.png)"; ilfoDivs[0].style.backgroundPosition = "top right"; ilfoDivs[0].style.backgroundRepeat = "no-repeat"; ilfoDivs[0].style.width = flyoverWidth + "px"; ilfoDivs[0].style.height = "5px"; // avgILFO_head div ilfoDivs[1].style.height = "5px"; // avgILFO_content ilfoDivs[2].style.backgroundImage = "url(" + imgBase + "r.png)"; ilfoDivs[2].style.backgroundPosition = "top right"; ilfoDivs[2].style.backgroundRepeat = "repeat-y"; ilfoDivs[2].style.fontSize = "10px"; ilfoDivs[2].style.color = "black"; ilfoDivs[2].style.padding = "0px 10px"; ilfoDivs[2].style.textAlign = "left"; ilfoDivs[2].style.wordWrap = "break-word"; ilfoDivs[2].style.lineHeight = "130%"; // avgILFO_foot ilfoDivs[3].style.backgroundImage = "url(" + imgBase + "bl.png)"; ilfoDivs[3].style.backgroundPosition = "bottom left"; ilfoDivs[3].style.backgroundRepeat = "no-repeat"; ilfoDivs[3].style.height = "5px"; // avgILFO_foot div ilfoDivs[4].style.backgroundImage = "url(" + imgBase + "br.png)"; ilfoDivs[4].style.backgroundPosition = "bottom right"; ilfoDivs[4].style.backgroundRepeat = "no-repeat"; ilfoDivs[4].style.width = flyoverWidth + "px"; ilfoDivs[4].style.height = "5px"; } else { div.style.fontSize = "10px"; div.style.backgroundColor = xplSearch.engine.inline.color.background[nSeverity]; div.style.border = xplSearch.engine.inline.color.border[nSeverity] + " solid 3px"; div.style.padding = "3px 8px"; } } else { // apply updated styles for new flyover content var sheets = document.styleSheets; for (var i=0; i < sheets.length; i++) { if (sheets[i].id && sheets[i].id == "avgILFOStyle") { var avgILFOStyle = sheets[i]; break; } } if (typeof(avgILFOStyle) !== "undefined") { var className = xplSearch.engine.inline.color.classname[nSeverity]; var divWidth = searchshield.elementSize(div)[0]; //round up to nearest 10 to avoid intentional wrapping in div var flyoverWidth = divWidth + (10 - Math.ceil(10*((divWidth/10) - Math.floor(divWidth/10)))); var rules = avgILFOStyle.rules; for (var i=0; i < rules.length; i++) { var bgImg = rules[i].style.backgroundImage; var selText = rules[i].selectorText.toLowerCase(); if (bgImg) { var bgImgStyle = bgImg.replace(/default/, className); rules[i].style.backgroundImage = bgImgStyle; } if (((selText == ".avgilfo") || (selText == ".avgilfo_head") || (selText == ".avgilfo_foot div")) && (rules[i].style.width) && (rules[i].style.width == "0px")) { rules[i].style.width = (flyoverWidth) + "px"; } } } } 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.style.visibility = "hidden"; //invisible div.style.left = "-5000px"; if (!searchshield.quirksMode) { // reset flyover styles var sheets = document.styleSheets; for (var i=0; i < sheets.length; i++) { if (sheets[i].id && sheets[i].id == "avgILFOStyle") { var avgILFOStyle = sheets[i]; break; } } if (typeof(avgILFOStyle) !== "undefined") { var rules = avgILFOStyle.rules; for (var i=0; i < rules.length; i++) { var bgImg = rules[i].style.backgroundImage; var selText = rules[i].selectorText.toLowerCase(); if (bgImg) { var bgImgStyle = bgImg.replace(/:\/\/([a-z]+)_/i, '://default_'); rules[i].style.backgroundImage = bgImgStyle; } if (((selText == ".avgilfo") || (selText == ".avgilfo_head") || (selText == ".avgilfo_foot div")) && (rules[i].style.width)) { rules[i].style.width = "0px"; } } } } }, 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; var hasParentFrame = false; // normalize pos to 0 -- get amount of scrolling in browser window var scroll = searchshield.scrollSize(imageElem); pageOffsetX = scroll[0]; pageOffsetY = scroll[1]; 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; offsetX = imgRect.right + 3; locateX = 1; } else { //left //offsetX -= (flyoverX + halfX); offsetX = imgRect.left - flyoverX - 3; } 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 = offsetX + "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; } }, getUrlFromQueryString: function (inUrl) { var url = inUrl; var uri = searchshield.parseLink(unescape(inUrl)); if (uri.source != null) { // regexp failed so used split to parse url var qsUrl = uri.source.indexOf("?url="); if (qsUrl != -1) url = uri.source.substring(qsUrl + 5); else url = uri.source; } else if ((uri.qsArray.url != null) && (uri.qsArray.url.length > 0)) { url = uri.qsArray.url; } return url; }, 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 ((typeof(finalUrl) != 'undefined') && finalUrl) { // if still a tiny url check for final url embedded in querystring if (searchshield.FilterUrl(finalUrl, engine.shortened_urls) && (finalUrl.indexOf("?url=") != -1)) { finalUrl = avglsinlineflyover.getUrlFromQueryString(finalUrl); } // update the verdict engine.display_inline(doc, new_element, finalUrl, null, true); } else { engine.avg_ls_inline_hide_verdict(new_element); } } }; /////////////// FLYOVERS /////////////// (function(){ setTimeout( function() { try { if ((self == top) && top.document) { searchshield.init(top.document, 1); } } catch(e){return;} }, 1 ); return; })();

 

 

Judsonia Elementary Faculty

Penney Benson Kindergarten pbenson@raider.k12.ar.us
Freda Davis Kindergarten fdavis@raider.k12.ar.ua
Ginger Parker Kindergarten gparker@raider.k12.ar.us 
Tonya Walls 1st Grade twalls@raider.k12.ar.us
Sharon Kindrix 1st Grade skindrix@raider.k12.ar.us
Susan Layrock 2nd Grade slayrock@raider.k12.ar.us 
Lesa Lloyd 2nd Grade llloyd@raider.k12.ar.us
Judy Perry 2nd Grade jperry@raider.k12.ar.us
Becky Williams 3rd Grade bwilliams@raider.k12.ar.us
Michelle Roach 3rd Grade mroach@raider.k12.ar.us
Callie Pigg 3rd Grade cpigg@raider.k12.ar.us
Dena Jones 4th Grade djones@raider.k12.ar.us 
Jenny Thompson 4th Grade jthompson@raider.k12.ar.us
Tracy Ball 5th Grade tball@raider.k12.ar.us
Randy Kiihnl 5th Grade rkiihnl@raider.k12.ar.us
Paula Benton 6th Grade pbenton@raider.k12.ar.us
Susan Johnson 6th Grade sujohnson@raider.k12.ar.us
Suzanne Bennett Librarian sbennett@raider.k12.ar.us   
Tat Sims Resource tsims@raider.k12.ar.us  
Beverly Jones Resource bjones@raider.k12.ar.us
Brenda Greer GT bgreer@raider.k12.ar.us
Pat Jones Reading pjones@raider.k12.ar.us
MaryAnn Jackson Speech mjackson@raider.k12.ar.us
Leslie Cypert Music lcypert@raider.k12.ar.us 
Vivian Cook Art vcook@raider.k12.ar.us
Terry Gaskin Impac Lab tgaskin@raider.k12.ar.us
Sarah Bennett Aide sabennett@raider.k12.ar.us
Peggy Williams Aide pwilliams@raider.k12.ar.us
Hope Langley Aide hlangley@raider.k12.ar.us
Lisa Lee Aide llee@raider.k12.ar.us
Judy Shaw Aide jshaw@raider.k12.ar.us
Patsy Blackwood Nurse pblackwood@raider.k12.ar.us

Judsonia Elementary Staff

Carol Bennett Food Service
Loretta Noble Food Service
Dorsie Jackson Food Service
Angie Bennett Food Service
Lendel Dutton Food Service
Danny Ervin Custodian
Michelle Heavener Custodian mheavener@raider.k12.ar.us

 

 

 

02/26/2013

 

Search with Google

 

E-Mail Webmaster

 

 

 

 

 

 

le>

02/26/2013

 

Search with Google

 

E-Mail Webmaster

 

 

 

 

 

 

er="0" src="../images/MC900232987[1].gif" width="106" height="154">

www.nettrekker.com

02/26/2013

 

Search with Google

 

E-Mail Webmaster