1 var browserType;
2 var timeout;
4 if (document.layers) {browserType = "nn4"}
5 if (document.all) {browserType = "ie"}
6 if (window.navigator.userAgent.toLowerCase().match("gecko")) {browserType= "gecko"}
8 netscape = "";
9 ver= navigator.appVersion; len = ver.length;
11 for (iln = 0; iln < len; iln++){
12 if (ver.charAt(iln) == "("){
13 break;
14 }
15 }
16 netscape= (ver.charAt(iln+1).toUpperCase() != "C");
19 /* Toggle checkbox that matches regex */
20 function chk_set_all(regex,value)
21 {
22 for (var i = 0; i < document.mainform.elements.length; i++) {
23 var _id=document.mainform.elements[i].id;
24 if(_id.match(regex)) {
25 document.getElementById(_id).checked= value;
26 }
27 }
28 }
31 function scrollDown() {
32 document.body.scrollTop = document.body.scrollHeight - document.body.clientHeight;
33 timeout= setTimeout("scrollDown()", 500);
34 }
36 /* Scroll down the body frame */
37 function scrollDown2()
38 {
39 document.body.scrollTop = document.body.scrollHeight - document.body.clientHeight;
40 }
43 function keyPress(DnEvents) {
44 // determines whether Netscape or Internet Explorer
45 k = (netscape) ? DnEvents.keyCode : window.event.keyCode;
46 if (k == 13) { // enter key pressed
47 if(typeof(nextfield)!='undefined') {
48 if(nextfield == 'login') {
49 return true; // submit, we finished all fields
50 } else { // we are not done yet, send focus to next box
51 eval('document.mainform.' + nextfield + '.focus()');
52 return false;
53 }
54 } else {
55 if(netscape) {
56 if(DnEvents.target.type == 'textarea') {
57 return true;
58 } else if (DnEvents.target.type != 'submit') {
59 // TAB
60 var thisfield = document.getElementById(DnEvents.target.id);
61 for (i = 0; i < document.forms[0].elements.length; i++) {
62 if(document.forms[0].elements[i].id==thisfield.id) {
63 // Last form element on page?
64 if(i!=document.forms[0].elements.length-1) {
65 document.forms[0].elements[i+1].focus();
66 }
67 }
68 }
69 return false;
70 } else {
71 return true;
72 }
73 // Check for konqueror
74 } else if(document.clientWidth) {
75 // do nothing ATM
76 } else {
77 if(window.event.srcElement.type == 'textarea') {
78 return true;
79 } else if (window.event.srcElement.type != 'submit') {
80 // TAB
81 var thisfield = document.getElementById(window.event.srcElement.id);
82 for (i = 0; i < document.forms[0].elements.length; i++) {
83 if(document.forms[0].elements[i].id==thisfield.id) {
84 // Last form element on page?
85 if(i!=document.forms[0].elements.length-1) {
86 document.forms[0].elements[i+1].focus();
87 }
88 }
89 }
90 return false;
91 } else {
92 return true;
93 }
94 }
95 }
96 } else if (k==9) {
97 // Tab key pressed
98 if(netscape) {
99 if(DnEvents.target.type == 'textarea') {
100 document.getElementById(DnEvents.target.id).value+="\t";
101 return false;
102 }
103 // Check for konqueror
104 } else if(document.clientWidth) {
105 // do nothing ATM
106 } else {
107 if(window.event.srcElement.type == 'textarea') {
108 document.getElementById(window.event.srcElement.id).value+="\t";
109 return false;
110 }
111 }
112 }
113 }
115 function changeState(myField) {
116 if(document.getElementById(myField) != null){
117 document.getElementById(myField).disabled=(document.getElementById(myField).disabled)?false:true;
118 }
119 }
121 function setHidden(str) {
122 type = document.getElementById(str).style.display;
123 if((type=='')||(type=='block')) {
124 document.getElementById(str).style.display='none';
125 }else{
126 document.getElementById(str).style.display='block';
127 }
128 }
129 function changeSelectState(triggerField, myField) {
130 if (document.getElementById(triggerField).value != 2){
131 document.getElementById(myField).disabled= true;
132 } else {
133 document.getElementById(myField).disabled= false;
134 }
135 }
137 function changeSubselectState(triggerField, myField) {
138 if (document.getElementById(triggerField).checked == true){
139 document.getElementById(myField).disabled= false;
140 } else {
141 document.getElementById(myField).disabled= true;
142 }
143 }
145 function changeTripleSelectState(firstTriggerField, secondTriggerField, myField) {
146 if (
147 document.getElementById(firstTriggerField).checked == true &&
148 document.getElementById(secondTriggerField).checked == true){
149 document.getElementById(myField).disabled= false;
150 } else {
151 document.getElementById(myField).disabled= true;
152 }
153 }
155 <!-- Second field must be non-checked -->
156 function changeTripleSelectState_2nd_neg(firstTriggerField, secondTriggerField, myField) {
157 if (
158 document.getElementById(firstTriggerField).checked == true &&
159 document.getElementById(secondTriggerField).checked == false){
160 document.getElementById(myField).disabled= false;
161 } else {
162 document.getElementById(myField).disabled= true;
163 }
164 }
165 // work together to analyze keystrokes
166 if (netscape){
167 document.captureEvents(Event.KEYPRESS);
168 document.onkeypress= keyPress;
169 } else {
170 document.onkeydown= keyPress;
171 }
173 function hide(element) {
174 if (browserType == "gecko" )
175 document.poppedLayer = document.getElementById(element);
176 else if (browserType == "ie")
177 document.poppedLayer = document.all[element];
178 else
179 document.poppedLayer = document.layers[element];
180 document.poppedLayer.style.visibility = "hidden";
181 }
183 function show(element) {
184 if (browserType == "gecko" )
185 document.poppedLayer = document.getElementById(element);
186 else if (browserType == "ie")
187 document.poppedLayer = document.all[element];
188 else
189 document.poppedLayer = document.layers[element];
190 document.poppedLayer.style.visibility = "visible";
191 }
193 function toggle(element) {
194 if (browserType == "gecko" )
195 document.poppedLayer = document.getElementById(element);
196 else if (browserType == "ie")
197 document.poppedLayer = document.all[element];
198 else
199 document.poppedLayer = document.layers[element];
201 if (document.poppedLayer.style.visibility == "visible") {
202 hide (element);
203 } else {
204 show (element);
205 }
206 }
208 function popup(target, name) {
209 var mypopup=
210 window.open(
211 target,
212 name,
213 "width=600,height=700,location=no,toolbar=no,directories=no,menubar=no,status=no,scrollbars=yes"
214 );
215 mypopup.focus();
216 return false;
217 }
219 function js_check(form) {
220 form.javascript.value = 'true';
221 }
223 window.onload = adjust;
224 window.onresize = adjust;
226 function adjust (e) {
227 adjust_height(e);
228 adjust_width(e);
229 }
231 // Automatic resize (height) of divlists
232 function adjust_height(e) {
233 if (!e) e=window.event;
234 if (document.getElementById("menucell") && document.getElementById("d_scrollbody")) {
235 var inner_height= window.innerHeight;
236 var min_height= 450;
237 var px_height= min_height;
238 var suggested= px_height;
240 // document.defaultView allows access to the rendered size of elements and should be supported by modern browsers
241 if(document.defaultView) {
242 var menu_height=parseInt(document.defaultView.getComputedStyle(document.getElementById("menucell"),"").getPropertyValue('height'));
244 // Minimum height for divlist should be the bottom edge of the menu
245 min_height= menu_height-197;
246 suggested= min_height;
247 if((inner_height-230)-suggested>0) {
248 suggested= inner_height-230;
249 }
251 } else if(px_height >= 450) {
252 suggested= px_height-230;
253 }
254 document.getElementById("d_scrollbody").style.height=suggested+"px";
255 }
256 return true;
257 }
259 // Automatic resize (width) of divlists
260 function adjust_width(e) {
261 if (!e) e=window.event;
263 // Known to not work with IE
264 if(document.defaultView && document.getElementById("t_scrolltable")) {
265 // Resize the div
266 var div_width=parseInt(document.defaultView.getComputedStyle(document.getElementById("t_scrolltable"),"").getPropertyValue('width'));
267 var width= parseInt(window.innerWidth);
269 // Resize the body cells
270 var diff= width-div_width-470;
272 // window has been upscaled
273 if(div_width+diff>=600) {
274 document.getElementById('d_scrollbody').style.width=div_width+diff+"px";
275 document.getElementById('t_scrollbody').style.width=(div_width-19)+diff+"px";
277 // Resize the Header cells (only the relative-width ones)
278 document.getElementById('t_scrollhead').style.width=div_width+diff+"px";
280 // window has been downscaled, we must reset the div to 600px
281 } else if (width < 930) {
282 // Reset layout (set width to 600px)
283 div_width=600;
284 document.getElementById('d_scrollbody').style.width=div_width+"px";
285 document.getElementById('t_scrollbody').style.width=(div_width-19)+"px";
287 // Resize the Header cells (only the relative-width ones)
288 document.getElementById('t_scrollhead').style.width=div_width+"px";
289 }
290 } else if(document.defaultView && document.getElementById("t_scrolltable_onlywidth")) {
291 // Resize the div
292 var div_width=parseInt(document.defaultView.getComputedStyle(document.getElementById("t_scrolltable_onlywidth"),"").getPropertyValue('width'));
293 var width= parseInt(window.innerWidth);
295 // Resize the body cells
296 var diff= width-div_width-470;
298 // window has been upscaled
299 if(div_width+diff>=600) {
300 document.getElementById('d_scrollbody_onlywidth').style.width=div_width+diff+"px";
301 document.getElementById('t_scrollbody_onlywidth').style.width=(div_width-19)+diff+"px";
303 // Resize the Header cells (only the relative-width ones)
304 document.getElementById('t_scrollhead_onlywidth').style.width=div_width+diff+"px";
306 // window has been downscaled, we must reset the div to 600px
307 } else if (width < 930) {
308 // Reset layout (set width to 600px)
309 div_width=600;
310 document.getElementById('d_scrollbody_onlywidth').style.width=div_width+"px";
311 document.getElementById('t_scrollbody_onlywidth').style.width=(div_width-19)+"px";
313 // Resize the Header cells (only the relative-width ones)
314 document.getElementById('t_scrollhead_onlywidth').style.width=div_width+"px";
315 }
316 } else {
317 // IE
319 }
320 }
322 // vim:ts=2:syntax