(function(a){a.fn.autoSuggest=function(f,c){var i={asHtmlID:false,preferredLanguage:"en-US",startText:"",emptyText:"",preFill:{},limitText:"No More Selections Are Allowed",selectedItemProp:"value",selectedValuesProp:"value",searchObjProps:"value",queryParam:"q",retrieveLimit:false,extraParams:"",matchCase:false,minChars:2,keyDelay:500,resultsHighlight:true,neverSubmit:false,selectionLimit:false,showResultList:true,host:"",width:"450",height:"300",overflow:"auto",start:function(){},selectionClick:function(j){},selectionAdded:function(j){},selectionRemoved:function(j){j.remove()
},formatList:false,beforeRetrieve:function(j){return j},retrieveComplete:function(j){return j},resultClick:function(j){},resultsComplete:function(){}};var e=a.extend(i,c);var d="object";var h=0;if(typeof f=="string"){d="string";var b=f}else{var g=f;for(k in f){if(f.hasOwnProperty(k)){h++}}}if((d=="object"&&h>0)||d=="string"){return this.each(function(y){if(!e.asHtmlID){y=y+""+Math.floor(Math.random()*100);var l="as-input-"+y}else{y=e.asHtmlID;var l=y}e.start.call(this);var A=a(this);A.attr("autocomplete","off").addClass("as-input").attr("id",l);
if(A.val()==""){A.val(e.startText)}var F=false;var u=a("#as-original-"+y);var n=a('<div class="as-results" id="as-results-'+y+'"></div>').hide();var o=a('<ul class="as-list"></ul>');var J=a('<input type="hidden" class="as-values" name="as_values_'+y+'" id="as-values-'+y+'" />');var t=A.val();if(typeof e.preFill=="string"){var C=e.preFill.split(",");for(var G=0;G<C.length;G++){var m={};m[e.selectedValuesProp]=C[G];if(C[G]!=""){}}t=e.preFill}else{t="";var K=0;for(k in e.preFill){if(e.preFill.hasOwnProperty(k)){K++
}}if(K>0){for(var G=0;G<K;G++){var D=e.preFill[G][e.selectedValuesProp];if(D==undefined){D=""}t=t+D+",";if(D!=""){}}}}if(t!=""){A.val("");var z=t.substring(t.length-1);if(z!=","){t=t+","}J.val(","+t);a("li.as-selection-item").addClass("blur").removeClass("selected")}A.after(J);A.parent().append(n);var w=null;var E="";var p=0;var q=false;A.click(function(x){x.stopPropagation()}).focus(function(){if(a(this).val()==e.startText&&J.val()==""){a(this).val("")}else{if(B(a(this).val())){a("li.as-selection-item").removeClass("blur");
if(a(this).val()!=""&&o.html()!=""){n.show()}}}F=true;return true}).blur(function(){if(a(this).val()==""&&J.val()==""&&t==""){a(this).val(e.startText)}else{if(F){}}}).keydown(function(M){lastKeyPressCode=M.keyCode;first_focus=false;switch(M.keyCode){case 38:M.preventDefault();v("up");break;case 40:M.preventDefault();v("down");break;case 8:if(A.val()==""){var x=J.val().split(",");x=x[x.length-2];if(u.prev().hasClass("selected")){J.val(J.val().replace(","+x+",",","));e.selectionRemoved.call(this,u.prev())}else{e.selectionClick.call(this,u.prev());
u.prev().addClass("selected")}}if(A.val().length==1){n.hide();E=""}if(a(":visible",n).length>=0){if(w){clearTimeout(w)}w=setTimeout(function(){j()},e.keyDelay)}break;case 13:q=false;var L=a("li.active:first",n);if(L.length>0){if(L.find("a").length>0){if(L.find("a").attr("href").length>0){A.blur();window.location=L.find("a").attr("href")}}n.hide()}if(e.neverSubmit||L.length>0){M.preventDefault()}break;default:if(e.showResultList){if(e.selectionLimit&&a("li.as-selection-item").length>=e.selectionLimit){o.html('<li class="as-message">'+e.limitText+"</li>");
n.show()}else{if(w){clearTimeout(w)}w=setTimeout(function(){j()},e.keyDelay)}}break}});function j(){if(lastKeyPressCode==46||(lastKeyPressCode>8&&lastKeyPressCode<32)){return n.hide()}var L=A.val();if(L==E){return}E=L;if(B(a.trim(L))){if(d=="string"){var x="";if(e.retrieveLimit){x="&limit="+encodeURIComponent(e.retrieveLimit)}if(e.beforeRetrieve){L=e.beforeRetrieve.call(this,L)}a.getJSON(b+"?"+e.queryParam+"="+encodeURIComponent(L)+"&preferredLanguage="+e.preferredLanguage,function(N){h=0;var M=e.retrieveComplete.call(this,N);
for(k in M){if(M.hasOwnProperty(k)){h++}}r(M,L)})}else{if(e.beforeRetrieve){L=e.beforeRetrieve.call(this,L)}r(g,L)}}else{n.hide()}}function B(L){if(e.preferredLanguage.indexOf("zh")==0||e.preferredLanguage.indexOf("ja")==0||e.preferredLanguage.indexOf("ro")==0){if(L.match(/[^\x20-\x7e]/g)){return true}var x=L.match(/[^\x20-\x7e]/g);var M=x?x.length:0;if(M>=3){return true}}if(L.length>=e.minChars){return true}else{return false}}var s=0;function r(ac,P){if(!e.matchCase){P=P.toLowerCase()}var M=0;var L=false;var N=new Array();
var T=0;n.html(o.html("")).hide();for(var Z=0;Z<h;Z++){var Q=Z;s++;var U=false;if(e.searchObjProps=="value"){var X=ac[Q].value}else{var X="";var V=e.searchObjProps.split(",");for(var S=0;S<V.length;S++){var ad=a.trim(V[S]);X=X+ac[Q][ad]+" "}}if(X){if(!e.matchCase){X=X.toLowerCase()}if(X.indexOf("**")!=-1||J.val().search(","+ac[Q][e.selectedValuesProp]+",")==-1){U=true}}if(U){var x=a('<li class="as-result-item" id="as-result-item-'+Q+'"></li>').click(function(){var ag=a(this).data("data");var ae=ag.num;if(a("#as-selection-"+ae).length<=0&&!q){var af=ag.attributes;
A.val("").focus();E="";e.resultClick.call(this,ag);n.hide()}q=false}).mousedown(function(){F=false}).mouseover(function(){o.find(".active").removeClass("active");a(this).addClass("active")}).data("data",{attributes:ac[Q],num:s});var W=a.extend({},ac[Q]);if(!e.matchCase){var R=new RegExp("("+P+")","gi")}else{var R=new RegExp("("+P+")","g")}var O=false;if(e.resultsHighlight){if(W[e.selectedItemProp].indexOf("**")>0){W[e.selectedItemProp]="<li class=header><span class=AS_header>"+W[e.selectedItemProp].replace("**","")+"</span></li>";
O=true}else{if(W[e.selectedItemProp].indexOf("##")>0){var ab=H(W[e.selectedItemProp].split("##")[0],P).replace(R,"<em>$1</em>");if(a.inArray(ab,N)==-1){W[e.selectedItemProp]="<a class='link' href="+e.host+"Search/Refine.aspx?N="+W[e.selectedItemProp].split("##")[1]+">"+ab+"</a>";N.push(ab)}else{continue}}else{W[e.selectedItemProp]="<a href="+e.host+"_/?Keyword="+escape(W[e.selectedItemProp])+">"+W[e.selectedItemProp].replace(R,"<em>$1</em>");+"</a>";L=true}}}if(O){o.append(W[e.selectedItemProp])}else{if(!e.formatList){x=x.html(W[e.selectedItemProp])
}else{x=e.formatList.call(this,W,x)}if(x.width()>T){T=x.width()}o.append(x)}delete W;M++;if(e.retrieveLimit&&e.retrieveLimit==M){break}}}if(L){o.append("<span><a href="+e.host+"_/?Keyword="+escape(P)+" style='text-decoration:underline;padding:0px;'>More Parts</a></span>")}var aa="<div class='bottomMsg'>"+auOffMsg+" <input class='autoimg_bottom' readonly='readonly' id='auimgoff' /></div>";o.parent("div").append(aa);a("input[id=auimgoff], .bottomMsg").click(function(){var ae=getPreferencesCookie();A.unbind();ae.as=0;
ae.setCookie({expires:365,path:"/",domain:subdomainname,secure:false});n.hide();a("input[id=auimgon]").show();A.focus();A.val(A.val());a(this).attr("autocomplete","on")});o.height("").width("").css("overflow","auto");n.width("");if(M>0){n.show();if(o.height()>300){o.css("height","300")}a(".bottomMsg").css("margin-top",o.height());o.parent("div").css("height",o.height()+23);if(o.width()<450){o.css("width","450");o.css("padding","0px");n.css("width","450");n.css("padding","0px")}else{var Y=0;a(".as-list li").each(function(){if(a(this).width()>Y){Y=a(this).width()
}});if(o.width()>Y){Y=o.width()}o.css("width",Y);o.css("padding-right","20px");n.css("width",Y);n.css("padding-right","20px")}}e.resultsComplete.call(this)}function I(L,x){J.val(J.val()+L[e.selectedValuesProp]+",");A.val(L[e.selectedValuesProp].split("##")[0]);A.blur()}function v(M){if(a(":visible",n).length>0){var x=a("li",n);if(M=="down"){var N=x.eq(0)}else{var N=x.filter(":last")}var L=a("li.active:first",n);if(L.length>0){if(M=="down"){N=L.next()}else{N=L.prev()}}x.removeClass("active");N.addClass("active")
}}function H(Q,P){var O=Q.split(">");var N="";var M=false;if(O.length==1){return Q}for(var L=0;L<O.length;L++){if(O[L].toLowerCase().indexOf(a.trim(P))>=0||M){N=N+O[L]+(L<(O.length-1)?" > ":"");M=true}}if(N==""){N=Q}return N}})}}})(jQuery);
