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