diff options
author | andi <andi@splitbrain.org> | 2005-05-20 19:14:00 +0200 |
---|---|---|
committer | andi <andi@splitbrain.org> | 2005-05-20 19:14:00 +0200 |
commit | 9a3ea4f82e6365f7045cb2218f2beea5ab8f970d (patch) | |
tree | 6662a615a50a68d891336cfc6eecd83efc09b44e /ajax.js | |
parent | a6755281caf089bc0d12d715100b727bc97aa8da (diff) | |
download | rpg-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.js | 51 |
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); +} + |