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