var QuickSearch={minimum_length:3,search_delay:125,cache:{},init:function(){var a="#search_query";$(a).bind("keydown",QuickSearch.on_keydown);$(a).bind("keyup",QuickSearch.on_keyup);$(a).bind("change",QuickSearch.on_change);$(a).blur(QuickSearch.on_blur);$(a).attr("autocomplete","off");for(var c=document.getElementsByTagName("SCRIPT"),b=0;b<c.length;b++){s=c[b];if(s.src&&s.src.indexOf("quicksearch.js")>-1){QuickSearch.path=s.src.replace(/quicksearch\.js$/,"../");break}}},on_blur:function(){!QuickSearch.item_selected&&!QuickSearch.over_all&&QuickSearch.hide_popup()},on_keydown:function(a){if(a.keyCode==13&&!a.altKey)if(QuickSearch.selected){try{a.preventDefault();a.stopPropagation()}catch(b){}window.location=QuickSearch.selected.url;return false}else QuickSearch.hide_popup();else if(a.keyCode==27){if(document.getElementById("QuickSearch"))try{a.preventDefault();a.stopPropagation()}catch(b){}QuickSearch.hide_popup()}},on_keyup:function(a){var b="#search_query";QuickSearch.timeout&&clearTimeout(QuickSearch.timeout);if(a.keyCode==40&&QuickSearch.results){QuickSearch.selected&&QuickSearch.results.length>=QuickSearch.selected.index+1&&QuickSearch.highlight_item(QuickSearch.selected.index+1,true);!QuickSearch.selected&&QuickSearch.results.length>0&&QuickSearch.highlight_item(0,true);try{a.preventDefault();a.stopPropagation()}catch(c){}return false}else if(a.keyCode==38&&QuickSearch.results){QuickSearch.selected&&QuickSearch.selected.index>0&&QuickSearch.highlight_item(QuickSearch.selected.index-1,true);try{a.preventDefault();a.stopPropagation()}catch(c){}}else if(a.keyCode==27)QuickSearch.hide_popup();else{if($(b).val()==QuickSearch.last_query)return false;QuickSearch.selected=false;if($(b).val().replace(/^\s+|\s+$/g,"").length>=QuickSearch.minimum_length){QuickSearch.last_query=$(b).val().replace(/^\s+|\s+$/g,"");QuickSearch.timeout&&window.clearTimeout(QuickSearch.timeout);QuickSearch.timeout=window.setTimeout(QuickSearch.do_search,QuickSearch.search_delay)}else document.getElementById("QuickSearch")&&$("#QuickSearch").remove()}},on_change:function(a){return QuickSearch.on_keydown(a)&&QuickSearch.on_keyup(a)},do_search:function(){var a="#search_query",b=$(a).val().length+$(a).val();if(QuickSearch.cache[b])QuickSearch.search_done(QuickSearch.cache[b]);else $.ajax({type:"GET",dataType:"xml",url:QuickSearch.path+"search.php?action=AjaxSearch&search_query="+encodeURIComponent($(a).val()),success:function(a){QuickSearch.search_done(a)}})},search_done:function(d){var n="undefined",m="search_query",l="viewmoreurl",g="#QuickSearch",f="QuickSearch",k="#search_query",q=$(k).val().length+$(k).val();QuickSearch.cache[q]=d;document.getElementById(f)&&$(g).remove();if($("result",d).length>0){var a=document.createElement("TABLE");a.className=f;a.id=f;a.cellPadding="0";a.cellSpacing="0";a.border="0";var h=document.createElement("TBODY");a.appendChild(h);var o=0;$("result",d).each(function(){var a=$($(this).text()),c=$(".QuickSearchResultName a",a).attr("href"),b=o;$(a).attr("id","QuickSearchResult"+b);$(a).bind("mouseover",function(){QuickSearch.item_selected=true;QuickSearch.highlight_item(b,false)});$(a).bind("mouseup",function(){window.location=c});$(a).bind("mouseout",function(){QuickSearch.item_selected=false;QuickSearch.unhighlight_item(b)});$(h).append(a);o++});var p=$(l,d).size();if(p){var e=document.createElement("TR"),j=document.createElement("TD");e.className="QuickSearchAllResults";e.onmouseover=function(){QuickSearch.over_all=true};e.onmouseout=function(){QuickSearch.over_all=false};j.colSpan=2;j.innerHTML=$(l,d).text();e.appendChild(j);h.appendChild(e)}var b=h.cloneNode(true);document.body.appendChild(b);b.style.top="10px";b.style.left="10px";offset_height=b.offsetHeight;offset_width=b.offsetWidth;b.parentNode.removeChild(b);var i=offset_left=0,c=document.getElementById(m);if(typeof QuickSearchAlignment!=n&&QuickSearchAlignment=="left")offset_left=0;else offset_left+=c.offsetWidth-$("#SearchForm").width();i=-3;do{i+=c.offsetTop||0;offset_left+=c.offsetLeft||0;c=c.offsetParent}while(c);a.style.position="absolute";a.style.left=offset_left+1+"px";a.style.top=i+document.getElementById(m).offsetHeight+"px";if(typeof QuickSearchWidth!=n)a.style.width=QuickSearchWidth;else a.style.width=document.getElementById("SearchForm").offsetWidth-2+"px";$(g)&&$(g).remove();document.body.appendChild(a);a.style.display=""}else document.getElementById(f)&&$(g).remove()},hide_popup:function(){$("#QuickSearch").remove();QuickSearch.selected=null},highlight_item:function(b,c){var a="QuickSearchResult";element=$("#QuickSearchResult"+b);if(c==true){if(QuickSearch.selected)QuickSearch.selected.className=a;QuickSearch.selected=document.getElementById(a+b)}element.addClass("QuickSearchHover")},unhighlight_item:function(a){element=$("#QuickSearchResult"+a);element.removeClass("QuickSearchHover")}};$(document).ready(function(){QuickSearch.init()});
