var Highlighter=new Class({options:{element:document.body,highlightStartTag:'<span style="color:#FFFFFF; background-color:#A11515;">',highlightEndTag:"</span>",warnOnFailure:false},initialize:function(a){this.setOptions(a);if(!$defined(this.options.element)||!$defined(this.options.element.innerHTML)){if(this.options.warnOnFailure){alert("Sorry, for some reason the text of this element is unavailable. Searching will not work.")}return false}this.html=this.options.element.innerHTML},doHighlight:function(b){var a="";var d=-1;var c=b.toLowerCase();var e=this.html.toLowerCase();while(e.length>0){d=e.indexOf(c,d+1);if(d<0){a+=this.html;this.html="";break}else{if(this.html.lastIndexOf(">",d)>=this.html.lastIndexOf("<",d)){if(e.lastIndexOf("/script>",d)>=e.lastIndexOf("<script",d)){a+=this.html.substring(0,d)+this.options.highlightStartTag+this.html.substr(d,b.length)+this.options.highlightEndTag;this.html=this.html.substr(d+b.length);e=this.html.toLowerCase();d=-1}}}}return a},highlightSearchTerms:function(d){var a=d.match(/\"([^\"]*)\"/g)||[];for(var c=0;c<a.length;c++){a[c]=a[c].substring(1,a[c].length-1)}d=d.replace(/\"([^\"]*)\"/g,"");var b=d.split(" ");searchPhrases=a.merge(b);for(var c=0;c<searchPhrases.length;c++){if(searchPhrases[c].trim()==""){continue}this.html=this.doHighlight(searchPhrases[c])}this.options.element.innerHTML=this.html}});Highlighter.implement(new Options);
