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