summaryrefslogtreecommitdiff
path: root/ajax.js
diff options
context:
space:
mode:
authorandi <andi@splitbrain.org>2005-05-20 19:14:00 +0200
committerandi <andi@splitbrain.org>2005-05-20 19:14:00 +0200
commit9a3ea4f82e6365f7045cb2218f2beea5ab8f970d (patch)
tree6662a615a50a68d891336cfc6eecd83efc09b44e /ajax.js
parenta6755281caf089bc0d12d715100b727bc97aa8da (diff)
downloadrpg-9a3ea4f82e6365f7045cb2218f2beea5ab8f970d.tar.gz
rpg-9a3ea4f82e6365f7045cb2218f2beea5ab8f970d.tar.bz2
some ajax quicksearch cleanups - now tested in IE
darcs-hash:20050520171400-9977f-9039c9e9ea00c428cbfe30999400331f57d2d31a.gz
Diffstat (limited to 'ajax.js')
-rw-r--r--ajax.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/ajax.js b/ajax.js
new file mode 100644
index 000000000..f4c36baba
--- /dev/null
+++ b/ajax.js
@@ -0,0 +1,51 @@
+//prepare class
+function ajax_qsearch_class(){
+ this.sack = null;
+ this.inObj = null;
+ this.outObj = null;
+ this.timer = null;
+}
+
+//create global object and add functions
+var ajax_qsearch = new ajax_qsearch_class();
+ajax_qsearch.sack = new sack(DOKU_BASE + 'ajax.php');
+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.clear = function(){
+ ajax_qsearch.outObj.style.display = 'none';
+ ajax_qsearch.outObj.innerHTML = '';
+ 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;
+ ajax_qsearch.sack.runAJAX('call=qsearch&q='+encodeURI(value));
+}
+
+ajax_qsearch.sack.onCompletion = function(){
+ var data = ajax_qsearch.sack.response;
+ 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.clear();
+ ajax_qsearch.timer = window.setTimeout("ajax_qsearch.exec()",500);
+}
+