(function(n){var t=-1;n.fn.extend({autocomplete:function(t,i){var r=typeof t=="string";return i=n.extend({},n.Autocompleter.defaults,{url:r?t:null,data:r?null:t,delay:r?n.Autocompleter.defaults.delay:0,max:i&&!i.scroll?10:150},i),i.highlight=i.highlight||function(n){return n},i.formatMatch=i.formatMatch||i.formatItem,this.each(function(){new n.Autocompleter(this,i)})},result:function(n){return this.bind("result",n)},search:function(n){return this.trigger("search",[n])},flushCache:function(){return this.trigger("flushCache")},setOptions:function(n){return this.trigger("setOptions",[n])},unautocomplete:function(){return this.trigger("unautocomplete")}}),n.Autocompleter=function(i,r){function d(){var o=u.selected(),t,e;if(!o)return!1;if(t=o.result,s=t,r.multiple){if(e=h(f.val()),e.length>1){var a=r.multipleSeparator.length,v=n(i).selection().start,l,c=0;n.each(e,function(n,t){if(c+=t.length,v<=c)return l=n,!1;c+=a}),e[l]=t,t=e.join(r.multipleSeparator)}t+=r.multipleSeparator}return f.val(t),y(),f.trigger("result",[o.data,o.value]),!0}function o(n,t){if(w==e.DEL){u.hide();return}var i=f.val();(t||i!=s)&&(s=i,i=v(i),i.length>=r.minChars?(f.addClass(r.loadingClass),r.matchCase||(i=i.toLowerCase()),g(i,rt,y)):(b(),u.hide()))}function h(t){return t?r.multiple?n.map(t.split(r.multipleSeparator),function(i){return n.trim(t).length?n.trim(i):null}):[n.trim(t)]:[""]}function v(t){var u,f;return r.multiple?(u=h(t),u.length==1)?u[0]:(f=n(i).selection().start,u=f==t.length?h(t):h(t.replace(t.substring(f),"")),u[u.length-1]):t}function tt(t,u){r.autoFill&&v(f.val()).toLowerCase()==t.toLowerCase()&&w!=e.BACKSPACE&&(f.val(f.val()+u.substring(v(s).length)),n(i).selection(s.length,s.length+u.length))}function it(){clearTimeout(c),c=setTimeout(y,200)}function y(){var n=u.visible();u.hide(),clearTimeout(c),b(),r.mustMatch&&f.search(function(n){if(!n)if(r.multiple){var t=h(f.val()).slice(0,-1);f.val(t.join(r.multipleSeparator)+(t.length?r.multipleSeparator:""))}else f.val(""),f.trigger("result",null)})}function rt(n,t){t&&t.length&&l?(b(),u.display(t,n),tt(n,t[0].value),u.show()):y()}function g(t,f,e){var o,s;r.matchCase||(t=t.toLowerCase()),o=a.load(t),o&&o.length?f(t,o):typeof r.url=="string"&&r.url.length>0?(s={timestamp:+new Date},n.each(r.extraParams,function(n,t){s[n]=typeof t=="function"?t():t}),n.ajax({mode:"abort",port:"autocomplete"+i.name,dataType:r.dataType,url:r.url,data:n.extend({q:v(t),limit:r.max},s),success:function(n){var i=r.parse&&r.parse(n)||ut(n);a.add(t,i),f(t,i)}})):(u.emptyList(),p!=null?p():e(t))}function ut(t){for(var f=[],e=t.split("\n"),i,u=0;u<e.length;u++)i=n.trim(e[u]),i&&(i=i.split("|"),f[f.length]={data:i,value:i[0],result:r.formatResult&&r.formatResult(i,i[0])||i[0]});return f}function b(){f.removeClass(r.loadingClass)}var e={LEFT:37,UP:38,RIGHT:39,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8},p=null;r.failure!=null&&typeof r.failure=="function"&&(p=r.failure);var f=n(i).attr("autocomplete","off").addClass(r.inputClass),c,s="",a=n.Autocompleter.Cache(r),l=0,w,k={mouseDownOnSelect:!1},u=n.Autocompleter.Select(r,i,d,k),nt;f.bind("keydown.autocomplete",function(i){l=1,w=i.keyCode;switch(i.keyCode){case e.UP:u.visible()?(i.preventDefault(),u.prev()):o(0,!0);break;case e.DOWN:u.visible()?(i.preventDefault(),u.next()):o(0,!0);break;case e.PAGEUP:u.visible()?(i.preventDefault(),u.pageUp()):o(0,!0);break;case e.PAGEDOWN:u.visible()?(i.preventDefault(),u.pageDown()):o(0,!0);break;case r.multiple&&n.trim(r.multipleSeparator)==","&&e.COMMA:case e.TAB:case e.RETURN:if(d())return i.preventDefault(),nt=!0,!1;break;case e.ESC:u.hide();break;case e.LEFT:case e.RIGHT:break;default:t=-1,clearTimeout(c),c=setTimeout(o,r.delay)}}).focus(function(){l++}).blur(function(){l=0,k.mouseDownOnSelect||it()}).click(function(){r.clickFire?u.visible()||o(0,!0):l++>=1&&!u.visible()&&o(0,!0)}).bind("search",function(){function i(n,i){var r,u;if(i&&i.length)for(u=0;u<i.length;u++)if(i[u].result.toLowerCase()==n.toLowerCase()){r=i[u];break}typeof t=="function"?t(r):f.trigger("result",r&&[r.data,r.value])}var t=arguments.length>1?arguments[1]:null;n.each(h(f.val()),function(n,t){g(t,i,i)})}).bind("flushCache",function(){a.flush()}).bind("setOptions",function(){n.extend(!0,r,arguments[1]),"data"in arguments[1]&&a.populate()}).bind("unautocomplete",function(){u.unbind(),f.unbind(),n(i.form).unbind(".autocomplete")})},n.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:!1,matchSubset:!0,matchContains:!1,cacheLength:100,max:1e3,mustMatch:!1,extraParams:{},selectFirst:!0,formatItem:function(n){return n[0]},formatMatch:null,autoFill:!1,width:"15%",multiple:!1,multipleSeparator:" ",inputFocus:!0,clickFire:!1,highlight:function(n,t){return n.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+t.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1<\/strong>")},scroll:!0,scrollHeight:180,scrollJumpPosition:!0},n.Autocompleter.Cache=function(t){function u(n,i){t.matchCase||(n=n.toLowerCase());var r=n.indexOf(i);return(t.matchContains=="word"&&(r=n.toLowerCase().search("\\b"+i.toLowerCase())),r==-1)?!1:r==0||t.matchContains}function f(n,u){r>t.cacheLength&&o(),i[n]||r++,i[n]=u}function e(){var r,h,u,c,i,e,o,s;if(!t.data)return!1;for(r={},h=0,t.url||(t.cacheLength=1),r[""]=[],u=0,c=t.data.length;u<c;u++)(i=t.data[u],i=typeof i=="string"?[i]:i,e=t.formatMatch(i,u+1,t.data.length),e!==!1)&&(o=e.charAt(0).toLowerCase(),r[o]||(r[o]=[]),s={value:e,data:i,result:t.formatResult&&t.formatResult(i)||e},r[o].push(s),h++<t.max&&r[""].push(s));n.each(r,function(n,i){t.cacheLength++,f(n,i)})}function o(){i={},r=0}var i={},r=0;return setTimeout(e,25),{flush:o,add:f,populate:e,load:function(f){var h,s,o,e;if(!t.cacheLength||!r)return null;if(!t.url&&t.matchContains){e=[];for(h in i)h.length>0&&(o=i[h],n.each(o,function(n,t){u(t.value,f)&&e.push(t)}));return e}if(i[f])return i[f];if(t.matchSubset)for(s=f.length-1;s>=t.minChars;s--)if(o=i[f.substr(0,s)],o)return e=[],n.each(o,function(n,t){u(t.value,f)&&(e[e.length]=t)}),e;return null}}},n.Autocompleter.Select=function(i,r,u,f){function b(){w&&(l=n("<div/>").hide().addClass(i.resultsClass).css("position","absolute").appendTo(document.body).hover(function(){n(this).is(":visible")&&r.focus(),f.mouseDownOnSelect=!1}),s=n("<ul/>").appendTo(l).mouseover(function(t){v(t).nodeName&&v(t).nodeName.toUpperCase()=="LI"&&(e=n("li",s).removeClass(h.ACTIVE).index(v(t)),n(v(t)).addClass(h.ACTIVE))}).click(function(t){return n(v(t)).addClass(h.ACTIVE),r.value=c[e].data.suggestion,u(),i.inputFocus&&r.focus(),!1}).mousedown(function(){f.mouseDownOnSelect=!0}).mouseup(function(){f.mouseDownOnSelect=!1}),i.width>0&&l.css("width",i.width),w=!1)}function v(n){for(var t=n.target;t&&t.tagName!="LI";)t=t.parentNode;return t?t:[]}function a(n){var r,t;o.slice(e,e+1).removeClass(h.ACTIVE),k(n),r=o.slice(e,e+1).addClass(h.ACTIVE),i.scroll&&(t=0,o.slice(0,e).each(function(){t+=this.offsetHeight}),t+r[0].offsetHeight-s.scrollTop()>s[0].clientHeight?s.scrollTop(t+r[0].offsetHeight-s.innerHeight()):t<s.scrollTop()&&s.scrollTop(t))}function k(n){t==-1&&(e=-1),e==-1&&(p=r.value),e+=n,e<-1?e=o.size()-1:e>=o.size()&&(e=-1),e>=0?c[e].data&&(r.value=c[e].data.suggestion):r.value=p,t=e}function d(n){return i.max&&i.max<n?i.max:n}function g(){var r,t,u,f;for(s.empty(),r=d(c.length),t=0;t<r;t++)c[t]&&c[t].data&&(u=i.formatItem(c[t].data,t+1,r,c[t].value,y),u!==!1)&&(f=n("<li/>").html(i.highlight(u,y)).addClass(t%2==0?"ac_even":"ac_odd").appendTo(s)[0],n.data(f,"ac_data",c[t]));o=s.find("li"),i.selectFirst&&(o.slice(0,1).addClass(h.ACTIVE),e=0),n.fn.bgiframe&&s.bgiframe()}var h={ACTIVE:"ac_over"},p="",o,e=-1,c,y="",w=!0,l,s;return{display:function(n,t){b(),c=n,y=t,g()},next:function(){a(1)},prev:function(){a(-1)},pageUp:function(){e!=0&&e-8<0?a(-e):a(-8)},pageDown:function(){e!=o.size()-1&&e+8>o.size()?a(o.size()-1-e):a(8)},hide:function(){l&&l.hide(),o&&o.removeClass(h.ACTIVE),e=-1},visible:function(){return l&&l.is(":visible")},current:function(){return this.visible()&&(o.filter("."+h.ACTIVE)[0]||i.selectFirst&&o[0])},show:function(){var t=n(r).offset();l.css({width:typeof i.width=="string"||i.width>0?i.width:n(r).width(),top:t.top+r.offsetHeight,left:t.left}).show(),i.scroll&&(s.scrollTop(0),s.css({maxHeight:i.scrollHeight,overflow:"auto"}))},selected:function(){var t=o&&o.filter("."+h.ACTIVE).removeClass(h.ACTIVE);return t&&t.length&&n.data(t[0],"ac_data")},emptyList:function(){s&&s.empty()},unbind:function(){l&&l.remove()}}},n.fn.selection=function(n,t){var i,r;if(n!==undefined)return this.each(function(){if(this.createTextRange){var i=this.createTextRange();t===undefined||n==t?(i.move("character",n),i.select()):(i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",t),i.select())}else this.setSelectionRange?this.setSelectionRange(n,t):this.selectionStart&&(this.selectionStart=n,this.selectionEnd=t)});if(i=this[0],i.createTextRange){var u=document.selection.createRange(),o=i.value,f="<->",e=u.text.length;return u.text=f,r=i.value.indexOf(f),i.value=o,this.selection(r,r+e),{start:r,end:r+e}}if(i.selectionStart!==undefined)return{start:i.selectionStart,end:i.selectionEnd}}})(jQuery),function(n){n.getQueryParam=function(n){for(var r=location.search.substring(1).split("&"),i,t=0,u=r.length;t<u;t++)if(i=r[t].split("="),i[0]==n)return i[1]||"";return undefined}}(jQuery),siteSeeker.initAutoCompletion=function(n){var t=n.url+"?sn="+siteSeeker.searchIndexName+"&sl="+siteSeeker.sl,i=siteSeeker.width?siteSeeker.width:"15%";$(n.targetElement).autocomplete(t,{width:i,delay:200,cacheLength:0,dataType:"json",selectFirst:!1,highlight:!1,scroll:!1,parse:function(n){return $.map(n,function(n){return{data:n,value:n.suggestion,result:n.suggestion}})},formatItem:function(n){if(n){var t="<span>"+n.nHits+"<\/span>";return t+" "+n.suggestionHighlighted}return}}).result(function(){var n=$(this).siblings(siteSeeker.searchButtonJSSelector);$(n).click()})},$(document).ready(function(){siteSeeker.initAutoCompletion&&siteSeeker.initAutoCompletion({targetElement:$(siteSeeker.autoCompleteSearchBoxJSSelector),url:siteSeeker.rootPath+"autocomplete.siteseeker"}),siteSeeker.initClickRegistration&&siteSeeker.initClickRegistration()})