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 document.poppedLayer.style.height="0px";
209 cell.style.height="1px";
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 }
218 }
220 window.onload = adjust;
221 window.onresize = adjust;
223 function adjust (e) {
224 adjust_height(e);
225 adjust_width(e);
226 }
228 // Automatic resize (height) of divlists
229 function adjust_height(e) {
230 if (!e) e=window.event;
231 if (document.getElementById("menucell") && document.getElementById("d_scrollbody")) {
232 var inner_height= window.innerHeight;
233 var min_height= 450;
234 var px_height= min_height;
235 var suggested= px_height;
237 // document.defaultView allows access to the rendered size of elements and should be supported by modern browsers
238 if(document.defaultView) {
239 var menu_height=parseInt(document.defaultView.getComputedStyle(document.getElementById("menucell"),"").getPropertyValue('height'));
241 // Minimum height for divlist should be the bottom edge of the menu
242 min_height= menu_height-197;
243 suggested= min_height;
244 if((inner_height-230)-suggested>0) {
245 suggested= inner_height-230;
246 }
248 } else if(px_height >= 450) {
249 suggested= px_height-230;
250 }
251 document.getElementById("d_scrollbody").style.height=suggested+"px";
252 }
253 return true;
254 }
256 // Automatic resize (width) of divlists
257 function adjust_width(e) {
258 if (!e) e=window.event;
260 // Known to not work with IE
261 if(document.defaultView && document.getElementById("t_scrolltable")) {
262 // Resize the div
263 var div_width=parseInt(document.defaultView.getComputedStyle(document.getElementById("t_scrolltable"),"").getPropertyValue('width'));
264 var width= parseInt(window.innerWidth);
266 // Resize the body cells
267 var diff= width-div_width-470;
269 // window has been upscaled
270 if(div_width+diff>=600) {
271 document.getElementById('d_scrollbody').style.width=div_width+diff+"px";
272 document.getElementById('t_scrollbody').style.width=(div_width-19)+diff+"px";
274 // Resize the Header cells (only the relative-width ones)
275 document.getElementById('t_scrollhead').style.width=div_width+diff+"px";
277 // window has been downscaled, we must reset the div to 600px
278 } else if (width < 930) {
279 // Reset layout (set width to 600px)
280 div_width=600;
281 document.getElementById('d_scrollbody').style.width=div_width+"px";
282 document.getElementById('t_scrollbody').style.width=(div_width-19)+"px";
284 // Resize the Header cells (only the relative-width ones)
285 document.getElementById('t_scrollhead').style.width=div_width+"px";
286 }
287 } else if(document.defaultView && document.getElementById("t_scrolltable_onlywidth")) {
288 // Resize the div
289 var div_width=parseInt(document.defaultView.getComputedStyle(document.getElementById("t_scrolltable_onlywidth"),"").getPropertyValue('width'));
290 var width= parseInt(window.innerWidth);
292 // Resize the body cells
293 var diff= width-div_width-470;
295 // window has been upscaled
296 if(div_width+diff>=600) {
297 document.getElementById('d_scrollbody_onlywidth').style.width=div_width+diff+"px";
298 document.getElementById('t_scrollbody_onlywidth').style.width=(div_width-19)+diff+"px";
300 // Resize the Header cells (only the relative-width ones)
301 document.getElementById('t_scrollhead_onlywidth').style.width=div_width+diff+"px";
303 // window has been downscaled, we must reset the div to 600px
304 } else if (width < 930) {
305 // Reset layout (set width to 600px)
306 div_width=600;
307 document.getElementById('d_scrollbody_onlywidth').style.width=div_width+"px";
308 document.getElementById('t_scrollbody_onlywidth').style.width=(div_width-19)+"px";
310 // Resize the Header cells (only the relative-width ones)
311 document.getElementById('t_scrollhead_onlywidth').style.width=div_width+"px";
312 }
313 } else {
314 // IE
316 }
317 }
319 // vim:ts=2:syntax