function liveSearchSubmit(){var a=document.getElementById("LSHighlight");if(a&&a.firstChild){if(a.firstChild.nextSibling.getAttribute("href"))window.location=liveSearchRoot+liveSearchRootSubDir+a.firstChild.nextSibling.getAttribute("href");return false}else{return true}}function liveSearchProcessReqChange(){if(liveSearchReq.readyState==4){var a=document.getElementById("LSResult");a.style.display="block";var b=document.getElementById("LSShadow");b.innerHTML=liveSearchReq.responseText;if(liveSearchReq.responseText.length==0)liveSearchHide()}}function liveSearchDoSearch(){if(typeof liveSearchRoot=="undefined"){liveSearchRoot=""}if(typeof liveSearchRootSubDir=="undefined"){liveSearchRootSubDir=""}if(typeof liveSearchParams=="undefined"){liveSearchParams=""}if(liveSearchLast!=document.forms.searchform.search.value){if(liveSearchReq&&liveSearchReq.readyState<4){liveSearchReq.abort()}if(document.forms.searchform.search.value.length<3){liveSearchHide();return false}if(window.XMLHttpRequest){}else if(window.ActiveXObject){liveSearchReq=new ActiveXObject("Microsoft.XMLHTTP")}var a;if(window.encodeURIComponent)a=encodeURIComponent(document.forms.searchform.search.value);else a=escape(document.forms.searchform.search.value);liveSearchReq.onreadystatechange=liveSearchProcessReqChange;liveSearchReq.open("GET",liveSearchRoot+"etc/livesearch.php?q="+a+"&"+document.getElementById("search_sid").name+"="+document.getElementById("search_sid").value+liveSearchParams);liveSearchLast=document.forms.searchform.search.value;liveSearchReq.send(null)}}function liveSearchStart(){if(t){window.clearTimeout(t)}t=window.setTimeout("liveSearchDoSearch()",500)}function liveSearchKeyPress(a){if(a.keyCode==40){highlight=document.getElementById("LSHighlight");if(!highlight){highlight=document.getElementById("LSShadow").firstChild.firstChild}else{highlight.removeAttribute("id");highlight=highlight.nextSibling}if(highlight){highlight.setAttribute("id","LSHighlight")}if(!isIE){a.preventDefault()}}else if(a.keyCode==38){highlight=document.getElementById("LSHighlight");if(!highlight){highlight=document.getElementById("LSResult").firstChild.firstChild.lastChild}else{highlight.removeAttribute("id");highlight=highlight.previousSibling}if(highlight){highlight.setAttribute("id","LSHighlight")}if(!isIE){a.preventDefault()}}else if(a.keyCode==27){highlight=document.getElementById("LSHighlight");if(highlight){highlight.removeAttribute("id")}document.getElementById("LSResult").style.display="none"}}function liveSearchHide(){document.getElementById("LSResult").style.display="none";var a=document.getElementById("LSHighlight");if(a){a.removeAttribute("id")}}function liveSearchHideDelayed(){window.setTimeout("liveSearchHide()",400)}function liveSearchInit(){if(navigator.userAgent.indexOf("Safari")>0){document.getElementById("livesearch").addEventListener("keydown",liveSearchKeyPress,false);document.getElementById("livesearch").addEventListener("blur",liveSearchHide,false)}else if(navigator.product=="Gecko"){document.getElementById("livesearch").addEventListener("keypress",liveSearchKeyPress,false);document.getElementById("livesearch").addEventListener("blur",liveSearchHideDelayed,false)}else{document.getElementById("livesearch").attachEvent("onkeydown",liveSearchKeyPress);document.getElementById("livesearch").attachEvent("onblur",liveSearchHideDelayed,false);isIE=true}document.getElementById("livesearch").setAttribute("AutoComplete","off")}var liveSearchReq=false;var t=null;var liveSearchLast="";var isIE=false;if(window.XMLHttpRequest){liveSearchReq=new XMLHttpRequest}if(encodeURIComponent==null){function encodeURIComponent(a){function b(a){function d(a){if(a<=127)return 1;if(a<=2047)return 2;return 3}function c(a,b){a+=b;return"%"+a.toString(16).toUpperCase()}function b(a){return c(a,128)}var e=d(a);var f="";for(var g=1;g<e;g++){f=b(a&63)+f;a=a>>>6}var h=new Array(0,192,224);f=c(a,h[e-1])+f;return f}var c="";for(var d=0;d<a.length;d++){var e=a.charCodeAt(d);if(e<128){var f=String.fromCharCode(e);if("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.!~*'()".indexOf(f)!=-1)c+=f;else c+=b(e)}else c+=b(e)}return c}}

