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 window.onload = adjust;
199 window.onresize = adjust;
201 function adjust (e) {
202 adjust_height(e);
203 adjust_width(e);
204 }
206 // Automatic resize (height) of divlists
207 function adjust_height(e) {
208 if (!e) e=window.event;
209 if (document.getElementById("menucell") && document.getElementById("d_scrollbody")) {
210 var inner_height= window.innerHeight;
211 var min_height= 450;
212 var px_height= min_height;
213 var suggested= px_height;
215 // document.defaultView allows access to the rendered size of elements and should be supported by modern browsers
216 if(document.defaultView) {
217 var menu_height=parseInt(document.defaultView.getComputedStyle(document.getElementById("menucell"),"").getPropertyValue('height'));
219 // Minimum height for divlist should be the bottom edge of the menu
220 min_height= menu_height-197;
221 suggested= min_height;
222 if((inner_height-230)-suggested>0) {
223 suggested= inner_height-230;
224 }
226 } else if(px_height >= 450) {
227 suggested= px_height-230;
228 }
229 document.getElementById("d_scrollbody").style.height=suggested+"px";
230 }
231 return true;
232 }
234 // Automatic resize (width) of divlists
235 function adjust_width(e) {
236 if (!e) e=window.event;
238 // Known to not work with IE
239 if(document.defaultView && document.getElementById("t_scrolltable")) {
240 // Resize the div
241 var div_width=parseInt(document.defaultView.getComputedStyle(document.getElementById("t_scrolltable"),"").getPropertyValue('width'));
242 var width= parseInt(window.innerWidth);
244 // Resize the body cells
245 var diff= width-div_width-470;
247 // window has been upscaled
248 if(div_width+diff>=600) {
249 document.getElementById('d_scrollbody').style.width=div_width+diff+"px";
250 document.getElementById('t_scrollbody').style.width=(div_width-19)+diff+"px";
252 // Resize the Header cells (only the relative-width ones)
253 document.getElementById('t_scrollhead').style.width=div_width+diff+"px";
255 // window has been downscaled, we must reset the div to 600px
256 } else if (width < 930) {
257 // Reset layout (set width to 600px)
258 div_width=600;
259 document.getElementById('d_scrollbody').style.width=div_width+"px";
260 document.getElementById('t_scrollbody').style.width=(div_width-19)+"px";
262 // Resize the Header cells (only the relative-width ones)
263 document.getElementById('t_scrollhead').style.width=div_width+"px";
264 }
265 } else if(document.defaultView && document.getElementById("t_scrolltable_onlywidth")) {
266 // Resize the div
267 var div_width=parseInt(document.defaultView.getComputedStyle(document.getElementById("t_scrolltable_onlywidth"),"").getPropertyValue('width'));
268 var width= parseInt(window.innerWidth);
270 // Resize the body cells
271 var diff= width-div_width-470;
273 // window has been upscaled
274 if(div_width+diff>=600) {
275 document.getElementById('d_scrollbody_onlywidth').style.width=div_width+diff+"px";
276 document.getElementById('t_scrollbody_onlywidth').style.width=(div_width-19)+diff+"px";
278 // Resize the Header cells (only the relative-width ones)
279 document.getElementById('t_scrollhead_onlywidth').style.width=div_width+diff+"px";
281 // window has been downscaled, we must reset the div to 600px
282 } else if (width < 930) {
283 // Reset layout (set width to 600px)
284 div_width=600;
285 document.getElementById('d_scrollbody_onlywidth').style.width=div_width+"px";
286 document.getElementById('t_scrollbody_onlywidth').style.width=(div_width-19)+"px";
288 // Resize the Header cells (only the relative-width ones)
289 document.getElementById('t_scrollhead_onlywidth').style.width=div_width+"px";
290 }
291 } else {
292 // IE
294 }
295 }
297 // vim:ts=2:syntax