2 document.getElementById('msgbox').innerHTML=
3 document.getElementById('msgbox').innerHTML+'<br>'+msg
6 function progbar(container) {
7 container.innerHTML= "<center><img src='"+
8 user.theme+"images/progressbar1.gif' /> "+
9 user.loadtxt+"</center>";
12 function _expand(tabobj) {
14 var ul = tabobj.parentNode.parentNode;
15 var alltabs=ul.getElementsByTagName("input");
16 var frm = tabobj.form;
18 if (ul.getAttribute("rel")){
19 for (var i=0; i<alltabs.length; i++){
20 alltabs[i].className = "ajaxbutton" //deselect all tabs
22 tabobj.className = "current";
23 JsHttpRequest.request(tabobj.name)
27 //interface for selecting a tab (plus expand corresponding content)
28 function expandtab(tabcontentid, tabnumber) {
29 var tabs = document.getElementById(tabcontentid);
30 _expand(tabs.getElementsByTagName("input")[tabnumber]);
33 function _set_combo_input(e) {
34 // e.onkeydown=function(event) {
35 e.onblur=function(event) {
36 event = event||window.event;
38 var but_name = this.name.substring(0, this.name.length-4)+'button';
39 var button = document.getElementsByName(but_name)[0];
40 var select = document.getElementsByName(this.getAttribute('rel'))[0];
41 var byid = this.className=='combo';
42 if(button) { // if *_button set submit search request
43 JsHttpRequest.request(but_name);
48 e.onkeyup = function() {
49 var select = document.getElementsByName(this.getAttribute('rel'))[0];
50 if(select && select.selectedIndex>=0) {
51 var len = select.length;
52 var byid = this.className=='combo';
53 var ac = this.value.toUpperCase();
54 select.options[select.selectedIndex].selected = false;
55 for (i = 0; i < len; i++) {
56 var txt = byid ? select.options[i].value : select.options[i].text;
57 if (txt.toUpperCase().indexOf(ac) >= 0) {
58 select.options[i].selected = true;
64 e.onkeydown = function(ev) {
65 // this.lastkey = event.keyCode;
66 this.back = (ev||window.event).shiftKey; // save shift state for onblur handler
70 function _set_combo_select(e) {
72 e.onblur = function(event) {
73 event = event||window.event;
74 if(!this.back && this.selectedIndex>=0) {
75 var sname = '_'+this.name+'_update';
76 var box = document.getElementsByName(this.getAttribute('rel'))[0];
77 var opt = this.options[this.selectedIndex];
78 var byid = this.className=='combo';
79 var update = document.getElementsByName(sname)[0];
81 if(box) box.value = byid ? opt.value : opt.text;
83 if(update.className == 'combo_select') {
84 document.getElementsByName('_focus')[0].value=this.name;
85 JsHttpRequest.request(sname);
96 e.onchange = function() {
97 if (this.options[this.selectedIndex].value==0)
98 document.getElementsByName(this.getAttribute('rel'))[0].value='';
100 /* e.onkeydown = function(event) {
101 event = event||window.event;
102 if(event.keyCode==13) {
103 var box = document.getElementsByName(this.getAttribute('rel'))[0];
104 this.style.display='none';
105 box.style.display='';
113 Behaviour definitions
116 '.amount': function(element) {
117 if(element.onblur==undefined) {
118 var dec = element.getAttribute("dec");
119 element.onblur = function() {
120 price_format(this.name, get_amount(this.name), dec);
124 'select': function(element) {
125 if(element.onfocus==undefined) {
126 element.onfocus = function() {
127 document.getElementsByName('_focus')[0].value = element.name;
129 element.onkeydown = function(event) {
130 event = event||window.event;
131 this.back = event.shiftKey; // save shift state for onblur handler
132 this.lastkey = event.keyCode;
133 if (event.keyCode==32) {
134 if(this.init_size==undefined)
135 this.init_size = this.size;
136 if(this.init_size<=1) {
140 var sel = this.selectedIndex;
141 this.size = this.options.length;
142 if(this.size>10) this.size = 10;
143 this.selectedIndex = sel;
148 element.onblur = function() {
149 if(this.init_size<=1)
152 var c = element.className;
153 if (c == 'combo' || c == 'combo2')
154 // if (element.onblur==undefined) {
155 _set_combo_select(element);
159 'input': function(element) { // we do not want to change focus on submit
160 if(element.type!='submit' && element.onfocus==undefined) {
161 element.onfocus = function() {
162 document.getElementsByName('_focus')[0].value = element.name;
164 var c = element.className;
165 if (c == 'combo' || c == 'combo2') {
166 if(element.onkeydown==undefined) {
167 _set_combo_input(element);
172 'input.combo_submit': function(element) {
173 // this hides search button for js enabled browsers
174 element.style.display = 'none';
176 'input.combo_select': function(element) {
177 // this hides select button for js enabled browsers
178 element.style.display = 'none';
180 'input.combo_reload': function(element) {
181 element.style.display = 'none';
183 'input.ajaxsubmit': function(e) {
184 e.onclick = function() {
185 JsHttpRequest.request(this.name);
189 'input.editbutton': function(e) {
190 e.onclick = function() {
191 JsHttpRequest.request(this.name);
195 'ul.ajaxtabs': function(ul) {
196 var ulist=ul.getElementsByTagName("li");
197 for (var x=0; x<ulist.length; x++){ //loop through each LI element
198 var ulistlink=ulist[x].getElementsByTagName("input")[0];
199 if(ulistlink.onclick==undefined) {
200 // ? var modifiedurl=ulistlink.getAttribute("href").replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
201 var url = ulistlink.form.action
202 ulistlink.onclick=function(){
209 'input.navibutton': function(e) {
210 if(e.onclick==undefined) {
211 e.onclick = function() {
212 JsHttpRequest.request(this.name);
219 'a.date_picker': function(element) {
220 // this un-hides data picker for js enabled browsers
221 element.href = date_picker(this.getAttribute('rel'));
222 element.style.display = '';
223 element.tabindex = -1; // skip in tabbing order
228 Behaviour.register(inserts);
230 function setFocus(name, byId) {
232 input = document.getElementById(name);
234 input = document.getElementsByName(name)[0];
236 if(input && input.focus)
240 Behaviour.addLoadEvent(function() {
241 var inp = document.getElementsByName('_focus')[0];
243 setFocus(inp.value, 0);