SearchAssistant=Class.create({options:$H({className:"suggest",minimumCharacters:3,timeout:10000,delay:40,displayNoResults:true,noResultsMessage:"No Suggestion",cache:true,templateField:null,maxItems:10,onAjaxError:null,url:"/search/suggest.ashx"}),initialize:function(B,A){this.field=$(B);if(!this.field){throw ("SearchAssistant requires an input field ID to initialize")}$(this.field).writeAttribute({autocomplete:"off"});this.InputValue="";this.InputLength=0;this.options.update(A);this.ResponseCache=new Hash();this.TemplateInitialized=false;this.EventsBound=false;this.field.observe("focus",function(C){if(!this.EventsBound){this.setEvents()}}.bind(this));if($(this.field).present()&&$F(this.field)!="Destinations, hotels, attractions, etc."){this.getSuggestions($F(this.field))}},onKeyPress:function(B){var A=B.keyCode||B.which;switch(A){case Event.KEY_RETURN:Event.stop(B);this.setHighlightedValue(B);break;case Event.KEY_ESC:this.blur();break}},onKeyUp:function(B){var A=B.keyCode||B.which;if(A==Event.KEY_UP||A==Event.KEY_DOWN){this.changeHighlight(A);Event.stop(B)}else{this.getSuggestions(this.field.value)}},setEvents:function(){this.field.observe("keydown",function(A){return this.onKeyPress(A)}.bind(this));this.field.observe("keyup",function(A){return this.onKeyUp(A)}.bind(this));this.field.observe("blur",function(){this.blur()}.bind(this));this.EventsBound=true},getSuggestions:function(A){if(A==this.InputValue){return false}else{if(!this.TemplateInitialized){this.Template=TrimPath.parseDOMTemplate(this.options.get("templateField"));this.TemplateInitialized=true}}this.InputValue=A;if(A.length<this.options.get("minimumCharacters")){this.InputLength=A.length;return false}if(this.options.get("cache")&&this.ResponseCache.get(A)){this.renderList(this.ResponseCache.get(A));return false}clearTimeout(this.ajID);this.ajID=setTimeout(function(){this.doAjaxRequest(this.InputValue)}.bind(this),this.options.get("delay"));return false},doAjaxRequest:function(B){if(B!=this.field.value){return false}this.field.addClassName("busyField");var A={on404:function(C){if(console.error){console.error("Error (404): "+C.statusText)}},onFailure:function(C){if(console.error){console.error("AJAX Error : "+C.statusText)}if(typeof (this.options.get("onAjaxError"))=="function"){this.options.get("onAjaxError")(C)}},onSuccess:function(C){C.responseText=C.responseText.replace('"Location":{','"Location":[{');C.responseText=C.responseText.replace("\"}}}}}},'responseStatus':","\"}}}]}}},'responseStatus':");C.responseText=C.responseText.replace('}}}},"BusinessCards":',"}}}]},'BusinessCards':");C.responseText=C.responseText.replace(':{"BusinessCard":{',':{"BusinessCard":[{');C.responseText=C.responseText.replace("\"}}}},'responseStatus':","\"}]}}},'responseStatus':");this.setSuggestions(C.responseText.evalJSON(),B)}.bind(this)};new Ajax.Request(this.options.get("url")+"?q="+encodeURIComponent(this.InputValue).replace("+","%2B","g").replace("%20","+","g")+"&output=json&from=1&to="+this.options.get("maxItems"),A);this.field.removeClassName("busyField")},setSuggestions:function(B,A){if(A!=this.field.value){return false}this.Holder="suggest_"+this.field.id;if(this.options.get("cache")){this.ResponseCache.set(this.InputValue,B)}this.renderList(B)},renderList:function(B){if(B.responseData.Result.TotalResultsAvailable===0&&!this.options.get("displayNoResults")){return false}var C=$(this.field).cumulativeOffset();B.ContainerLeftOffset=C[0]+"px";B.ContainerTopOffset=C[1]+this.field.offsetHeight+"px";B.ContainerID=this.Holder;B.ContainerClassname=this.options.get("className");B.NoResultsMessage=this.options.get("noResultsMessage");var A=this.Template.process(B);if($(this.Holder)){Element.replace($(this.Holder),A)}else{$$("body")[0].insert(A,{position:"after"});$(this.Holder).observe("click",function(D){this.setHighlightedValue(D)}.bind(this));$(this.Holder).observe("mouseover",function(D){this.setHighlight(null,null,D)}.bind(this))}$(this.Holder).setOpacity(1)},changeHighlight:function(B){var A=$("suggestionItems");if(!A){return false}var C=$$("#suggestionItems li a").indexOf($$("#suggestionItems li a.suggestHighlight")[0]);C=(B==Event.KEY_DOWN||B==Event.KEY_TAB)?C+1:C-1;C=(C>=$$("#suggestionItems li a").length)?$$("#suggestionItems li a").length-1:((C<0)?0:C);if(B==Event.KEY_DOWN||B==Event.KEY_UP){this.setHighlight(C,true)}else{this.setHighlight(C)}},setHighlight:function(D,C,B){if(!B){if(!$("suggestionItems")){return false}this.clearHighlight();$$("#suggestionItems li a")[D].addClassName("suggestHighlight");if(C&&!$$(".suggestHighlight")[0].up().hasClassName("suggestCategory")){this.field.value=$$(".suggestHighlight")[0].up().readAttribute("name")}}else{var A=Event.findElement(B,"A");if(A){this.clearHighlight();$(A).addClassName("suggestHighlight");if(C){this.field.value=$(A).up().readAttribute("name")}}}},clearHighlight:function(){if($$("#suggestionItems li a.suggestHighlight").length==1){$$("#suggestionItems li a.suggestHighlight")[0].removeClassName("suggestHighlight")}},setHighlightedValue:function(B){var A=Event.findElement(B,"LI");if(A){if($(A).hasClassName("ac_warning")){$("Top_SearchSubmit").click()}else{this.InputValue=this.field.value=$(A).readAttribute("name");this.blur();location.href=$(A).down().href}if(this.field.selectionStart){this.field.setSelectionRange(this.InputValue.length,this.InputValue.length)}}else{if($$("#suggestionItems li a.suggestHighlight").length==1){location.href=$$("#suggestionItems li a.suggestHighlight")[0].href}else{location.href="/search/results.aspx?phrase="+escape(this.InputValue).replace("+","%2B","g").replace("%20","+","g")}return }},killTimeout:function(){clearTimeout(this.toID)},resetTimeout:function(){this.killTimeout();var A=this;this.toID=setTimeout(function(){this.blur()}.bind(this),this.options.get("timeout"))},blur:function(){this.killTimeout();if($(this.Holder)){this.fadeOut(0.3,null)}},fadeOut:function(A,B){new Effect.BlindUp($(this.Holder),{duration:A,afterFinish:B})}});var SearchAssistantUtil=new Object();SearchAssistantUtil.highlightSearchResult=function(C){var A=$F($$("#searchGlobal input")[0]).strip();var B=new RegExp(A.replace(/[[\]*\\.{}]/g,function(D){return"\\"+D}).replace(/\s+/g,"|"),"ig");return C.replace(B,function(D){return"<b>"+D+"</b>"})};
// TRIMPATH TEMPLATE
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 b;(8(){5(b==c)b=Q 2H();5(b.1R==c)b.1R=8(2q){a 1N(2q)};4 2e;5(1g.1c.1X==c)1g.1c.1X=8(){5(q.7===0){a 2e}a q[--q.7]};5(1g.1c.9==c)1g.1c.9=8(){G(4 i=0;i<2f.7;++i){q[q.7]=2f[i]}a q.7};b.1Q=8(1u,1J,H){5(H==c)H=b.E;4 1t=2w(1u,1J,H);4 1p=b.1R(1t,1J,1);5(1p!=c)a Q H.1Z(1J,1u,1t,1p,H);a c};2n{1K.1c.1B=8(z,1L){4 1M=b.1Q(q,c);5(1M!=c)a 1M.1B(z,1L);a q}}2p(e){}b.E={};b.E.27="2r|G|5|2g|I|4|1T";b.E.2c={"5":{C:1,N:"5 (",16:") {",1E:1},"I":{C:0,N:"} I {"},"2g":{C:0,N:"} I 5 (",16:") {",1H:"1r"},"/5":{C:-1,N:"}"},"G":{C:1,1E:3,1I:8(V,x,B,A){5(V[2]!="1h")1f Q A.X(B,x.u,"2K G 2L 1G: "+V.L(\' \'));4 P=V[1];4 Y="2M"+P;a["4 ",Y," = ",V[3],";","4 D;","5 (2i(D) == \'2m\' || !D.7) D = Q 1g();","D[D.7] = 0;","5 ((",Y,") != c) { ","4 ",P,"2h = 0;","G (4 ",P,"22 1h ",Y,") { ",P,"2h++;","5 (2i(",Y,"[",P,"22]) == \'8\') {2O;}","D[D.7 - 1]++;","4 ",P," = ",Y,"[",P,"22];"].L("")}},"2r":{C:0,N:"} } 5 (D[D.7 - 1] == 0) { 5 (",16:") {",1H:"1r"},"/G":{C:-1,N:"} }; 2R D[D.7 - 1];"},"4":{C:0,N:"4 ",16:";"},"1T":{C:1,1I:8(V,x,B,A){4 1S=V[1].1n(\'(\')[0];a["4 ",1S," = 8",V.2b(1).L(\' \').w(1S.7),"{ 4 1U = []; 4 T = { U: 8(m) { 5 (m) 1U.9(m); } }; "].L(\'\')}},"/1T":{C:-1,N:" a 1U.L(\'\'); };"}};b.E.1o={"2U":8(v){a""},"2j":8(s){a 1K(s).j(/&/g,"&2V;").j(/</g,"&2s;").j(/>/g,"&23;")},"2W":8(s){a 1K(s).2X()},"2Y":8(s,d){a s!=c?s:d}};b.E.1o.h=b.E.1o.2j;b.E.1Z=8(B,1u,1t,1p,A){q.1B=8(z,1k){5(z==c)z={};5(z.1l==c)z.1l={};5(z.2k==c)z.2k=8(2l){a(z[2l]!=2m)};G(4 k 1h A.1o){5(z.1l[k]==c)z.1l[k]=A.1o[k]}5(1k==c)1k={};4 1y=[];4 2o={U:8(m){1y.9(m)}};2n{1p(2o,z,1k)}2p(e){5(1k.2Z==1r)1f e;4 f=Q 1K(1y.L("")+"[30: "+e.20()+(e.1d?\'; \'+e.1d:\'\')+"]");f["31"]=e;a f}a 1y.L("")};q.1v=B;q.33=1u;q.34=1t;q.20=8(){a"b.1Z ["+B+"]"}};b.E.X=8(1v,u,1d){q.1v=1v;q.u=u;q.1d=1d};b.E.X.1c.20=8(){a("b 1M X 1h "+q.1v+": u "+q.u+", "+q.1d)};4 2w=8(o,B,A){o=2u(o);4 6=["4 29 = 8(T, 2x, 1Y) { 35 (2x) {"];4 x={15:[],u:1};4 W=-1;1w(W+1<o.7){4 p=W;p=o.R("{",p+1);1w(p>=0){4 Z=o.R(\'}\',p+1);4 y=o.w(p,Z);4 21=y.2d(/^\\{(24|25|1N)/);5(21){4 17=21[1];4 1D=p+17.7+1;4 1b=o.R(\'}\',1D);5(1b>=0){4 1j;5(1b-1D<=0){1j="{/"+17+"}"}I{1j=o.w(1D+1,1b)}4 1x=o.R(1j,1b+1);5(1x>=0){1q(o.w(W+1,p),6);4 11=o.w(1b+1,1x);5(17==\'24\'){1m(11,6)}I 5(17==\'25\'){1m(26(11),6)}I 5(17==\'1N\'){5(11!=c&&11.7>0)6.9(\'T.U( (8() { \'+11+\' })() );\')}p=W=1x+1j.7-1}}}I 5(o.O(p-1)!=\'$\'&&o.O(p-1)!=\'\\\\\'){4 1O=(o.O(p+1)==\'/\'?2:1);5(o.w(p+1O,p+10+1O).2y(b.E.27)==0)1e}p=o.R("{",p+1)}5(p<0)1e;4 Z=o.R("}",p+1);5(Z<0)1e;1q(o.w(W+1,p),6);2a(o.w(p,Z+1),x,6,B,A);W=Z}1q(o.w(W+1),6);5(x.15.7!=0)1f Q A.X(B,x.u,"2z, 2A 1G(s): "+x.15.L(","));6.9("}}; 29");a 6.L("")};4 2a=8(18,x,6,B,A){4 F=18.2b(1,-1).1n(\' \');4 y=A.2c[F[0]];5(y==c){1q(18,6);a}5(y.C<0){5(x.15.7<=0)1f Q A.X(B,x.u,"2B 2C 2D 2F 2d 2G 2I 1G: "+18);x.15.1X()}5(y.C>0)x.15.9(18);5(y.1E!=c&&y.1E>=F.7)1f Q A.X(B,x.u,"1G 2Q 2S 2T: "+18);5(y.1I!=c)6.9(y.1I(F,x,B,A));I 6.9(y.N);5(y.16!=c){5(F.7<=1){5(y.1H!=c)6.9(y.1H)}I{G(4 i=1;i<F.7;i++){5(i>1)6.9(\' \');6.9(F[i])}}6.9(y.16)}};4 1q=8(l,6){5(l.7<=0)a;4 M=0;4 K=l.7-1;1w(M<l.7&&(l.O(M)==\'\\n\'))M++;1w(K>=0&&(l.O(K)==\' \'||l.O(K)==\'\\t\'))K--;5(K<M)K=M;5(M>0){6.9(\'5 (1Y.2t == 1r) T.U("\');4 s=l.w(0,M).j(\'\\n\',\'\\\\n\');5(s.O(s.7-1)==\'\\n\')s=s.w(0,s.7-1);6.9(s);6.9(\'");\')}4 1C=l.w(M,K+1).1n(\'\\n\');G(4 i=0;i<1C.7;i++){2v(1C[i],6);5(i<1C.7-1)6.9(\'T.U("\\\\n");\\n\')}5(K+1<l.7){6.9(\'5 (1Y.2t == 1r) T.U("\');4 s=l.w(K+1).j(\'\\n\',\'\\\\n\');5(s.O(s.7-1)==\'\\n\')s=s.w(0,s.7-1);6.9(s);6.9(\'");\')}};4 2v=8(u,6){4 13=\'}\';4 1a=-1;1w(1a+13.7<u.7){4 1i="${",1A="}";4 12=u.R(1i,1a+13.7);5(12<0)1e;5(u.O(12+2)==\'%\'){1i="${%";1A="%}"}4 1z=u.R(1A,12+1i.7);5(1z<0)1e;1m(u.w(1a+13.7,12),6);4 J=u.w(12+1i.7,1z).j(/\\|\\|/g,"#@@#").1n(\'|\');G(4 k 1h J){5(J[k].j)J[k]=J[k].j(/#@@#/g,\'||\')}6.9(\'T.U(\');1V(J,J.7-1,6);6.9(\');\');1a=1z;13=1A}1m(u.w(1a+13.7),6)};4 1m=8(l,6){5(l==c||l.7<=0)a;l=l.j(/\\\\/g,\'\\\\\\\\\');l=l.j(/\\n/g,\'\\\\n\');l=l.j(/"/g,\'\\\\"\');6.9(\'T.U("\');6.9(l);6.9(\'");\')};4 1V=8(J,1F,6){4 1P=J[1F];5(1F<=0){6.9(1P);a}4 F=1P.1n(\':\');6.9(\'1l["\');6.9(F[0]);6.9(\'"](\');1V(J,1F-1,6);5(F.7>1){6.9(\',\');6.9(F[1])};6.9(\')\')};4 2u=8(f){f=f.j(/\\t/g,"    ");f=f.j(/\\r\\n/g,"\\n");f=f.j(/\\r/g,"\\n");f=f.j(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/,\'$1\');a f};4 26=8(f){f=f.j(/^\\s+/g,"");f=f.j(/\\s+$/g,"");f=f.j(/\\s+/g," ");f=f.j(/^(\\s*\\S*(\\s+\\S+)*)\\s*$/,\'$1\');a f};b.28=8(1s,19,H){5(19==c)19=2E;4 1W=19.2J(1s);4 14=1W.2N;5(14==c)14=1W.32;14=14.j(/&2s;/g,"<").j(/&23;/g,">");a b.1Q(14,1s,H)};b.2P=8(1s,z,1L,19,H){a b.28(1s,19,H).1B(z,1L)}})();',62,192,'||||var|if|funcText|length|function|push|return|TrimPath|null|||result||||replace||text|||body|begStmt|this||||line||substring|state|stmt|context|etc|tmplName|delta|__LENGTH_STACK__|parseTemplate_etc|parts|for|optEtc|else|exprArr|nlSuffix|join|nlPrefix|prefix|charAt|iterVar|new|indexOf||_OUT|write|stmtParts|endStmtPrev|ParseError|listVar|endStmt||blockText|begExpr|endMarkPrev|content|stack|suffix|blockType|stmtStr|optDocument|endExprPrev|blockMarkerEnd|prototype|message|break|throw|Array|in|begMark|blockMarker|flags|_MODIFIERS|emitText|split|modifierDef|func|emitSectionText|true|elementId|funcSrc|tmplContent|name|while|blockEnd|resultArr|endExpr|endMark|process|lines|blockMarkerBeg|paramMin|index|statement|paramDefault|prefixFunc|optTmplName|String|optFlags|template|eval|offset|expr|parseTemplate|evalEx|macroName|macro|_OUT_arr|emitExpression|element|pop|_FLAGS|Template|toString|blockrx|_index|gt|cdata|minify|scrubWhiteSpace|statementTag|parseDOMTemplate|TrimPath_Template_TEMP|emitStatement|slice|statementDef|match|UNDEFINED|arguments|elseif|_ct|typeof|escape|defined|str|undefined|try|resultOut|catch|src|forelse|lt|keepWhitespace|cleanWhiteSpace|emitSectionTextLine|parse|_CONTEXT|search|unclosed|unmatched|close|tag|does|document|not|any|Object|previous|getElementById|bad|loop|__LIST__|value|continue|processDOMTemplate|needs|delete|more|parameters|eat|amp|capitalize|toUpperCase|default|throwExceptions|ERROR|exception|innerHTML|source|sourceFunc|with'.split('|'),0,{}))