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