X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=js%2Finserts.js;h=c3ff6e1f54a5d704b4f1bb0942cb1f9df3cde72f;hb=72af4496f87c438dc85a0a7573d36b7bd9e49624;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; i-1) {
- ajaxloader(url,vars, table.getAttribute('rel'))
- } else { // this is external 'select' handler
- window.location = url;
- }
-
+/* e.onkeydown = function(event) {
+ event = event||window.event;
+ if(event.keyCode==13) {
+ var box = document.getElementsByName(this.getAttribute('rel'))[0];
+ this.style.display='none';
+ box.style.display='';
+ this.back=true;
+ box.focus();
+ }
}
- }
- },
- 'table.ajaxgrid th': function(element) {
- element.onclick=function(){
- var table = this.parentNode.parentNode.parentNode
- var url = table.getAttribute('href')
- var vars = {}
- url+='&ajax='+table.id+'&action=sort&id='+ this.id
-// debug(url)
+*/}
- ajaxloader(url, {}, table.getAttribute("rel"))
-// loadobjs(this.getAttribute("href"))
- return false
- }
- },
- 'a.ajaxgrid-navi': function(element) {
- if(element.onclick==undefined)
- if (element.getAttribute("rel")){
- var modifiedurl=element.getAttribute("href").replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
- element.setAttribute("href", modifiedurl) //replace URL's root domain with dynamic root domain, for ajax security sake
- if( modifiedurl.indexOf('ajax=')>-1) {
- element.onclick=function(){ // set ajax handler
-// debug(this.getAttribute("href"))
- ajaxloader(this.getAttribute("href"), {}, this.getAttribute("rel"))
- loadobjs(this.getAttribute("href"))
- return false
- }
- }
- }
- },
- 'a.ajaxgrid-select': function(element) {
- if(element.onclick==undefined) {
- var modifiedurl=element.getAttribute("href").replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
- element.setAttribute("href", modifiedurl) //replace URL's root domain with dynamic root domain, for ajax security sake
- element.onclick=function(){
- var row = this.parentNode.parentNode
- var table = row.parentNode.parentNode
-
- var url = this.getAttribute('href')
- var vars = {}
-
- hideddrivetip()
-
-// url += '&ajax='+table.id
- url += _TableRowSelector(table,row)
-// alert( this.getAttribute('rel'))
- ajaxloader(url,vars, this.getAttribute('rel'))
- return false
- }
- element.tooltip = element.getAttribute('title') // save tooltip
- element.removeAttribute('title') // native tooltip off
- element.onmouseover=function() {
- ddrivetip(this.tooltip)
- }
- element.onmouseout=function() {
- hideddrivetip()
- }
- }
- },
- '.amount': function(element) {
+/*
+ Behaviour definitions
+*/
+var inserts = {
+ '.amount': function(element) {
if(element.onblur==undefined) {
var dec = element.getAttribute("dec");
element.onblur = function() {
price_format(this.name, get_amount(this.name), dec);
};
}
+ },
+ 'select': function(element) {
+ if(element.onfocus==undefined) {
+ element.onfocus = function() {
+ document.getElementsByName('_focus')[0].value = element.name;
+ };
+ element.onkeydown = function(event) {
+ event = event||window.event;
+ this.back = event.shiftKey; // save shift state for onblur handler
+ this.lastkey = event.keyCode;
+ if (event.keyCode==32) {
+ if(this.init_size==undefined)
+ this.init_size = this.size;
+ if(this.init_size<=1) {
+ if(this.size>1) {
+ 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