Code

Updated layout.
[gosa.git] / html / include / focus.js
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");
17 function keyPress(DnEvents) {
18   // determines whether Netscape or Internet Explorer
19   k = (netscape) ? DnEvents.keyCode : window.event.keyCode;
20   if (k == 13) { // enter key pressed
21                 if(typeof(nextfield)!='undefined') {
22                         if(nextfield == 'login') {
23           return true; // submit, we finished all fields
24         } else { // we're not done yet, send focus to next box
25         eval('document.mainform.' + nextfield + '.focus()');
26         return false;
27         }
28         } else {
29                         if(netscape) {
30                                 if(DnEvents.target.type == 'textarea') {
31                                         return true;
32                                 } else if (DnEvents.target.type != 'submit') {
33                                         // TAB
34                                         var thisfield = document.getElementById(DnEvents.target.id);
35                                         for (i = 0; i < document.forms[0].elements.length; i++) {
36                                                 if(document.forms[0].elements[i].id==thisfield.id) {
37                                                         // Last form element on page?
38                                                         if(i!=document.forms[0].elements.length-1) {
39                                                                 document.forms[0].elements[i+1].focus();
40                                                         }
41                                                 }
42                                         }
43                                         return false;
44                                 } else {
45                                         return true;
46                                 }
47                         // Check for konqueror
48                         } else if(document.clientWidth) {
49                                 // do nothing ATM
50                         } else {
51                                 if(window.event.srcElement.type == 'textarea') {
52                                         return true;
53                                 } else if (window.event.srcElement.type != 'submit') {
54                                         // TAB
55                                         var thisfield = document.getElementById(window.event.srcElement.id);
56                                         for (i = 0; i < document.forms[0].elements.length; i++) {
57                                                 if(document.forms[0].elements[i].id==thisfield.id) {
58                                                         // Last form element on page?
59                                                         if(i!=document.forms[0].elements.length-1) {
60                                                                 document.forms[0].elements[i+1].focus();
61                                                         }
62                                                 }
63                                         }
64                                         return false;
65                                 } else {
66                                         return true;
67                                 }
68                         }
69                 }
70         } else if (k==9) {
71                 // Tab key pressed
72                 if(netscape) {
73                         if(DnEvents.target.type == 'textarea') {
74                                 document.getElementById(DnEvents.target.id).value+="\t";
75                                 return false;
76                         }
77                 // Check for konqueror
78                 } else if(document.clientWidth) {
79                         // do nothing ATM
80                 } else {
81                         if(window.event.srcElement.type == 'textarea') {
82                                 document.getElementById(window.event.srcElement.id).value+="\t";
83                                 return false;
84                         }
85                 }
86         }
87 }
89 function changeState(myField) {
90   document.getElementById(myField).disabled=(document.getElementById(myField).disabled)?false:true;
91 }
93 function changeSelectState(triggerField, myField) {
94   if (document.getElementById(triggerField).value != 2){
95           document.getElementById(myField).disabled= true;
96   } else {
97           document.getElementById(myField).disabled= false;
98   }
99 }
101 function changeSubselectState(triggerField, myField) {
102   if (document.getElementById(triggerField).checked == true){
103           document.getElementById(myField).disabled= false;
104   } else {
105           document.getElementById(myField).disabled= true;
106   }
109 function changeTripleSelectState(firstTriggerField, secondTriggerField, myField) {
110   if (
111         document.getElementById(firstTriggerField).checked == true &&
112         document.getElementById(secondTriggerField).checked == true){
113           document.getElementById(myField).disabled= false;
114   } else {
115           document.getElementById(myField).disabled= true;
116   }
119 <!-- Second field must be non-checked -->
120 function changeTripleSelectState_2nd_neg(firstTriggerField, secondTriggerField, myField) {
121   if (
122         document.getElementById(firstTriggerField).checked == true &&
123         document.getElementById(secondTriggerField).checked == false){
124           document.getElementById(myField).disabled= false;
125   } else {
126           document.getElementById(myField).disabled= true;
127   }
129 // work together to analyze keystrokes
130 if (netscape){
131   document.captureEvents(Event.KEYPRESS);
132         document.onkeypress= keyPress;
133 } else {
134         document.onkeydown= keyPress;
137 function hide(element) {
138   if (browserType == "gecko" )
139      document.poppedLayer = document.getElementById(element);
140   else if (browserType == "ie")
141      document.poppedLayer = document.all[element];
142   else
143      document.poppedLayer = document.layers[element];
144   document.poppedLayer.style.visibility = "hidden";
147 function show(element) {
148   if (browserType == "gecko" )
149      document.poppedLayer = document.getElementById(element);
150   else if (browserType == "ie")
151      document.poppedLayer = document.all[element];
152   else
153      document.poppedLayer = document.layers[element];
154   document.poppedLayer.style.visibility = "visible";
157 function toggle(element) {
158   if (browserType == "gecko" )
159      document.poppedLayer = document.getElementById(element);
160   else if (browserType == "ie")
161      document.poppedLayer = document.all[element];
162   else
163      document.poppedLayer = document.layers[element];
165   if (document.poppedLayer.style.visibility == "visible")
166           hide (element);
167   else
168           show (element);
172 function popup(target, name) {
173         var mypopup= 
174                 window.open(
175                         target,
176                         name,
177                         "width=600,height=700,location=no,toolbar=no,directories=no,menubar=no,status=no,scrollbars=yes"
178                 );
179         mypopup.focus();
180         return false;
183 function js_check(form) {
184         form.javascript.value = 'true';
187 // vim:ts=2:syntax