ha.settings.autocompleteURL=getAutocompleteUrl();brand.searchbrand=brand.searchBrand;function getAutocompleteUrl(){if(location.hostname.indexOf("localhost")>-1||location.href.indexOf(":8080/")>-1){return"/ajax/autocomplete"}else{if(brand.locale=="en_US"){return"/app/typeahead_ha/webservices/matches"}else{if(brand.locale=="en_GB"){return"/app/typeahead_hr/webservices/matches"}else{return"/app/typeahead_"+brand.languageCode+"/webservices/matches"}}}}function formatItem(d,c,b,a){return d[1]+" ("+d[3]+")"}function selectItem(a,b){findValue(a);$("#"+b+" .input-keyword").focus()}function findValue(a){if(a==null){return}if(!!a.extra){var b=a.extra[0]}else{var b=a.selectValue}}jQuery.autocomplete=function(d,u){var p=this;var y=$(d).attr("autocomplete","off");if(u.inputClass){y.addClass(u.inputClass)}var q=document.createElement("div");var h=$(q);h.hide().addClass(u.resultsClass).css("position","absolute");if(u.width>0){h.css("width",u.width)}$("body").append(q);d.autocompleter=p;var H=null;var x="";var I=-1;var j={};var A=false;var l=false;var a=null;function m(){j={};j.data={};j.length=0}m();if(u.data!=null){var s="",N={},n=[];if(typeof u.url!="string"){u.cacheLength=1}for(var L=0;L<u.data.length;L++){n=((typeof u.data[L]=="string")?[u.data[L]]:u.data[L]);if(n[0].length>0){s=n[0].substring(0,1).toLowerCase();if(!N[s]){N[s]=[]}N[s].push(n)}}for(var K in N){u.cacheLength++;e(K,N[K])}}y.keydown(function(i){a=i.keyCode;switch(i.keyCode){case 38:i.preventDefault();D(-1);break;case 40:i.preventDefault();D(1);break;case 9:case 13:if(F()){y.get(0).blur();i.preventDefault()}break;default:I=-1;if(H){clearTimeout(H)}H=setTimeout(function(){t()},u.delay);break}}).focus(function(){l=true}).blur(function(){l=false;c()});v();function t(){if(a==46||(a>8&&a<32)){return h.hide()}var i=y.val();if(i==x){return}x=i;if(i.length>=u.minChars){y.addClass(u.loadingClass);C(i)}else{y.removeClass(u.loadingClass);h.hide()}}function D(k){var i=$("li",q);if(!i){return}I+=k;if(I<0){I=0}else{if(I>=i.size()){I=i.size()-1}}i.removeClass("ac_over");$(i[I]).addClass("ac_over")}function F(){var i=$("li.ac_over",q)[0];if(!i){var k=$("li",q);if(u.selectOnly){if(k.length==1){i=k[0]}}else{if(u.selectFirst){i=k[0]}}}if(i){r(i);return true}else{return false}}function r(i){if(!i){i=document.createElement("li");i.extra=[];i.selectValue=""}var k=$.trim(i.selectValue?i.selectValue:i.innerHTML);d.lastSelected=k;x=k;h.html("");y.val(k);v();if(u.onItemSelect){setTimeout(function(){u.onItemSelect(i,$(y).parents("form").attr("id"))},1)}}function b(P,k){var O=y.get(0);if(O.createTextRange){var i=O.createTextRange();i.collapse(true);i.moveStart("character",P);i.moveEnd("character",k);i.select()}else{if(O.setSelectionRange){O.setSelectionRange(P,k)}else{if(O.selectionStart){O.selectionStart=P;O.selectionEnd=k}}}O.focus()}function w(i){if(a!=8){y.val(y.val()+i.substring(x.length));b(x.length,i.length)}}function E(){var k=z(d);var i=(u.width>0)?u.width:y.width();h.css({width:parseInt(i)+"px",top:(k.y+d.offsetHeight)+"px",left:k.x+"px"}).show()}function c(){if(H){clearTimeout(H)}H=setTimeout(v,200)}function v(){if(H){clearTimeout(H)}y.removeClass(u.loadingClass);if(h.is(":visible")){h.hide()}if(u.mustMatch){var i=y.val();if(i!=d.lastSelected){r(null)}}}function g(k,i){if(i){y.removeClass(u.loadingClass);q.innerHTML="";if(!l||i.length==0){return v()}if($.browser.msie){h.append(document.createElement("iframe"))}q.appendChild(J(i));if(u.autoFill&&(y.val().toLowerCase()==k.toLowerCase())){w(i[0][0])}E()}else{v()}}function f(Q){if(!Q){return null}var k=[];var P=Q.split(u.lineSeparator);for(var O=0;O<P.length;O++){var R=$.trim(P[O]);if(R){k[k.length]=R.split(u.cellSeparator)}}return k}function J(T){var S=document.createElement("ul");var Q=T.length;if((u.maxItemsToShow>0)&&(u.maxItemsToShow<Q)){Q=u.maxItemsToShow}for(var R=0;R<Q;R++){var U=T[R];if(!U){continue}var O=document.createElement("li");if(u.formatItem){O.innerHTML=u.formatItem(U,R,Q,y.val());O.selectValue=U[1]}else{O.innerHTML=U[0];O.selectValue=U[1]}var k=null;if(U.length>1){k=[];for(var P=1;P<U.length;P++){k[k.length]=U[P]}}O.extra=k;S.appendChild(O);$(O).hover(function(){$("li",S).removeClass("ac_over");$(this).addClass("ac_over");I=$("li",S).indexOf($(this).get(0))},function(){$(this).removeClass("ac_over")}).click(function(i){i.preventDefault();i.stopPropagation();r(this)})}return S}function C(k){if(!u.matchCase){k=k.toLowerCase()}var i=u.cacheLength?M(k):null;if(i){g(k,i)}else{if((typeof u.url=="string")&&(u.url.length>0)){$.get(o(k),function(O){O=f(O);e(k,O);g(k,O)})}else{y.removeClass(u.loadingClass)}}}function o(P){var k=u.url+"?brand="+brand.searchbrand+"&fragment="+encodeURI(P);for(var O in u.extraParams){k+="&"+O+"="+encodeURI(u.extraParams[O])}return k}function M(T){if(!T){return null}if(j.data[T]){return j.data[T]}if(u.matchSubset){for(var R=T.length-1;R>=u.minChars;R--){var O=T.substr(0,R);var U=j.data[O];if(U){var S=[];for(var P=0;P<U.length;P++){var k=U[P];var Q=k[0];if(B(Q,T)){S[S.length]=k}}return S}}}return null}function B(P,O){if(!u.matchCase){P=P.toLowerCase()}var k=P.indexOf(O);if(k==-1){return false}return k==0||u.matchContains}this.flushCache=function(){m()};this.setExtraParams=function(i){u.extraParams=i};this.findValue=function(){var k=y.val();if(!u.matchCase){k=k.toLowerCase()}var i=u.cacheLength?M(k):null;if(i){G(k,i)}else{if((typeof u.url=="string")&&(u.url.length>0)){$.get(o(k),function(O){O=f(O);e(k,O);G(k,O)})}else{G(k,null)}}};function G(T,S){if(S){y.removeClass(u.loadingClass)}var Q=(S)?S.length:0;var O=null;for(var R=0;R<Q;R++){var U=S[R];if(U[0].toLowerCase()==T.toLowerCase()){O=document.createElement("li");if(u.formatItem){O.innerHTML=u.formatItem(U,R,Q,y.val());O.selectValue=U[0]}else{O.innerHTML=U[0];O.selectValue=U[0]}var k=null;if(U.length>1){k=[];for(var P=1;P<U.length;P++){k[k.length]=U[P]}}O.extra=k}}if(u.onFindValue){setTimeout(function(){u.onFindValue(O)},1)}}function e(k,i){if(!i||!k||!u.cacheLength){return}if(!j.length||j.length>u.cacheLength){m();j.length++}else{if(!j[k]){j.length++}}j.data[k]=i}function z(k){var O=k.offsetLeft||0;var i=k.offsetTop||0;while(k=k.offsetParent){O+=k.offsetLeft;i+=k.offsetTop}return{x:O,y:i}}};jQuery.fn.autocomplete=function(b,a,c){a=a||{};a.url=b;a.data=((typeof c=="object")&&(c.constructor==Array))?c:null;a.inputClass=a.inputClass||"ac_input";a.resultsClass=a.resultsClass||"ac_results";a.lineSeparator=a.lineSeparator||"\n";a.cellSeparator=a.cellSeparator||"|";a.minChars=a.minChars||1;a.delay=a.delay||250;a.matchCase=a.matchCase||0;a.matchSubset=a.matchSubset||1;a.matchContains=a.matchContains||0;a.cacheLength=a.cacheLength||1;a.mustMatch=a.mustMatch||0;a.extraParams=a.extraParams||{};a.loadingClass=a.loadingClass||"ac_loading";a.selectFirst=a.selectFirst||false;a.selectOnly=a.selectOnly||false;a.maxItemsToShow=a.maxItemsToShow||-1;a.autoFill=a.autoFill||false;a.width=parseInt(a.width,10)||0;this.each(function(){var d=this;new jQuery.autocomplete(d,a)});return this};jQuery.fn.autocompleteArray=function(b,a){return this.autocomplete(null,a,b)};jQuery.fn.indexOf=function(b){for(var a=0;a<this.length;a++){if(this[a]==b){return a}}return -1};$(document).ready(function(){$(".input-keyword").each(function(){$(this).autocomplete(ha.settings.autocompleteURL,{minChars:3,matchSubset:0,matchContains:1,maxItemsToShow:12,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:false})})});
