(function($){
$.fn.jSuggest=function(_2){
var _3=$.extend({},$.fn.jSuggest.defaults,_2);
var jH=".jSuggestHover";
var _5="jSuggestHover";
var _6=this.value;
var _7=this;
var _8=this.value;
var jC="#jSuggestContainer";
$("body").append("<div id=\"jSuggestContainer\"></div>");
$(jC).hide();
$(this).bind("keyup click",function(e){
_7=this;
_8=this.value;
if(this.value.length>=_3.minchar&&$.trim(this.value)!="Search Terms"){
var _b=$(this).offset();
$(jC).css({position:"absolute",top:_b.top+$(this).outerHeight()+"px",left:_b.left,width:$(this).outerWidth()-2+"px",opacity:_3.opacity,zIndex:_3.zindex}).show();
if(e.keyCode==27){
$(jC).hide();
}else{
if(e.keyCode==13){
if($(jH).length==1){
$(_7).val($(jH).text());
}
$(jC).hide();
_6=_7.value;
}else{
if(e.keyCode==40){
if($(jH).length==1){
if(!$(jH).next().length==0){
$(jH).next().addClass(_5);
$(".jSuggestHover:eq(0)").removeClass(_5);
if(_3.autoChange){
$(_7).val($(jH).text());
}
}
}else{
$("#jSuggestContainer ul li:first-child").addClass(_5);
if(_3.autoChange){
$(_7).val($(jH).text());
}
}
}else{
if(e.keyCode==38){
if($(jH).length==1){
if(!$(jH).prev().length==0){
$(jH).prev().addClass(_5);
$(".jSuggestHover:eq(1)").removeClass(_5);
if(_3.autoChange){
$(_7).val($(jH).text());
}
}else{
$(jH).removeClass(_5);
$(_7).val(_6);
}
}
}else{
if(_7.value!=_6){
_6=_7.value;
if($(".jSuggestLoading").length==0){
$("<div class=\"jSuggestLoading\"><img src=\""+_3.loadingImg+"\" align=\"bottom\" /> "+_3.loadingText+"</div>").prependTo("#jSuggestContainer");
}
$(".jSuggestLoading").show();
$(jC).find("ul").remove();
if(_3.data==""){
_3.data=$(this).serialize();
}else{
_3.data=_3.data+"="+$(this).val();
}
setTimeout(function(){
$.ajax({type:_3.type,url:_3.url,data:_3.data,success:function(_c){
$(jC).find("ul").remove();
$(jC).append(_c);
$("#jSuggestContainer ul li").bind("mouseover",function(){
$(jH).removeClass(_5);
$(this).addClass(_5);
_8=$(this).text();
if(_3.autoChange){
$(_7).val($(jH).text());
}
});
$("#jSuggestContainer ul li").click(function(){
$(this).addClass(_5);
$(_7).val(_8);
});
$(".jSuggestLoading").hide();
}});
},_3.delay);
}
}
}
}
}
}else{
$(jH).removeClass(_5);
$(jC).hide();
}
return false;
});
$(document).bind("click",function(){
$(jC).hide();
_6=_7.value;
});
};
$.fn.jSuggest.defaults={minchar:3,opacity:1,zindex:20000,delay:2500,loadingImg:"ajax-loader.gif",loadingText:"Loading...",autoChange:false,url:"",type:"GET",data:""};
})(jQuery);

