(function(e){e.suggest=function(j,a){function m(){var b=g.offset();c.css({top:b.top+j.offsetHeight+"px",left:b.left+"px"})}function p(b){if(/27$|38$|40$/.test(b.keyCode)&&c.is(":visible")||/^13$|^9$/.test(b.keyCode)&&k()){b.preventDefault&&b.preventDefault();b.stopPropagation&&b.stopPropagation();b.cancelBubble=true;b.returnValue=false;switch(b.keyCode){case 38:t();break;case 40:u();break;case 9:case 13:q();break;case 27:c.hide();break}}else if(g.val().length!=r){n&&clearTimeout(n);n=setTimeout(v, a.delay);r=g.val().length}}function v(){var b=e.trim(g.val());if(b.length>=a.minchars)(cached=w(b))?s(cached.items):e.get(a.source,{q:b},function(f){c.hide();var d=x(f,b);s(d);y(b,d,f.length)});else c.hide()}function w(b){for(var f=0;f<h.length;f++)if(h[f].q==b){h.unshift(h.splice(f,1)[0]);return h[0]}return false}function y(b,f,d){for(;h.length&&o+d>a.maxCacheSize;){var i=h.pop();o-=i.size}h.push({q:b,size:d,items:f});o+=d}function s(b){if(b)if(b.length){for(var f="",d=0;d<b.length;d++)f+="<li"+ (b[d].key!=""?' id="s_'+b[d].key+'"':"")+">"+b[d].value+"</li>";c.html(f).show();c.children("li").mouseover(function(){c.children("li").removeClass(a.selectClass);e(this).addClass(a.selectClass)}).click(function(i){i.preventDefault();i.stopPropagation();q()})}else c.hide()}function x(b,f){var d=[];b=b.split(a.delimiter);for(var i=0;i<b.length;i++){var l=e.trim(b[i]).split(a.dataDelimiter);if(l.length>1){token=l[0];key=l[1]}else{token=l[0];key=""}if(token){token=token.replace(new RegExp(f,"ig"),function(z){return'<span class="'+ a.matchClass+'">'+z+"</span>"});d[d.length]={value:token,key:key}}}return d}function k(){if(!c.is(":visible"))return false;var b=c.children("li."+a.selectClass);b.length||(b=false);return b}function q(){if($currentResult=k()){g.val($currentResult.text());c.hide();e(a.dataContainer)&&e(a.dataContainer).val($currentResult.attr("id").replace("s_",""));a.onSelect&&a.onSelect.apply(g[0])}}function u(){($currentResult=k())?$currentResult.removeClass(a.selectClass).next().addClass(a.selectClass):c.children("li:first-child").addClass(a.selectClass)} function t(){($currentResult=k())?$currentResult.removeClass(a.selectClass).prev().addClass(a.selectClass):c.children("li:last-child").addClass(a.selectClass)}var g=e(j).attr("autocomplete","off"),c,n=false,r=0,h=[],o=0;if(!a.attachObject)a.attachObject=e(document.createElement("ul")).appendTo("body");c=e(a.attachObject);c.addClass(a.resultsClass);m();e(window).load(m).resize(m);g.blur(function(){setTimeout(function(){c.hide()},200)});try{c.bgiframe()}catch(A){}e.browser.mozilla?g.keypress(p):g.keydown(p)}; e.fn.suggest=function(j,a){if(j){a=a||{};a.source=j;a.delay=a.delay||150;a.resultsClass=a.resultsClass||"ac_results";a.selectClass=a.selectClass||"ac_over";a.matchClass=a.matchClass||"ac_match";a.minchars=a.minchars||2;a.delimiter=a.delimiter||"\n";a.onSelect=a.onSelect||false;a.maxCacheSize=a.maxCacheSize||65536;a.dataDelimiter=a.dataDelimiter||"\t";a.dataContainer=a.dataContainer||"#SuggestResult";a.attachObject=a.attachObject||null;this.each(function(){new e.suggest(this,a)});return this}}})(jQuery);
