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

