X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=js%2Finserts.js;h=c3ff6e1f54a5d704b4f1bb0942cb1f9df3cde72f;hb=6453c26ae71a40c195dc5adb51dde5ca4cebff84;hp=a639b2cc3ed623b6f968b856a4a97bc87a42b16d;hpb=73f7e2f83657966f999078917cf9404ec5d65fc3;p=fa-stable.git diff --git a/js/inserts.js b/js/inserts.js index a639b2cc..c3ff6e1f 100644 --- a/js/inserts.js +++ b/js/inserts.js @@ -1,348 +1,246 @@ -//ajax transfer progress indicator -var starttabs = new Array(); -var autoload = new Array(); -var onload_script = "" -var loadstatustext=" Requesting content..." -var loadedobjects="" - -function Querystring(qs) { // optionally pass a querystring to parse - this.params = new Object() - this.get=Querystring_get - this.set=Querystring_set - this.href=window.location.pathname - this.url=Querystring_url - - if (qs == null) - qs=location.search.substring(1,location.search.length) - - if (qs.length == 0) return - -// Turn back to -// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1 - qs = qs.replace(/\+/g, ' ') - var args = qs.split('&') // parse out name/value pairs separated via & - -// split out each name=value pair - for (var i=0;i'+msg } -function ajaxloader(url,vars,div) { - var container = document.getElementById(div) - var callback=function(response,headers,context) { - container.innerHTML=response; - Behaviour.apply(); - } - debug(url) - container.innerHTML=loadstatustext - ajaxCaller.postForPlainText(url,vars,callback) -} - -function loadobjs(revattribute){ -if (revattribute!=null && revattribute!=""){ //if "rev" attribute is defined (load external .js or .css files) -var objectlist=revattribute.split(/\s*,\s*/) //split the files and store as array -for (var i=0; i "+ + user.loadtxt+""; } function _expand(tabobj) { -var alltabs=tabobj.parentNode.parentNode.getElementsByTagName("a") -if (tabobj.getAttribute("rel")){ -for (var i=0; i=0) { + var len = select.length; + var byid = this.className=='combo'; + var ac = this.value.toUpperCase(); + select.options[select.selectedIndex].selected = false; + for (i = 0; i < len; i++) { + var txt = byid ? select.options[i].value : select.options[i].text; + if (txt.toUpperCase().indexOf(ac) >= 0) { + select.options[i].selected = true; + break; + } + } } - Query.set('ajax', element.id); - Query.set('action', 'update'); - ajaxloader(Query.url(),vars, div) + }; + e.onkeydown = function(ev) { +// this.lastkey = event.keyCode; + this.back = (ev||window.event).shiftKey; // save shift state for onblur handler + } +} + +function _set_combo_select(e) { + + e.onblur = function(event) { + event = event||window.event; + if(!this.back && this.selectedIndex>=0) { + var sname = '_'+this.name+'_update'; + var box = document.getElementsByName(this.getAttribute('rel'))[0]; + var opt = this.options[this.selectedIndex]; + var byid = this.className=='combo'; + var update = document.getElementsByName(sname)[0]; + if (opt.value != 0) { + if(box) box.value = byid ? opt.value : opt.text; + if(update) { + if(update.className == 'combo_select') { + document.getElementsByName('_focus')[0].value=this.name; + JsHttpRequest.request(sname); + } else { + update.click(); + this.focus(); + } + } + } + this.size = 1; + } + return true; } - - element.onreset=function(){ - var url=element.action; - var div=element.getAttribute("rel") - url.replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/") - url = url + "&ajax=" + element.id + "&action=reset"; -// var vars = new Array(); -// for(i=0; i1) { + this.size = 1; + } else{ + var sel = this.selectedIndex; + this.size = this.options.length; + if(this.size>10) this.size = 10; + this.selectedIndex = sel; + } + } + } + }; + element.onblur = function() { + if(this.init_size<=1) + this.size = 1; + }; + var c = element.className; + if (c == 'combo' || c == 'combo2') +// if (element.onblur==undefined) { + _set_combo_select(element); +// } + } + }, + 'input': function(element) { // we do not want to change focus on submit + if(element.type!='submit' && element.onfocus==undefined) { + element.onfocus = function() { + document.getElementsByName('_focus')[0].value = element.name; + }; + var c = element.className; + if (c == 'combo' || c == 'combo2') { + if(element.onkeydown==undefined) { + _set_combo_input(element); + } + } + } + }, + 'input.combo_submit': function(element) { + // this hides search button for js enabled browsers + element.style.display = 'none'; + }, + 'input.combo_select': function(element) { + // this hides select button for js enabled browsers + element.style.display = 'none'; + }, + 'input.combo_reload': function(element) { + element.style.display = 'none'; + }, + 'input.ajaxsubmit': function(e) { + e.onclick = function() { + JsHttpRequest.request(this.name); + return false; + } + }, + 'input.editbutton': function(e) { + e.onclick = function() { + JsHttpRequest.request(this.name); + return false; + } + }, + 'ul.ajaxtabs': function(ul) { + var ulist=ul.getElementsByTagName("li"); + for (var x=0; x