window.SiteSearch=function(){this.debug=false;this.debugOutput=function(A){alert(A)};this.currentResultNum=1;this.currentSearch=null;this.settings={encoding:"iso-8859-1",fe:"ajax",client:"rbs_co_uk",access:"p",host:"search.rbs.com",collections:[{label:"All",id:"rbs_com"}]};this.ui={isInternetExplorer:document.all?true:false,queryTextBox:null,contentPanel:null,heading1:null,heading2:null,createSearchNavigation:false,previousButtonText:"<< Previous",nextButtonText:"Next >>",loadingImageSource:"/images/search/rotation.gif",noQueryMessage:"Please enter your search terms above.",noResultsMessage:'No results found matching the query "$a".',spellingSuggestionMessage:"Did you mean : ",synonymSuggestionMessage:"You could also try : ",heading1Text:"Searching in $a",heading2Text:"Results matching $a searching in $b",keyMatchesHeadingText:"Recommended links",resultsListType:"ul"};this.query={setText:function(A){this.ui.queryTextBox.value=A},getText:function(){var A=new String(this.ui.queryTextBox.value);return A.replace(/[{}"';]*/g,"")},currentCollection:null,getSearchCollectionName:function(){var A="";for(var B=0;B<this.settings.collections.length;B++){if(this.settings.collections[B].id==this.currentCollection){A=this.settings.collections[B].label}}return A}};this.query.ui=this.ui;this.query.settings=this.settings;this.addScript=function(B){var A=document.createElement("script");A.type="text/javascript";A.src=B;document.getElementsByTagName("head")[0].appendChild(A)};this.submit=function(){return this.submit(null)};this.submit=function(B){if(B==null){B=0}var A="http://"+this.settings.host+"/search?output=xml_no_dtd&getfields=description&client=";A+=this.settings.client+"&proxystylesheet="+this.settings.fe+"&ie="+this.settings.encoding+"&oe="+this.settings.encoding;A+="&start="+B+"&q="+encodeURIComponent(this.query.getText())+"&site="+this.query.currentCollection;A+="&access="+this.settings.access;if(this.debug){this.debugOutput("Debug on");this.debugOutput("Contacting server via "+A)}this.clearAll();this.setHeadings();this.setLoadingStatus();this.currentResultNum=B;this.addScript(A);return false};this.getNextResults=function(){var A=this.currentResultNum+10;this.submit(A)};this.getPreviousResults=function(){var A=(this.currentResultNum>=11)?this.currentResultNum-10:0;this.submit(A)};this.setHeadings=function(){if(this.debug){this.debugOutput("Setting headings")}var D=this.ui.heading1;var B=this.ui.heading2;if(D!=null){var A=this.ui.heading1Text.replace("$a",this.query.getSearchCollectionName());this.removeChildNodes(D);D.appendChild(document.createTextNode(A))}if(B!=null){this.removeChildNodes(B);if(this.query.getText()!=""){var C=this.ui.heading2Text.replace("$a",this.query.getText());var C=C.replace("$b",this.query.getSearchCollectionName());B.appendChild(document.createTextNode(C));B.style.display="block"}}};this.setLoadingStatus=function(){if(this.debug){this.debugOutput("Setting loading icon")}this.loading=this.ui.contentPanel.appendChild(document.createElement("div"));this.loading.style.height="540px";this.loading.style.listStyleImage="none";this.loading.style.listStyleType="none";this.loading.style.textAlign="center";this.loading.style.paddingTop="200px";var A=this.loading.appendChild(document.createElement("img"));A.setAttribute("src",this.ui.loadingImageSource)};this.removeChildNodes=function(A){if(A.childNodes.length>0){var C=A.childNodes.item(0);var B;while(C){B=C.nextSibling;A.removeChild(C);C=B}}};this.setStatusText=function(B){if(this.debug){this.debugOutput("Setting status text")}this.ui.statusText=this.ui.contentPanel.appendChild(document.createElement("div"));this.ui.statusText.className="statusText";var A;if(B.queryDetails.estimatedTotal>0){A="Results "+B.queryDetails.startRecordNum+" to "+B.queryDetails.endRecordNum;if(B.queryDetails.estimatedTotal>10){A+=" of about "+B.queryDetails.estimatedTotal}A+=' matching the query "'+this.query.getText()+'".'}else{if(this.query.getText()==""){A=this.ui.noQueryMessage}else{A=this.ui.noResultsMessage.replace("$a",this.query.getText())}}this.ui.statusText.appendChild(document.createElement("p")).appendChild(document.createTextNode(A));this.loadSuggestions(B.spelling,this.ui.spellingSuggestionMessage);this.loadSuggestions(B.synonyms,this.ui.synonymSuggestionMessage)};this.loadSuggestions=function(B,D){if(this.debug){this.debugOutput("Loading "+B.length+" suggestions")}if(B.length>0){var E;var A=this.ui.statusText.appendChild(document.createElement("p"));A.appendChild(document.createTextNode(D));A.id="spelling";for(var C=0;C<B.length;C++){E=A.appendChild(document.createElement("a"));E.href="#";E.onclick=trySuggestion;E.appendChild(document.createTextNode(B[C].q))}}};this.createNavigation=function(A){if(this.debug){this.debugOutput("Creating navigation bar")}var G;var H;var D=((A.queryDetails.startRecordNum-1)/10)+1;var I=(Math.floor((D-1)/10)*10)+1;var C=I+9;var E=A.queryDetails.estimatedTotal/10;var F=this.ui.contentPanel.appendChild(document.createElement("div"));F.className="searchNavigation";if(E>1){if(A.queryDetails.hasPrevious){G=F.appendChild(createButton(this.ui.previousButtonText));G.className="previous";G.onclick=getPreviousResults;G.onkeypress=getPreviousResults}if(this.ui.createSearchNavigation){for(var B=I;B<=C&&B<=E;B++){anchor=F.appendChild(document.createElement("a"));anchor.href="#"+B;anchor.title="go to results page "+B;anchor.onclick=changePage;anchor.onkeypress=changePage;if(B==D){anchor.style.fontWeight="bold";anchor.style.textDecoration="underline"}anchor.appendChild(document.createTextNode(B))}}if(A.queryDetails.hasNext){H=F.appendChild(createButton(this.ui.nextButtonText));H.className="next";H.onclick=getNextResults;H.onkeypress=getNextResults}}};this.trackEvent=function(C){try{var A=_hbEvent("search");A.keywords=C.queryDetails.queryText;A.results=C.queryDetails.estimatedTotal;A.attr1=C.queryDetails.site}catch(B){}try{trackSearchDetails(C);scSetUpPageVars()}catch(B){}};this.loadKeyMatches=function(G){if(this.debug){this.debugOutput("Loading "+G.keyMatches.length+" key matches")}if(G.keyMatches.length>0){var D;var F=this.ui.contentPanel.appendChild(document.createElement("div"));F.className="keyMatchOuter";F=F.appendChild(document.createElement("div"));F.className="keyMatchInner";var C=F.appendChild(document.createElement("h3"));C.appendChild(document.createTextNode(this.ui.keyMatchesHeadingText));var A=F.appendChild(document.createElement("ul"));A.className="searchResultsList";A.setAttribute("id","keyMatchResults");for(var B=0;B<G.keyMatches.length;B++){D=A.appendChild(document.createElement("li"));anchor=D.appendChild(document.createElement("a"));anchor.setAttribute("href",G.keyMatches[B].url);anchor.appendChild(document.createTextNode(G.keyMatches[B].title))}try{$("div.keyMatchInner").corner("round 5px").parent().corner("round 5px")}catch(E){}}};this.clearAll=function(){if(this.debug){this.debugOutput("Clearing all content")}this.removeChildNodes(this.ui.contentPanel)};this.loadResults=function(C){var A;if(this.debug){this.debugOutput("Loading results")}document.title="Search";this.clearAll();this.setStatusText(C);if(C.queryDetails.estimatedTotal>0){this.loadKeyMatches(C);if(this.debug){this.debugOutput(C.results.length+" results found")}this.resultsList=this.ui.contentPanel.appendChild(document.createElement(this.ui.resultsListType));this.resultsList.className="searchResultsList";for(var B=0;B<C.results.length;B++){A=C.results[B];if(A.title!=""){A.textOnlyTitle=this.cleanText(A.title);if(A.description==""){A.description=A.summary;A.textOnlyDescription=this.cleanText(A.description)}else{A.textOnlyDescription=A.description}this.createResultItem(this.resultsList,A)}}this.createNavigation(C)}else{if(this.debug){this.debugOutput("No results returned")}}if(typeof (this.onLoaded)=="function"){this.onLoaded.call()}this.currentSearch=C;this.trackEvent(C)};this.createResultItem=function(C,B){var E=C.appendChild(document.createElement("li"));var D=E.appendChild(document.createElement("h4")).appendChild(document.createElement("a"));D.href=B.url;D.title=B.title;if(D.innerHTML){D.innerHTML=B.title}else{D.appendChild(document.createTextNode(B.textOnlyTitle))}var A=E.appendChild(document.createElement("p"));if(A.innerHTML){A.innerHTML=B.description}else{A.appendChild(document.createTextNode(B.textOnlyDescription))}};this.onLoaded=null;this.cleanText=function(A){var B=A;B=B.replace(/(<\/?b>)/g,"");B=B.replace(/&amp;/g,"&");B=B.replace(/&#39;/g,"'");return B}};function changePage(){var C=document.all;var B=(C)?window.event.srcElement:window.event.target;var A=(B.innerText)?B.innerText:B.childNodes[0].nodeValue;var D=((parseInt(A)-1)*10);search.submit(D)}function trySuggestion(C){var D=document.all;if(!C){C=window.event}var B=(D)?C.srcElement:C.target;var A=(B.innerText)?B.innerText:B.childNodes[0].nodeValue;search.query.setText(A);search.submit()}function getNextResults(){search.getNextResults()}function getPreviousResults(){search.getPreviousResults()}function loadSearch(A){search.loadResults(A)}function createButton(C){var B=document.createElement("div");var A=B.appendChild(document.createElement("span"));A.appendChild(document.createTextNode(C));return B};
