(function(a){if(a){a.searchsuggest=function(g,d,f,c,e){var b=this;this.acListTotal=0;this.acListCurrent=-1;this.acDelay=300;this.acURL=null;this.acFormId=null;this.acSearchId=null;this.acResultsId=null;this.acSearchField=null;this.acResultsDiv=null;this.fieldDefault=null;this.acFormId="#"+g;this.acSearchId="#"+d;this.acResultsId="#"+c;this.acURL=e;this.fieldDefault=f;a.util.disableAutoComplete(d);jQuery("body").append('<div id="'+c+'"></div>');this.acSearchField=jQuery(this.acSearchId);this.acResultsDiv=jQuery(this.acResultsId);this.repositionResultsDiv();this.acSearchField.blur(function(){setTimeout(function(){b.clear()},200)});this.acSearchField.keyup(function(k){var j=k.keyCode||window.event.keyCode;var h=b.acSearchField.val();if(b.updownArrow(j)){return}if(j==13||j==27){b.clear();return}setTimeout(function(){b.suggest(h)},this.acDelay)});this.acSearchField.focus(function(){b.acSearchField.val("");b.acSearchField.unbind("focus")});jQuery(this.acFormId).submit(function(j){var l=jQuery(j.target).find("input[name$='q']");var h=l.attr("value");if(h==""||h==a.resources.SEARCH_DEFAULT){l.addClass("invalid");l.focus()}else{var k=jQuery(j.target).attr("action");window.location=a.util.appendParamToURL(k,"q",h)}return false})};a.searchsuggest.prototype.suggest=function(e){var c=this;var d=this.acSearchField.val();if(d==""){this.clear();return}if(e!=d){return}var b=a.util.appendParamToURL(this.acURL,"q",d);jQuery.getJSON(b,function(g){var f=c.acListTotal=g.suggestions.length;if(f>0){var j="";for(i=0;i<f;i++){j+='<div class="unselected"><div class="suggestionterm">'+g.suggestions[i].suggestion+"</div>";j+='<span class="hits">'+g.suggestions[i].hits+"</span></div>"}c.acResultsDiv.html(j);c.acResultsDiv.css("display","block");c.repositionResultsDiv();var h=jQuery(c.acResultsId+" > div");h.mouseover(function(){h.each(function(){c.className="unselected"});c.className="selected"});h.click(function(){var k=this.childNodes[0].innerHTML;k=$("<div/>").html(k).text();c.acSearchField.val(k);c.clear();jQuery(c.acFormId).submit()})}else{c.clear()}})};a.searchsuggest.prototype.clear=function(){this.acResultsDiv.html("");this.acResultsDiv.css("display","none")};a.searchsuggest.prototype.repositionResultsDiv=function(){var f=this.acSearchField.offset();var e=f.top;var c=f.left;var d=this.acSearchField.height();var b=this.acSearchField.width();this.acResultsDiv.addClass("suggestions");this.acResultsDiv.css("position","absolute");this.acResultsDiv.css("left",c);this.acResultsDiv.css("top",e+d+4);this.acResultsDiv.css("width",b+52);this.acResultsDiv.css("z-index","34")};a.searchsuggest.prototype.updownArrow=function(b){if(b==40||b==38){if(b==38){if(this.acListCurrent==0||this.acListCurrent==-1){this.acListCurrent=this.acListTotal-1}else{this.acListCurrent--}}else{if(this.acListCurrent==this.acListTotal-1){this.acListCurrent=0}else{this.acListCurrent++}}this.acResultsDiv.children().each(function(c){if(c==this.acListCurrent){this.acSearchField.val(this.childNodes[0].innerHTML);this.className="selected"}else{this.className="unselected"}});return true}else{this.acListCurrent=-1;return false}}}else{alert("app namespace is not loaded yet!")}})(app);
