(function(a){a.fn.extend({autocomplete:function(d,c){var b=typeof d=="string";c=a.extend({},a.Autocompleter.defaults,{url:b?d:null,data:b?null:d,delay:b?a.Autocompleter.defaults.delay:10,max:c&&!c.scroll?c.limit:150},c);c.highlight=c.highlight||function(e){return e};c.formatMatch=c.formatMatch||c.formatItem;return this.each(function(){new a.Autocompleter(this,c)})},result:function(b){return this.bind("result",b)},search:function(b){return this.trigger("search",[b])},flushCache:function(){return this.trigger("flushCache")},setOptions:function(b){return this.trigger("setOptions",[b])},unautocomplete:function(){return this.trigger("unautocomplete")}});a.Autocompleter=function(m,r){var n={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var c=a(m).addClass(r.inputClass);var b=a(m.form);var d;var e;var z;var t="";var h=a.Autocompleter.Cache(r);var j=0;var o;var i={mouseDownOnSelect:false};var w=a.Autocompleter.Select(r,m,x,i);var g;if(r.turnOffAuto){c.attr("autocomplete","off")}a.browser.opera&&a(m.form).bind("submit.autocomplete",function(){if(g){g=false;return false}});a(m).data("keypressesId",b.attr("id")+"_keypresses");a(m).data("suggestedId",b.attr("id")+"_suggested");b.append('<input id="'+b.attr("id")+'_keypresses" name="'+b.attr("id")+'_keypresses" type="hidden" value="0" />');b.append('<input id="'+b.attr("id")+'_suggested" name="'+b.attr("id")+'_suggested" type="hidden" value="0" />');d=a("#"+a(m).data("keypressesId"));e=a("#"+a(m).data("suggestedId"));c.bind((a.browser.opera?"keypress":"keydown")+".autocomplete",function(B){o=B.keyCode;if(j<1){j=1}switch(B.keyCode){case n.UP:B.preventDefault();if(w.visible()){w.prev()}else{q(0,true)}break;case n.DOWN:B.preventDefault();a(m).data("userClosed",false);if(w.visible()){w.next()}else{q(0,true)}break;case n.PAGEUP:B.preventDefault();if(w.visible()){w.pageUp()}else{q(0,true)}break;case n.PAGEDOWN:B.preventDefault();if(w.visible()){w.pageDown()}else{q(0,true)}break;case r.multiple&&a.trim(r.multipleSeparator)==","&&n.COMMA:case n.TAB:case n.RETURN:if(x()&&r.preventEnterSubmit){B.preventDefault();g=true;return false}break;case n.ESC:w.hide();break;default:var C=parseInt(d.val());clearTimeout(z);z=setTimeout(function(){q()},r.delay);d.val(C+1);break}}).focus(function(){j++}).blur(function(){j=0;if(!i.mouseDownOnSelect){k()}}).click(function(){if(j++>1&&!w.visible()){q(0,true)}}).bind("search",function(){var C=(arguments.length>1)?arguments[1]:null;function B(F,D){var G;if(D&&D.length){for(var E=0;E<D.length;E++){if(D[E].result.toLowerCase()==F.toLowerCase()){G=D[E];break}}}if(typeof C=="function"){C(G)}else{c.trigger("result",G&&[G.data,G.value])}}a.each(A(c.val()),function(D,E){v(E,B,B)})}).bind("flushCache",function(){h.flush()}).bind("setOptions",function(){a.extend(r,arguments[1]);if("data" in arguments[1]){h.populate()}}).bind("unautocomplete",function(){w.unbind();c.unbind();a(m.form).unbind(".autocomplete")});function x(){var C=w.selected();if(!C){return false}var D=C.result;t=D;if(r.multiple){var E=A(c.val());if(E.length>1){D=E.slice(0,E.length-1).join(r.multipleSeparator)+r.multipleSeparator+D}D+=r.multipleSeparator}if(document.selection){c.val("");c.focus();var B=document.selection.createRange();B.text=D}else{c.val(D)}l();c.trigger("result",[C.data,C.value]);return true}function q(B,D){var C=c.val();a(m).data("currentValue",C);w.toTop();t=C;C=p(C);if(C.length==0){a(m).data("userClosed",false);e.val("0")}if(C.length>=r.minChars&&!a(m).data("userClosed")){c.addClass(r.loadingClass);if(!r.matchCase){C=C.toLowerCase()}v(C,u,l)}else{y();w.hide()}}function A(C){if(!C){return[""]}var D=C.split(r.multipleSeparator);var B=[];a.each(D,function(E,F){if(a.trim(F)){B[E]=a.trim(F)}});return B}function p(B){if(!r.multiple){return B}var C=A(B);return C[C.length-1]}function f(B,C){if(r.autoFill&&(p(c.val()).toLowerCase()==B.toLowerCase())&&o!=n.BACKSPACE){c.val(c.val()+C.substring(p(t).length));a.Autocompleter.Selection(m,t.length,t.length+C.length)}}function k(){clearTimeout(z);z=setTimeout(l,200)}function l(){w.hide();clearTimeout(z);y();if(r.mustMatch){c.search(function(B){if(!B){if(r.multiple){var C=A(c.val()).slice(0,-1);c.val(C.join(r.multipleSeparator)+(C.length?r.multipleSeparator:""))}else{c.val("")}}})}}function u(D,C){if(C&&C.length&&j){y();w.display(C,D);f(D,C[0].value);w.show();var B=a(".ac_results:visible");if(a(".ie6").length==0){B.width("auto").css("width",Math.max(r.input.outerWidth()-2,B.outerWidth()-2))}}else{l()}}function v(F,E,D){if(!r.matchCase){F=F.toLowerCase()}var B=h.load(F);if(B&&B.length){E(F,B)}else{if((typeof r.url=="string")&&(r.url.length>0)){var C={timestamp:+new Date()};a.each(r.extraParams,function(G,H){C[G]=typeof H=="function"?H():H});a.ajax({mode:"abort",port:"autocomplete"+m.name,dataType:r.dataType,url:r.url,data:a.extend({q:p(F),limit:r.max},C),success:function(G){var H=r.parse&&r.parse(G)||s(G);h.add(F,H);E(F,H)}})}else{w.emptyList();D(F)}}}function s(B){var D=[];var F=B.split("\n");for(var C=0;C<F.length;C++){var E=a.trim(F[C]);if(E){E=E.split("|");D[D.length]={data:E,value:E[0],result:r.formatResult&&r.formatResult(E,E[0])||E[0]}}}return D}function y(){c.removeClass(r.loadingClass)}};a.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchContains:false,matchSubset:false,matchContains:false,cacheLength:100,max:100,mustMatch:false,extraParams:{},selectFirst:false,formatItem:function(c){var b=c[0];if(b.length>20){b=b.substring(0,20);b=b+"&#8230;"}return b},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(c,b){b=b.replace(/^[\s]{1,}/,"");return c.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+b.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","i"),"<strong>$1</strong>")},scroll:true,scrollHeight:280,closeElement:'<div class="CloseSuggestions" id="CloseSuggestions"><span>Close suggestions</span></div>',conditionalElementId:"",preventEnterSubmit:true,clickToSubmit:true,turnOffAuto:true};a.Autocompleter.Cache=function(h){var c={};var f=0;var e="";if(h.conditionalElementId!=""){e=a("#"+h.conditionalElementId).val()}function g(k,l){if(!h.matchCase){k=k.toLowerCase()}var j=k.indexOf(l);if(j==-1){return false}return j==0||h.matchContains}function b(j,k){if(f>h.cacheLength){d()}if(!c[j]){f++}c[j]=k}function i(){if(!h.data){return false}var p={},l=0;if(!h.url){h.cacheLength=1}p[""]=[];for(var k=0,m=h.data.length;k<m;k++){var n=h.data[k];n=(typeof n=="string")?[n]:n;var q=h.formatMatch(n,k+1,h.data.length);if(q===false){continue}var j=q.charAt(0).toLowerCase();if(!p[j]){p[j]=[]}var o={value:q,data:n,result:h.formatResult&&h.formatResult(n)||q};p[j].push(o);if(l++<h.max){p[""].push(o)}}a.each(p,function(r,s){h.cacheLength++;b(r,s)})}setTimeout(i,25);function d(){c={};f=0}return{flush:d,add:b,populate:i,load:function(o){if(!h.cacheLength||!f){return null}if((h.conditionalElementId=="")||(e!=a("#"+h.conditionalElementId).val())){d()}if(h.conditionalElementId!=""){e=a("#"+h.conditionalElementId).val()}if(!h.url&&h.matchContains){var l=[];for(var n in c){if(n.length>0){var j=c[n];a.each(j,function(k,p){if(g(p.value,o)){l.push(p)}})}}return l}else{if(c[o]){return c[o]}else{if(h.matchSubset){for(var m=o.length-1;m>=h.minChars;m--){var j=c[o.substr(0,m)];if(j){var l=[];a.each(j,function(k,p){if(g(p.value,o)){l[l.length]=p}});return l}}}}}return null}}};a.Autocompleter.Select=function(q,j,r,d){var c={ACTIVE:"ac_over"};var m,b=-1,f,t="",p=true,g,l,e;function i(){if(!p){return}g=a("<div/>").hide().addClass(q.resultsClass).css("position","absolute").appendTo(document.body);l=a("<ul/>").appendTo(g).mouseover(function(u){if(s(u).nodeName&&s(u).nodeName.toUpperCase()=="LI"){b=a("li",l).removeClass(c.ACTIVE).index(s(u));a(s(u)).addClass(c.ACTIVE)}}).click(function(u){a(s(u)).addClass(c.ACTIVE);r();j.focus();a("#"+a(j).data("suggestedId")).val(a(j).val().length);if(q.clickToSubmit){a(j).closest("form").submit()}return false}).mousedown(function(){d.mouseDownOnSelect=true}).mouseup(function(){d.mouseDownOnSelect=false});g.append(q.closeElement);$closeElement=a("#"+a(q.closeElement).attr("id"));$closeElement.click(function(){a(j).data("userClosed",true)});if(q.input){g.css("width",q.input.outerWidth()-2)}p=false}function s(v){var u=v.target;while(u&&u.tagName!="LI"){u=u.parentNode}if(!u){return[]}return u}function o(y){m.slice(b,b+1).removeClass(c.ACTIVE);n(y);if(b>-1){var v=m.slice(b,b+1).addClass(c.ACTIVE);var x=v[0];var u=a(x);a(j).val(a(x).data("untruncated"));a("#"+a(j).data("suggestedId")).val(a(x).data("untruncated")[0].length);if(q.scroll){var w=0;m.slice(0,b).each(function(){w+=this.offsetHeight});if((w+v[0].offsetHeight-l.scrollTop())>l[0].clientHeight){l.scrollTop(w+v[0].offsetHeight-l.innerHeight())}else{if(w<l.scrollTop()){l.scrollTop(w)}}}}else{a(j).val(a(j).data("currentValue"))}}function n(u){b+=u;if(b<0||b>=m.size()){b=-1;a(j).focus()}}function k(u){return q.max&&q.max<u?q.max:u}function h(){l.empty();e=a(j).val();var x=k(f.length);for(var v=0;v<x;v++){if(!f[v]){continue}var u=q.formatItem(f[v].data,v+1,x,f[v].value,t);if(u===false){continue}var w=a("<li/>").html(q.highlight(u,t)).addClass(v%2==0?"ac_even":"ac_odd").appendTo(l)[0];a(w).data("untruncated",f[v].data);a(w).data("ac_data",f[v])}m=l.find("li");if(q.selectFirst){m.slice(0,1).addClass(c.ACTIVE);b=0}if(a.fn.bgiframe){g.bgiframe()}}return{display:function(u,v){i();f=u;t=v;h()},next:function(){o(1)},prev:function(){if(b==-1){o(m.size())}else{o(-1)}},pageUp:function(){if(b!=0&&b-8<0){o(-b)}else{o(-8)}},pageDown:function(){if(b!=m.size()-1&&b+8>m.size()){o(m.size()-1-b)}else{o(8)}},hide:function(){g&&g.hide();m&&m.removeClass(c.ACTIVE);b=-1},visible:function(){return g&&g.is(":visible")},current:function(){return this.visible()&&(m.filter("."+c.ACTIVE)[0]||q.selectFirst&&m[0])},toTop:function(){if(b>-1){o(-(b+1))}},show:function(){var v=a(j).offset();g.css({top:v.top+j.offsetHeight,left:v.left}).show();if(q.scroll){l.scrollTop(0);l.css({maxHeight:q.scrollHeight,overflow:"auto"});if(a.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var u=0;m.each(function(){u+=this.offsetHeight});var w=u>q.scrollHeight;l.css("height",w?q.scrollHeight:u);if(!w){m.width(l.width()-parseInt(m.css("padding-left"))-parseInt(m.css("padding-right")))}}}},selected:function(){var u=m&&m.filter("."+c.ACTIVE).removeClass(c.ACTIVE);return u&&u.length&&a(u[0]).data("ac_data")},emptyList:function(){l&&l.empty()},unbind:function(){g&&g.remove()}}};a.Autocompleter.Selection=function(c,e,b){if(c.createTextRange){var d=c.createTextRange();d.collapse(true);d.moveStart("character",e);d.moveEnd("character",b);d.select()}else{if(c.setSelectionRange){c.setSelectionRange(e,b)}else{if(c.selectionStart){c.selectionStart=e;c.selectionEnd=b}}}c.focus()}})(jQuery);var setupOtherSearchSuggest=function(){};(function(a){a(document).ready(function(){function c(){var e=a("#searchType");if(e.length>0){var d=a("#searchString");if(d.length>0){var g="/API/Ajax/GeneralSuggest.aspx";var f={extraParams:{mcat:function(){return a("#searchType").val()}},delay:100,conditionalElementId:"searchType",input:d,closeElement:'<div class="HideSuggestions" id="GeneralHideSuggestions"><a href="javascript:void(0);">Hide suggestions</a></div>',formatItem:function(i){var h=i[0];if(h.length>35){h=h.substring(0,35);h=h+"&#8230;"}return h},max:10,preventEnterSubmit:false,turnOffAuto:false};d.autocomplete(g,f)}}}function b(){var d=a("#searchTitle");if(d.length>0){var f="/API/Ajax/Suggest.aspx";var e={extraParams:{mcat:function(){return a("#mcat").val()}},delay:100,max:15,input:d,conditionalElementId:"mcat",closeElement:'<div class="HideSuggestions" id="DvdHideSuggestions"><a href="javascript:void(0);">Hide suggestions</a></div>',formatItem:function(h){var g=h[0];if(g.length>100){g=g.substring(0,100);g=g+"&#8230;"}return g},scroll:false,preventEnterSubmit:false};d.autocomplete(f,e)}}setupOtherSearchSuggest=function(){var e=a("#sidebarSearch input[name=mcat], #PropertySearchForm input[name=mcat], .jobs-advanced #JobsCat");if(e.length<=0){return}var d=a("#sidebar-15,#sidebar-153,#sidebar-54, .jobs-advanced #Keyword");if(d.length>0){var g="/API/Ajax/GeneralSuggest.aspx";var f={extraParams:{mcat:function(){var i=a("#searchType").val();var h=e.val();return i.indexOf(h)>=0?i:h},make:function(){return a("#sidebar-Make").val()}},delay:100,conditionalElementId:"searchType",input:d,closeElement:'<div class="HideSuggestions" id="GeneralHideSuggestions"><a href="javascript:void(0);">Hide suggestions</a></div>',formatItem:function(i){var h=i[0];if(h.length>35){h=h.substring(0,35);h=h+"&#8230;"}return h},max:10,preventEnterSubmit:false,turnOffAuto:true,clickToSubmit:false};d.unautocomplete();d.autocomplete(g,f)}};c();b();setupOtherSearchSuggest()})})(jQuery);
