summaryrefslogtreecommitdiff
path: root/static/f/forms.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/f/forms.js')
-rw-r--r--static/f/forms.js176
1 files changed, 0 insertions, 176 deletions
diff --git a/static/f/forms.js b/static/f/forms.js
index 6eaa5cb7..57513735 100644
--- a/static/f/forms.js
+++ b/static/f/forms.js
@@ -8,182 +8,6 @@ function shorten(v, l) {
-
-
- /***********************************\
- * D R O P D O W N S E A R C H *
- \***********************************/
-
-
-function dsInit(obj, url, trfunc, serfunc, retfunc, parfunc) {
- obj.setAttribute('autocomplete', 'off');
- obj.onkeydown = dsKeyDown;
- obj.onblur = function() {
- // timeout to make sure the tr.onclick event is called before we've hidden the object
- setTimeout(function () {
- if(x('ds_box'))
- x('ds_box').style.top = '-500px';
- }, 500)
- };
- // all local data is stored in the DOM input object
- obj.returnFunc = retfunc;
- obj.trFunc = trfunc;
- obj.serFunc = serfunc;
- obj.parFunc = parfunc;
- obj.searchURL = url;
- obj.selectedId = 0;
-}
-
-function dsKeyDown(ev) {
- var c = document.layers ? ev.which : document.all ? event.keyCode : ev.keyCode;
- var obj = this;
-
- if(c == 9) // tab
- return true;
-
- // do some processing when the enter key has been pressed
- if(c == 13) {
- var o = obj;
- while(o && o.nodeName.toLowerCase() != 'form')
- o = o.parentNode;
- if(o) {
- var oldsubmit = o.onsubmit;
- o.onsubmit = function() { return false };
- setTimeout(function() { o.onsubmit = oldsubmit }, 100);
- }
-
- if(obj.selectedId != 0)
- obj.value = obj.serFunc(x('ds_box_'+obj.selectedId).itemData, obj);
- if(obj.returnFunc)
- obj.returnFunc();
- if(x('ds_box'))
- x('ds_box').style.top = '-500px';
- obj.selectedId = 0;
-
- return false;
- }
-
- // process up/down keys
- if(x('ds_box') && (c == 38 || c == 40)) {
- var l = x('ds_box').getElementsByTagName('tr');
- if(l.length < 1)
- return true;
-
- if(obj.selectedId == 0) {
- if(c == 38) // up
- obj.selectedId = l[l.length-1].id.substr(7);
- else
- obj.selectedId = l[0].id.substr(7);
- } else {
- var sel = null;
- for(var i=0;i<l.length;i++)
- if(l[i].id == 'ds_box_'+obj.selectedId) {
- if(c == 38) // up
- sel = i>0 ? l[i-1] : l[l.length-1];
- else
- sel = l[i+1] ? l[i+1] : l[0];
- }
- obj.selectedId = sel.id.substr(7);
- }
-
- for(var i=0;i<l.length;i++)
- l[i].className = l[i].id == 'ds_box_'+obj.selectedId ? 'selected' : '';
- return true;
- }
-
- // this.value isn't available in a keydown event
- setTimeout(function() {
- dsSearch(obj);
- }, 10);
-
- return true;
-}
-
-function dsSearch(obj) {
- var b = x('ds_box');
- var v = obj.parFunc ? obj.parFunc(obj.value) : obj.value;
-
- // show/hide the ds_box div
- if(v.length < 2) {
- if(b) {
- b.style.top = '-500px';
- b.innerHTML = '<b>Loading...</b>';
- }
- obj.selectedId = 0;
- return;
- }
- if(!b) {
- b = document.createElement('div');
- b.setAttribute('id', 'ds_box');
- b.innerHTML = '<b>Loading...</b>';
- document.body.appendChild(b);
- }
-
- // position the div
- var ddx=0;
- var ddy=obj.offsetHeight;
- var o = obj;
- do {
- ddx += o.offsetLeft;
- ddy += o.offsetTop;
- } while(o = o.offsetParent);
-
- b.style.position = 'absolute';
- b.style.left = ddx+'px';
- b.style.top = ddy+'px';
- b.style.width = obj.offsetWidth+'px';
-
- // perform search
- ajax(obj.searchURL + encodeURIComponent(v), function(hr) {
- dsResults(hr, obj);
- });
-}
-
-function dsResults(hr, obj) {
- var l = hr.responseXML.getElementsByTagName('item');
- var b = x('ds_box');
- if(l.length < 1) {
- b.innerHTML = '<b>No results...</b>';
- obj.selectedId = 0;
- return;
- }
-
- b.innerHTML = '<table><tbody></tbody></table>';
- tb = b.getElementsByTagName('tbody')[0];
- for(var i=0;i<l.length;i++) {
- var id = l[i].getAttribute('id');
- var tr = document.createElement('tr');
- tr.setAttribute('id', 'ds_box_'+id);
- tr.itemData = l[i];
- if(obj.selectedId == id)
- tr.setAttribute('class', 'selected');
- tr.onmouseover = function() {
- obj.selectedId = this.id.substr(7);
- var l = x('ds_box').getElementsByTagName('tr');
- for(var i=0;i<l.length;i++)
- l[i].className = l[i].id == 'ds_box_'+obj.selectedId ? 'selected' : '';
- };
- tr.onclick = function() {
- obj.value = obj.serFunc(this.itemData, obj);
- if(obj.returnFunc)
- obj.returnFunc();
- if(x('ds_box'))
- x('ds_box').style.top = '-500px';
- obj.selectedId = 0;
- };
- obj.trFunc(l[i], tr);
- tb.appendChild(tr);
- }
-
- if(obj.selectedId != 0 && !x('ds_box_'+obj.selectedId))
- obj.selectedId = 0;
-}
-
-
-
-
-
-
/*****************************\
* V N R E L A T I O N S *
\*****************************/