var disableAc=false;jQuery.autocomplete=function(d,u){var p=this;var l=false;if(d.focus){l=true}var x=$(d).attr("autocomplete","off");if(u.inputClass){x.addClass(u.inputClass)}var q=document.createElement("div");var h=$(q);h.addClass(u.resultsClass).css("position","absolute");if(u.width>0){h.css("width",u.width)}$("body").append(q);d.autocompleter=p;var G=null;var w="";var H=-1;var j={};var z=false;var a=null;function m(){j={};j.data={};j.length=0}m();if(u.data!=null){var s="",M={},n=[];if(typeof u.url!="string"){u.cacheLength=1}for(var K=0;K<u.data.length;K++){n=((typeof u.data[K]=="string")?[u.data[K]]:u.data[K]);if(n[0].length>0){s=n[0].substring(0,1).toLowerCase();if(!M[s]){M[s]=[]}M[s].push(n)}}for(var J in M){u.cacheLength++;e(J,M[J])}}x.keydown(function(i){a=i.keyCode;switch(i.keyCode){case 38:i.preventDefault();C(-1);break;case 40:i.preventDefault();C(1);break;default:H=-1;if(G){clearTimeout(G)}G=setTimeout(function(){t()},u.delay);break}}).focus(function(){l=true}).blur(function(){l=false;c()}).keypress(function(i){if((i.keyCode==9||i.keyCode==13||i.keyCode==3)&&E()){i.preventDefault()}});v();function t(){if(disableAc){return false}if(a==46||(a>8&&a<32)){return h.hide()}var i=x.val();if(i==w){return}w=i;if(i.length>=u.minChars){x.addClass(u.loadingClass);B(i)}else{x.removeClass(u.loadingClass);h.hide()}}function C(k){var i=$("li",q);if(!i){return}H+=k;if(H<0){H=0}else{if(H>=i.size()){H=i.size()-1}}i.removeClass("ac_over");$(i[H]).addClass("ac_over")}function E(){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;w=k;h.html("");x.val(k).get(0).focus();v();if(u.onItemSelect){setTimeout(function(){u.onItemSelect(i)},1)}}function b(O,k){var N=x.get(0);if(N.createTextRange){var i=N.createTextRange();i.collapse(true);i.moveStart("character",O);i.moveEnd("character",k);i.select()}else{if(N.setSelectionRange){N.setSelectionRange(O,k)}else{if(N.selectionStart){N.selectionStart=O;N.selectionEnd=k}}}N.focus()}function D(){var k=y(d);var i=(u.width>0)?u.width:x.width();h.css({width:parseInt(i)+"px",top:(k.y+d.offsetHeight)+"px",left:k.x+"px"}).show()}function c(){if(G){clearTimeout(G)}G=setTimeout(v,200)}function v(){if(G){clearTimeout(G)}x.removeClass(u.loadingClass);if(h.is(":visible")){h.hide()}if(u.mustMatch){var i=x.val();if(i!=d.lastSelected){r(null)}}}function g(N,k){if(k){x.removeClass(u.loadingClass);q.innerHTML="";if(!l||k.length==0){return v()}var i=document.createElement("iframe");i.style.border="0";h.append(i);h.prepend('<div id="ac_top"></div>');if(u.closeButton){h.prepend('<p id="ac_close_button"><a href="javascript:void(0)" onclick="ac_close_results(this);" title="Disable this">Disable</a></p>')}if(u.header){$("#ac_top").prepend('<div id="ac_header">'+u.header+"</div>")}q.appendChild(I(k));if(u.autoFill&&(x.val().toLowerCase()==N.toLowerCase())){autoFill(k[0][0])}D()}else{v()}}function f(P){if(!P){return null}var k=[];var O=P.split(u.lineSeparator);for(var N=0;N<O.length;N++){var Q=$.trim(O[N]);if(Q){k[k.length]=Q.split(u.cellSeparator)}}return k}function I(S){var R=document.createElement("ul");var P=S.length;if((u.maxItemsToShow>0)&&(u.maxItemsToShow<P)){P=u.maxItemsToShow}for(var Q=0;Q<P;Q++){var T=S[Q];if(!T){continue}var N=document.createElement("li");if(u.formatItem){N.innerHTML=u.formatItem(T,Q,P);N.selectValue=T[0]}else{N.innerHTML=T[0];N.selectValue=T[0]}var k=null;if(T.length>1){k=[];for(var O=1;O<T.length;O++){k[k.length]=T[O]}}N.extra=k;R.appendChild(N);$(N).hover(function(){$("li",R).removeClass("ac_over");$(this).addClass("ac_over");H=$("li",R).indexOf($(this).get(0))},function(){$(this).removeClass("ac_over")}).click(function(i){i.preventDefault();i.stopPropagation();r(this)})}return R}function B(N){if(!u.matchCase){N=N.toLowerCase()}var k=u.cacheLength?L(N):null;if(k){g(N,k)}else{if((typeof u.url=="string")&&(u.url.length>0)){var i=N.substring(0,1);$.get(o(i),function(S){S=f(S);e(i,S);var R=[];for(var P=0;P<S.length;P++){var O=S[P];var Q=O[0];if(A(Q,N)){R[R.length]=O}}S=R;g(N,S)})}else{x.removeClass(u.loadingClass)}}}function o(O){var k=u.url+"?q="+encodeURI(O);for(var N in u.extraParams){k+="&"+N+"="+encodeURI(u.extraParams[N])}return k}function L(S){if(!S){return null}if(j.data[S]){return j.data[S]}if(u.matchSubset){for(var Q=S.length-1;Q>=u.minChars;Q--){var N=S.substr(0,Q);var T=j.data[N];if(T){var R=[];for(var O=0;O<T.length;O++){var k=T[O];var P=k[0];if(A(P,S)){R[R.length]=k}}return R}}}return null}function A(O,N){if(!u.matchCase){O=O.toLowerCase()}var k=O.indexOf(N);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=x.val();if(!u.matchCase){k=k.toLowerCase()}var i=u.cacheLength?L(k):null;if(i){F(k,i)}else{if((typeof u.url=="string")&&(u.url.length>0)){$.get(o(k),function(N){N=f(N);e(k,N);F(k,N)})}else{F(k,null)}}};function F(S,R){if(R){x.removeClass(u.loadingClass)}var P=(R)?R.length:0;var N=null;for(var Q=0;Q<P;Q++){var T=R[Q];if(T[0].toLowerCase()==S.toLowerCase()){N=document.createElement("li");if(u.formatItem){N.innerHTML=u.formatItem(T,Q,P);N.selectValue=T[0]}else{N.innerHTML=T[0];N.selectValue=T[0]}var k=null;if(T.length>1){k=[];for(var O=1;O<T.length;O++){k[k.length]=T[O]}}N.extra=k}}if(u.onFindValue){setTimeout(function(){u.onFindValue(N)},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 y(k){var N=k.offsetLeft||0;var i=k.offsetTop||0;while(k=k.offsetParent){N+=k.offsetLeft;i+=k.offsetTop}return{x:N,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||400;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;a.header=a.header||false;a.closeButton=a.closeButton||false;a.hightlightValue=a.hightlightValue||false;this.each(function(){var d=this;new jQuery.autocomplete(d,a)});return this};function ac_close_results(a){disableAc=true;$(a.parentNode.parentNode).hide();return false}function doAutocomplete(c,b){if(c.id.constructor!=String){return false}if((c.list.constructor!=Array)&&c.url.constructor!=String){return false}if(!c.failureTime){c.failureTime=180}var a=0;var d=setInterval(function(){$("#"+c.id).attr("autocomplete","off");if(c.list){$("#"+c.id).autocompleteArray(c.list,b);clearInterval(d)}else{if(c.url){$("#"+c.id).autocompleteUrl(c.url,b);clearInterval(d)}else{if(a>=c.failureTime){clearInterval(d)}}}a+=0.25},250)}jQuery.fn.autocompleteArray=function(b,a){return this.autocomplete(null,a,b)};jQuery.fn.autocompleteUrl=function(b,a){return this.autocomplete(b,a,"")};jQuery.fn.indexOf=function(b){for(var a=0;a<this.length;a++){if(this[a]==b){return a}}return -1};