function trim1(str){return str.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function searchOnCurrentPageKeywords(){var url="/personal/keywordSearch/";var keywords=$(document).getElement("meta[name=keywords]").getProperty("content").split(",");for(var i=0;i<keywords.length;i++){keywords[i]=trim1(keywords[i])}url+=keywords.join("/");return url}function lastPagesVisited(number,element){var prefix="learndirect -";var pagesVisited=eval(Cookie.read("pagesVisited"));if(pagesVisited!=null){$(element).empty();for(var i=0,l=pagesVisited.length;i<l;i++){if(i>number){break}var page=pagesVisited[i];var li=new Element("li");var link=new Element("a");link.setProperty("href",page.url);var title=page.title;if(title.indexOf(prefix)>=0){if(page.url.indexOf("/",7)!=page.url.lastIndexOf("/")){title=trim1(title.substring(title.indexOf(prefix)+prefix.length))}else{title="Homepage"}}link.appendText(title);li.grab(link);$(element).grab(li)}}}function showBanners(elementId,itemCode,noBanners){var bannersUrl=document.URL.replace(/view=[A-Za-z0-9]+(&)?/,"");var bannersPath=bannersUrl.substring(bannersUrl.indexOf("/",8));if(bannersPath.indexOf("/aboutlearndirect/centresearch/centredetails")==0){bannersUrl=bannersUrl.substring(0,bannersUrl.indexOf(bannersPath))+"/aboutlearndirect/centresearch/centredetails";bannersPath="/aboutlearndirect/centresearch/centredetails"}if(bannersPath.test(/\.action$/)){bannersUrl=bannersUrl.substring(0,bannersUrl.indexOf(bannersPath))+"/contact/";bannersPath="/contact/"}if(bannersPath.indexOf("doMonsterSearch.action")>=0){bannersUrl=bannersPath.substring(0,bannersUrl.indexOf(bannersPath)+"/improve-your-job-prospects/");bannersPath="/improve-your-job-prospects/"}if(bannersPath.indexOf("/browse/enrolment/online/partners/")>=0){bannersUrl=bannersPath.substring(0,bannersUrl.indexOf(bannersPath)+"/browse/enrolment/online/partners/");bannersPath="/browse/enrolment/online/partners/"}if(bannersPath.indexOf("/v/")!=0){bannersUrl=bannersUrl.substring(0,bannersUrl.indexOf(bannersPath))+"/v/bannerList"+bannersPath}else{bannersUrl=bannersUrl.replace(/\/v\/[^\/]+/g,"/v/bannerList")}var bannersRequest=new Request.JSON({url:bannersUrl,method:"get",secure:false,onSuccess:function(results){var banners=[];firstTimeUserBanners(banners,results,noBanners);var b=banners.length;var availableBanners=bannersLeft(results);if(b<noBanners){attachedBanners(banners,availableBanners,noBanners);availableBanners=bannersLeft(results)}if(b<noBanners){qualificationBasedBanners(banners,availableBanners,noBanners);availableBanners=bannersLeft(results)}b=banners.length;if(b<noBanners){timeBasedBanners(banners,availableBanners,noBanners);availableBanners=bannersLeft(results)}b=banners.length;if(b<noBanners){keywordBasedBanners(banners,availableBanners,noBanners);availableBanners=bannersLeft(results)}b=banners.length;if(b<noBanners){randomBanners(banners,availableBanners,noBanners);availableBanners=bannersLeft(results)}b=banners.length;for(var i=0;i<b;i++){loadBanner(elementId,banners[i].url)}}}).send()}function loadBanner(elementId,bannerUrl){var banner=new Element("div");banner.load(bannerUrl);$(elementId).grab(banner)}function attachedBanners(banners,availableBanners,noBanners){for(var i=0,l=availableBanners.length;i<l;i++){if(banners.length>=noBanners){return }if(availableBanners[i].attached=="true"){banners[banners.length]=availableBanners[i];availableBanners[i]=null}}}function qualificationBasedBanners(banners,availableBanners,noBanners){}function timeBasedBanners(banners,availableBanners,noBanners){var now=new Date();var minutesSinceMidnight=(now.getHours()*60)+now.getMinutes();for(var i=0,l=availableBanners.length;i<l;i++){if(banners.length>=noBanners){return }if(availableBanners[i].startMinutes!=""&&availableBanners[i].endMinutes!=""){if(availableBanners[i].startMinutes<=minutesSinceMidnight&&availableBanners[i].endMinutes>minutesSinceMidnight){banners[banners.length]=availableBanners[i];availableBanners[i]=null}else{availableBanners[i]=null}}}}function keywordBasedBanners(banners,availableBanners,noBanners){if($defined($(document).getElement("meta[name=keywords]"))){var keywords=$(document).getElement("meta[name=keywords]").getProperty("content").split(",");for(var i=0,l=keywords.length;i<l;i++){for(var b=0,bl=availableBanners.length;b<bl;b++){if($defined(availableBanners[b])){if(trim1(availableBanners[b].keywords)!=""){var bannerKeywords=availableBanners[b].keywords.split(",");for(bk=0,bkl=bannerKeywords.length;bk<bkl;bk++){if(trim1(bannerKeywords[bk]).toLowerCase()==trim1(keywords[i]).toLowerCase()){if(banners.length<=noBanners){banners[banners.length]=availableBanners[b];availableBanners[b]=null}}}}}}}}}function randomBanners(banners,availableBanners,noBanners){var i=0;while(i<10&&banners.length<noBanners){var index=Math.floor(availableBanners.length*Math.random());if(availableBanners[index]!=null){banners[banners.length]=availableBanners[index];availableBanners[index]=null;availableBanners=bannersLeft(availableBanners)}i++}}function bannersLeft(bannerList){var bannersLeft=[];var b=0;for(var i=0,l=bannerList.length;i<l;i++){if(bannerList[i]!=null){bannersLeft[b++]=bannerList[i]}}return bannersLeft}function firstTimeUserBanners(banners,availableBanners,noBanners){var b=0;for(var i=0,l=availableBanners.length;i<l;i++){if(b==noBanners){break}if(availableBanners[i].firstTimeUser.toLowerCase()=="yes"){if(isFirstTimeUser()){banners[b]=availableBanners[i];b++}else{availableBanners[i]=null}}}}function isFirstTimeUser(){var knownUser=Cookie.read("knownUser");var now=new Date();if(knownUser==null){Cookie.write("knownUser",now.getTime(),{path:"/",duration:365});return true}else{if(now.getTime()-knownUser<1800000){return true}}return false}function nearestCourseOffers(courseCode,element){var postcode=Cookie.read("postcode");if(postcode==null){$(element).grab(new Element("span",{html:"Enter your postcode.","class":"postcodeLabel"}));$(element).grab(new Element("br"));$(element).grab(new Element("input",{id:"txtPostcode",type:"text"}));$(element).grab(new Element("input",{type:"button",onClick:"updatePostcode(txtPostcode, '"+courseCode+"', '"+element+"')"}))}else{var request=new Request.JSON({url:"/p/nearestCourseOffers/"+courseCode+"/"+postcode,method:"get",onComplete:function(results){for(var i=0,l=results.length;i<l;i++){var resultDiv=new Element("div",{"class":"result"});var title=new Element("div",{"class":"title",html:'<a href="'+results[i].link+'">'+results[i].title+"</a>"});var description=new Element("span",{"class":"description",html:results[i].description});resultDiv.grab(title);resultDiv.grab(description);$(element).grab(resultDiv)}},onFailure:function(){alert("Failed")},onException:function(){alert("Exception")}}).send()}}function updatePostcode(postcode,courseCode,element){Cookie.write("postcode",postcode.value);nearestCourseOffers(courseCode,element)}function welcomeBack(element){var name=Cookie.read("firstName");var greeting=$(element).getElements("span.greeting");if(name!=null&&trim1(name)!=""){greeting=new Element("span",{"class":"greeting",html:"<p>Welcome back, "+name+'.<br /><span class="smallText">If you are not '+name+', click <a href="#" onclick="wrongUser(\''+element+"')\">here.</a></span></p>"});$(element).grab(greeting)}}function wrongUser(element){Cookie.dispose("firstName");Cookie.dispose("familyName");Cookie.dispose("title");Cookie.dispose("qualification");Cookie.dispose("knownUser");var greeting=$(element).getElements("span.greeting");if(greeting!=null){greeting.dispose()}return false}function Queue(){var queue=[];var queueSpace=0;this.size=function(){return queue.length-queueSpace};this.empty=function(){return(queue.length==0)};this.push=function(element){queue.push(element)};this.pop=function(){var element=undefined;if(queue.length){element=queue[queueSpace];if(++queueSpace*2>=queue.length){queue=queue.slice(queueSpace);queueSpace=0}}return element};this.front=function(){var element=undefined;if(queue.length){element=queue[queueSpace]}return element};this.toArray=function(){return queue}}function rebuildQueue(array){var queue=new Queue();for(var i=0,len=array.length;i<len;i++){queue.push(array[i])}return queue}function serializeQueue(queue){var pages=new Array(queue.size());var i=0;while(!queue.empty()){pages[i++]=queue.pop()}return JSON.encode(pages)}function trackPage(){if(!document.URL.match(/.*\.action$/)&&document.URL.indexOf("?")==-1){var pageQueue=$defined(Cookie.read("pagesVisited"))?rebuildQueue(eval(Cookie.read("pagesVisited"))):new Queue();var keywords="";if($defined($(document).getElement("meta[name=keywords]"))){keywords=$(document).getElement("meta[name=keywords]").getProperty("content")}var title=tmptitle;var currentPage={title:title,url:document.URL,keywords:keywords};var alreadyTracked=false;var pages=pageQueue.toArray();for(var i=0,l=pages.length;i<l;i++){if(pages[i].url==currentPage.url){alreadyTracked=true}}if(!alreadyTracked){if(pageQueue.size()==5){pageQueue.pop()}pageQueue.push(currentPage);var serialized=serializeQueue(pageQueue);Cookie.write("pagesVisited",serialized,{path:"/"})}}};