Cwo.RegisterNamespace("Cwo.AutoCompleteGeneric");Cwo.AutoCompleteGeneric=function(p,C,b,q,w,o,B,h,t,u,d,k,x){var G=this,D=h,v=t,y=$("#"+C),s=$("#"+b),i=$("#"+q),e=b,F=w,g=p,E=$("#"+g),j=$("#"+p+" span"),n=d,c=B,z=o,m=k,A=x;G.Visible=false;u.InstanceInformation.Textbox=y;u.InstanceInformation.Data=m;function H(){y.attr("tabindex",0);if(A){y.focus()}if(y.val()===""){if(D.length>0){y.removeClass().addClass(D)}}i.bind("click",function(){if(y.val().length>0){s.empty();u.OverrideSearchClick()}else{if(v.length>0){y.removeClass().addClass(v);y.addClass(v)}}})}function l(){var I=$("#"+e+" li.Selected");if(I.size()>0){I.next().addClass("Selected")}else{$("#"+e+" li:first").addClass("Selected")}I.removeClass("Selected")}function r(){var I=$("#"+e+" li.Selected");if(I.size()>0){I.prev().addClass("Selected")}else{$("#"+e+" li:last").addClass("Selected")}I.removeClass("Selected")}function a(){var I=$("#"+e+" li.Selected");if(I.size()>0){y.val(I.text());s.empty()}if(y.val().length>0){s.empty();u.OverrideItemSelect()}else{if(v.length>0){y.removeClass().addClass(v);y.addClass(v)}}}function f(){var I=y.val();if(I.length===0){s.empty();if(G.Visible){G.Visible=false;Cwo.Page.EventController.FireEvent("SearchPredictiveBox.VisibilityChange.Invisible")}y.removeClass().addClass(D);return}y.removeClass();I=G.RemoveIllegalCharacters(I);var J=G.ValidCharacterCheck(I,I.length);I=I.replace(/['']/g,"\\'");var L=Cwo.Page.AjajCalls.CreateRequest("GenrcSearchSuggestion");var K='{"FormValue":"'+I+'"}';new Cwo.AjaxCall(F,K,function(M){G.Updated(M,L)},null,null,true)}this.ForceUpdate=function(I){y.val($(I).text());a()};this.KeyPressed=function(I){var J=I.keyCode?I.keyCode:I.which?I.which:I.charCode;var K={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};switch(J){case K.UP:r();break;case K.DOWN:l();break;case K.TAB:l();break;case K.RETURN:a();break;case K.ESC:s.empty();break;default:f();break}return};this.Updated=function(J,O){if(Cwo.Page.AjajCalls.IsCurrentSequenceIndex("GenrcSearchSuggestion",O)){var L=J.d;var I=y.val().length;s.empty();for(var K in L){if(L.length!==0){var N=L[K];var P="<em>"+N.substr(0,I)+"</em>"+N.substr(I,N.length-I);var M="";if(z.toString().length>1&&c.toString().length===0){M=' href="'+z+N+'" '}else{if(z.toString().length>1&&c.toString().length>1){M=' href="'+z+N+c+'"'}else{if(z.toString().length===0&&c.toString().length>1){M=' href="'+N+c+'"'}else{M=' href="'+z+'#" '}}}s.append('<li><a onclick="'+n+'.ForceUpdate(this)"'+M+' title="'+N+' tabindex=0">'+P+"</a></li>")}}if(!G.Visible){G.Visible=true;Cwo.Page.EventController.FireEvent("SearchPredictiveBox.VisibilityChange.Visible")}$("#"+e+" li:last").addClass("Last")}};this.RemoveIllegalCharacters=function(I){var J=new RegExp("\\\\","g");I=I.replace(J,"");I=I.replace(/[#%*{}+@:<>""|?]/g,"");I=I.replace(/[&]/g,"and");return I};this.ValidCharacterCheck=function(I,K){var M="";var J=false;for(var L=0;L<K;L++){M=I.charAt(L);M=M.match("^[a-zA-Z0-9!()-,_;~]$")?J=true:J=false;if(J===true){return true}}return J};this.SetPlace=function(I){y.val(I);if(y.val()===""){j.removeClass().addClass(D)}};this.DemandEntry=function(){y.removeClass().addClass(v)};$(document).ready(function(){Cwo.AutoCompleteGeneric.OnStart=function(){if($.browser.opera){y.bind("keypress",function(J){G.KeyPressed(J)})}else{y.bind("keyup",function(J){G.KeyPressed(J)})}y.focus(function(){if(y.val()===""){j.removeClass(v).addClass(D)}}).blur(function(){if(y.val()===""){j.removeClass(v).addClass(D)}});H()};if(navigator.userAgent.indexOf("MSIE")>-1){Cwo.AutoCompleteGeneric.OnStart();return}try{Cwo.AutoCompleteGeneric.OnStart()}catch(I){Cwo.Error.TrackError(I)}})};Cwo.RegisterNamespace("Cwo.AutoCompleteGeneric.ChainFree");Cwo.AutoCompleteGeneric.ChainFree=new function(){var a=this;this.InstanceInformation={Textbox:Object};$(document).ready(function(){$("#"+a.InstanceInformation.ResultsContainerId).css("display","none")});this.OverrideSearchClick=function(){this.RedirectUser()};this.OverrideItemSelect=function(){this.RedirectUser()};this.RedirectUser=function(){var b=a.InstanceInformation.Textbox.val();window.location="/buy/search/"+b+"/p chainfree/"}};Cwo.RegisterNamespace("Cwo.AutoCompleteGeneric.ChainFreeProfessional");Cwo.AutoCompleteGeneric.ChainFreeProfessional=new function(){var a=this;this.InstanceInformation={Textbox:Object};$(document).ready(function(){$("#"+a.InstanceInformation.ResultsContainerId).css("display","none")});this.OverrideSearchClick=function(){this.RedirectUser()};this.OverrideItemSelect=function(){this.RedirectUser()};this.RedirectUser=function(){var b=a.InstanceInformation.Textbox.val();window.location="/buy/search/"+b+"/p chainfreeprofessional/"}};
