jQuery.autocomplete=function(d,v){var p=this;var z=$(d).attr("autocomplete","off");if(v.inputClass){z.addClass(v.inputClass);}var q=document.createElement("div");var h=$(q);h.hide().addClass(v.resultsClass).css("position","absolute");if(v.width>0){h.css("width",v.width);}$("body").append(q);d.autocompleter=p;
var I=null;var y="";var J=-1;var j={};var C=false;var l=false;var a=null;function m(){j={};j.data={};j.length=0;}m();if(v.data!=null){var s="",O={},n=[];if(typeof v.url!="string"){v.cacheLength=1;}for(var M=0;M<v.data.length;M++){n=((typeof v.data[M]=="string")?[v.data[M]]:v.data[M]);if(n[0].length>0){s=n[0].substring(0,1).toLowerCase();
if(!O[s]){O[s]=[];}O[s].push(n);}}for(var L in O){v.cacheLength++;e(L,O[L]);}}z.keydown(function(i){a=i.keyCode;switch(i.keyCode){case 38:i.preventDefault();E(-1);break;case 40:i.preventDefault();E(1);break;case 9:case 13:if(G()){z.get(0).blur();i.preventDefault();}break;default:J=-1;if(I){clearTimeout(I);
}I=setTimeout(function(){u();},v.delay);break;}}).focus(function(){l=true;}).blur(function(){l=false;c();});w();function u(){if(a==46||(a>8&&a<32)){return h.hide();}var i=z.val();if(i==y){return;}y=i;if(i.length>=v.minChars){z.addClass(v.loadingClass);D(i);}else{z.removeClass(v.loadingClass);h.hide();
}}function E(k){var i=$("li",q);if(!i){return;}J+=k;if(J<0){J=0;}else{if(J>=i.size()){J=i.size()-1;}}i.removeClass("ac_over");$(i[J]).addClass("ac_over");}function G(){var i=$("li.ac_over",q)[0];if(!i){var k=$("li",q);if(v.selectOnly){if(k.length==1){i=k[0];}}else{if(v.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);k=t(k);d.lastSelected=k;y=k;h.html("");z.val(k);w();if(v.onItemSelect){setTimeout(function(){v.onItemSelect(i);},1);}}function t(i){var k=i.split(" > ");
return k[k.length-1];}function b(Q,k){var P=z.get(0);if(P.createTextRange){var i=P.createTextRange();i.collapse(true);i.moveStart("character",Q);i.moveEnd("character",k);i.select();}else{if(P.setSelectionRange){P.setSelectionRange(Q,k);}else{if(P.selectionStart){P.selectionStart=Q;P.selectionEnd=k;}}}P.focus();
}function x(i){if(a!=8){z.val(z.val()+i.substring(y.length));b(y.length,i.length);}}function F(){var k=A(d);var i=(v.width>0)?v.width:z.width();h.css({width:parseInt(i)+"px",top:(k.y+d.offsetHeight-2)+"px",left:(k.x+172-v.width)+"px"}).show();if(h.find("img.shadow").length==0){h.append('<img width="'+parseInt(i)+"px"+'" src="resources/img/dropShadow.png" class="shadow"/>');
}}function c(){if(I){clearTimeout(I);}I=setTimeout(w,200);}function w(){if(I){clearTimeout(I);}z.removeClass(v.loadingClass);if(h.is(":visible")){h.hide();}if(v.mustMatch){var i=z.val();if(i!=d.lastSelected){r(null);}}}function g(k,i){if(i){z.removeClass(v.loadingClass);q.innerHTML='<div class="prefixSuche">';
if(!l||i.length==0){return w();}if($.browser.msie){h.append(document.createElement("iframe"));}q.appendChild(K(i));if(v.autoFill&&(z.val().toLowerCase()==k.toLowerCase())){x(i[0][0]);}F();}else{w();}}function f(R){if(!R){return null;}var k=[];var Q=R.split(v.lineSeparator);for(var P=0;P<Q.length;P++){var S=$.trim(Q[P]);
if(S){k[k.length]=S.split(v.cellSeparator);}}return k;}function K(U){var T=document.createElement("ul");var R=U.length;if((v.maxItemsToShow>0)&&(v.maxItemsToShow<R)){R=v.maxItemsToShow;}for(var S=0;S<R;S++){var V=U[S];if(!V){continue;}var P=document.createElement("li");if(v.formatItem){P.innerHTML=v.formatItem(V,S,R);
P.selectValue=V[0];}else{P.innerHTML=V[0];P.selectValue=V[0];}var k=null;if(V.length>1){k=[];for(var Q=1;Q<V.length;Q++){k[k.length]=V[Q];}}P.extra=k;T.appendChild(P);$(P).hover(function(){$("li",T).removeClass("ac_over");$(this).addClass("ac_over");J=$("li",T).indexOf($(this).get(0));},function(){$(this).removeClass("ac_over");
}).click(function(i){i.preventDefault();i.stopPropagation();r(this);});}return T;}function D(k){if(!v.matchCase){k=k.toLowerCase();}var i=v.cacheLength?N(k):null;if(i){g(k,i);}else{if((typeof v.url=="string")&&(v.url.length>0)){$.get(o(k),function(P){P=f(P);g(k,P);});}else{z.removeClass(v.loadingClass);
}}}function o(Q){var k=v.url+"?q="+encodeURI(Q);for(var P in v.extraParams){k+="&"+P+"="+encodeURI(v.extraParams[P]);}return k;}function N(U){if(!U){return null;}if(j.data[U]){return j.data[U];}if(v.matchSubset){for(var S=U.length-1;S>=v.minChars;S--){var P=U.substr(0,S);var V=j.data[P];if(V){var T=[];
for(var Q=0;Q<V.length;Q++){var k=V[Q];var R=k[0];if(B(R,U)){T[T.length]=k;}}return T;}}}return null;}function B(Q,P){if(!v.matchCase){Q=Q.toLowerCase();}var k=Q.indexOf(P);if(k==-1){return false;}return k==0||v.matchContains;}this.flushCache=function(){m();};this.setExtraParams=function(i){v.extraParams=i;
};this.findValue=function(){var k=z.val();if(!v.matchCase){k=k.toLowerCase();}var i=v.cacheLength?N(k):null;if(i){H(k,i);}else{if((typeof v.url=="string")&&(v.url.length>0)){$.get(o(k),function(P){P=f(P);e(k,P);H(k,P);});}else{H(k,null);}}};function H(U,T){if(T){z.removeClass(v.loadingClass);}var R=(T)?T.length:0;
var P=null;for(var S=0;S<R;S++){var V=T[S];if(V[0].toLowerCase()==U.toLowerCase()){P=document.createElement("li");if(v.formatItem){P.innerHTML=v.formatItem(V,S,R);P.selectValue=V[0];}else{P.innerHTML=V[0];P.selectValue=V[0];}var k=null;if(V.length>1){k=[];for(var Q=1;Q<V.length;Q++){k[k.length]=V[Q];
}}P.extra=k;}}if(v.onFindValue){setTimeout(function(){v.onFindValue(P);},1);}}function e(k,i){if(!i||!k||!v.cacheLength){return;}if(!j.length||j.length>v.cacheLength){m();j.length++;}else{if(!j[k]){j.length++;}}j.data[k]=i;}function A(k){var P=k.offsetLeft||0;var i=k.offsetTop||0;while(k=k.offsetParent){P+=k.offsetLeft;
i+=k.offsetTop;}return{x:P,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;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;};