/* // +----------------------------------------------------------------------+ // | Copyright (c) 2004 Bitflux GmbH | // +----------------------------------------------------------------------+ // | Licensed under the Apache License, Version 2.0 (the "License"); | // | you may not use this file except in compliance with the License. | // | You may obtain a copy of the License at | // | http://www.apache.org/licenses/LICENSE-2.0 | // | Unless required by applicable law or agreed to in writing, software | // | distributed under the License is distributed on an "AS IS" BASIS, | // | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | // | implied. See the License for the specific language governing | // | permissions and limitations under the License. | // +----------------------------------------------------------------------+ // | Author: Bitflux GmbH | // +----------------------------------------------------------------------+ */ var liveSearchReq = false; var t = null; var liveSearchLast = ""; var intAJSRow = 0 var isIE = false; // on !IE we only have to initialize it once if (window.XMLHttpRequest) { liveSearchReq = new XMLHttpRequest(); } 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",liveSearchHide,false); isIE = true; } document.getElementById('livesearch').setAttribute("autocomplete","off"); } function liveSearchHideDelayed() { window.setTimeout("liveSearchHide()",400); } function liveSearchHide() { document.getElementById("LSResult").style.display = "none"; var highlight = document.getElementById("LSHighlight"); if (highlight) { highlight.removeAttribute("id"); } } function liveSearchInactive() { if (intAJSRow > 0) { return false; } else { return true; } } function ajsRoll(celname, celcol){ var chgcell if (intAJSRow > 0) { outm('ajs_' + intAJSRow, '#ffffff'); outm('ajsborder_' + intAJSRow, '#ffffff'); intAJSRow = 0; } if (document.layers) { // browser is NN chgcell = "window.document."+ celname + ".bgColor='"+ celcol + "'"; } else //assume IE { chgcell = "document.getElementById('"+ celname + "').bgColor='"+ celcol + "'"; } eval(chgcell); } function liveSearchKeyPress(event) { var ajsrow, ajslink, ajslinkurl if (event.keyCode == 13 ) //ENTER { if (intAJSRow > 0) { ajslink = document.getElementById('ajsl_' + intAJSRow); ajslinkurl = ajslink.href; document.location = ajslinkurl; //alert(ajslinkurl); } } else if (event.keyCode == 40 ) //KEY DOWN { if (intAJSRow > 0) { outm('ajs_' + intAJSRow, '#ffffff'); outm('ajsborder_' + intAJSRow, '#ffffff'); } ajsrow = document.getElementById('ajs_' + (intAJSRow+1)); if (ajsrow) { intAJSRow = intAJSRow + 1; } ajsrow = document.getElementById('ajs_' + (intAJSRow)); if (ajsrow) { overm('ajs_' + intAJSRow, '#eeeeff'); overm('ajsborder_' + intAJSRow, '#aaaaff'); } if (!isIE) { event.preventDefault(); } } //KEY UP else if (event.keyCode == 38 ) { if (intAJSRow > 0) { outm('ajs_' + intAJSRow, '#ffffff'); outm('ajsborder_' + intAJSRow, '#ffffff'); intAJSRow = intAJSRow - 1; } if (intAJSRow > 0) { overm('ajs_' + intAJSRow, '#eeeeff'); overm('ajsborder_' + intAJSRow, '#aaaaff'); } if (!isIE) { event.preventDefault(); } } //ESC else if (event.keyCode == 27) { highlight = document.getElementById("LSHighlight"); if (highlight) { highlight.removeAttribute("id"); } document.getElementById("LSResult").style.display = "none"; } //BACKSPACE - required for IE else if (event.keyCode == 8 && isIE) { liveSearchStart(); } else { intAJSRow = 0; } } function liveSearchStart() { if (t) { window.clearTimeout(t); } t = window.setTimeout("liveSearchDoSearch()",200); } function liveSearchDoSearch() { if (typeof liveSearchRoot == "undefined") { liveSearchRoot = ""; } if (typeof liveSearchRootSubDir == "undefined") { liveSearchRootSubDir = ""; } if (typeof liveSearchParams == "undefined") { liveSearchParams2 = ""; } else { liveSearchParams2 = "&" + liveSearchParams; } if (liveSearchLast != document.forms.search_form.sp.value) { if (liveSearchReq && liveSearchReq.readyState < 4) { liveSearchReq.abort(); } if ( document.forms.search_form.sp.value == "") { liveSearchHide(); liveSearchLast = ""; return false; } if (window.XMLHttpRequest) { // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { liveSearchReq = new ActiveXObject("Microsoft.XMLHTTP"); } liveSearchReq.onreadystatechange= liveSearchProcessReqChange; liveSearchReq.open("GET", liveSearchRoot + "/xt_ajax_test.asp?dt=21/11/2009&search=" + document.forms.search_form.sp.value + liveSearchParams2); liveSearchLast = document.forms.search_form.sp.value; liveSearchReq.send(null); } } function liveSearchProcessReqChange() { if (liveSearchReq.readyState == 4) { var res = document.getElementById("LSResult"); if (liveSearchReq.responseText != '') { res.style.display = "block"; res.innerHTML = liveSearchReq.responseText; } else { liveSearchHide(); } } }