(function(a){a.fn.jSuggest=function(j){var b=a.extend({},a.fn.jSuggest.defaults,j);var i=".jSuggestHover";var h="jSuggestHover";var e=this.value;var g=this;var f=this.value;var c="#jSuggestContainer";var d=b.data;a("body").append('<div id="jSuggestContainer"></div>');a(c).hide();a(this).bind("keyup click",function(l){g=this;f=this.value;if(this.value.length>=b.minchar&&a.trim(this.value)!="Search Terms"){var k=a(this).offset();a(c).css({position:"absolute",top:k.top+a(this).outerHeight()+"px",left:k.left,width:a(this).outerWidth()-2+"px",opacity:b.opacity,zIndex:b.zindex}).show();if(l.keyCode==27){a(c).hide()}else{if(l.keyCode==13){if(a(i).length==1){a(g).val(a(i).text())}a(c).hide();e=g.value}else{if(l.keyCode==40){if(a(i).length==1){if(!a(i).next().length==0){a(i).next().addClass(h);a(".jSuggestHover:eq(0)").removeClass(h);if(b.autoChange){a(g).val(a(i).text())}}}else{a("#jSuggestContainer ul li:first-child").addClass(h);if(b.autoChange){a(g).val(a(i).text())}}}else{if(l.keyCode==38){if(a(i).length==1){if(!a(i).prev().length==0){a(i).prev().addClass(h);a(".jSuggestHover:eq(1)").removeClass(h);if(b.autoChange){a(g).val(a(i).text())}}else{a(i).removeClass(h);a(g).val(e)}}}else{if(g.value!=e){e=g.value;if(a(".jSuggestLoading").length==0){a('<div class="jSuggestLoading"><img src="'+b.loadingImg+'" align="bottom" /> '+b.loadingText+"</div>").prependTo("#jSuggestContainer")}a(".jSuggestLoading").show();a(c).find("ul").remove();if(b.data==""){b.data=a(this).serialize()}else{b.data=d+"="+encodeURI(a(this).val())}setTimeout(function(){a.ajax({type:b.type,url:b.url,data:b.data,success:function(m){a(c).find("ul").remove();a(c).append(m);a("#jSuggestContainer ul li").bind("mouseover",function(){a(i).removeClass(h);a(this).addClass(h);f=a(this).text();if(b.autoChange){a(g).val(a(i).text())}});a("#jSuggestContainer ul li").click(function(){a(this).addClass(h);a(g).val(f)});a(".jSuggestLoading").hide();if(a("#jSuggestContainer ul li").length>b.showFirst){a("#jSuggestContainer").css({overflow:"auto"})}else{a("#jSuggestContainer").css({height:"",overflow:""})}}})},b.delay)}}}}}}else{a(i).removeClass(h);a(c).hide()}return false});a(document).bind("click",function(){a(c).hide();e=g.value})};a.fn.jSuggest.defaults={minchar:3,opacity:1,zindex:20000,delay:1000,loadingImg:"/assets/img/autocomplete.gif",loadingText:"Смотрим что есть по запросу...",autoChange:false,url:"",type:"REQUEST",data:"",showFirst:10}})(jQuery);