summaryrefslogtreecommitdiff
path: root/lib/scripts/ajax.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/scripts/ajax.js')
-rw-r--r--lib/scripts/ajax.js35
1 files changed, 21 insertions, 14 deletions
diff --git a/lib/scripts/ajax.js b/lib/scripts/ajax.js
index 0a4183463..c0323f09e 100644
--- a/lib/scripts/ajax.js
+++ b/lib/scripts/ajax.js
@@ -23,39 +23,46 @@ ajax_qsearch.sack.AjaxFailedAlert = '';
ajax_qsearch.sack.encodeURIString = false;
ajax_qsearch.init = function(inID,outID){
- if(ajax_qsearch.inObj == null)
- ajax_qsearch.inObj = document.getElementById(inID);
- if(ajax_qsearch.outObj == null)
- ajax_qsearch.outObj = document.getElementById(outID);
-}
+ ajax_qsearch.inObj = document.getElementById(inID);
+ ajax_qsearch.outObj = document.getElementById(outID);
+
+ // objects found?
+ if(ajax_qsearch.inObj === null){ return; }
+ if(ajax_qsearch.outObj === null){ return; }
+
+ // attach eventhandler to search field
+ addEvent(ajax_qsearch.inObj,'keyup',ajax_qsearch.call);
+
+ // attach eventhandler to output field
+ addEvent(ajax_qsearch.outObj,'click',function(){ ajax_qsearch.outObj.style.display='none'; });
+};
ajax_qsearch.clear = function(){
ajax_qsearch.outObj.style.display = 'none';
ajax_qsearch.outObj.innerHTML = '';
- if(ajax_qsearch.timer != null){
+ if(ajax_qsearch.timer !== null){
window.clearTimeout(ajax_qsearch.timer);
ajax_qsearch.timer = null;
}
-}
+};
ajax_qsearch.exec = function(){
ajax_qsearch.clear();
var value = ajax_qsearch.inObj.value;
- if(value == '') return;
+ if(value === ''){ return; }
ajax_qsearch.sack.runAJAX('call=qsearch&q='+encodeURI(value));
-}
+};
ajax_qsearch.sack.onCompletion = function(){
var data = ajax_qsearch.sack.response;
- if(data == '') return;
+ if(data === ''){ return; }
ajax_qsearch.outObj.innerHTML = data;
ajax_qsearch.outObj.style.display = 'block';
-}
+};
-ajax_qsearch.call = function(inID,outID){
- ajax_qsearch.init(inID,outID);
+ajax_qsearch.call = function(){
ajax_qsearch.clear();
ajax_qsearch.timer = window.setTimeout("ajax_qsearch.exec()",500);
-}
+};