Code

- Added other part of bug 673 patch for linux vserver
[gosa.git] / gosa-core / html / include / layersmenu-library.js
1 // PHP Layers Menu 3.2.0-rc (C) 2001-2004 Marco Pratesi - http://www.marcopratesi.it/
3 layerLeft = new Array();
4 layerTop = new Array();
6 var numl = 0;
7 var toBeHidden;
9 function setVisibility(layer, on)
10 {
11         if (on) {
12                 if (DOM) {
13                         document.getElementById(layer).style.visibility = 'visible';
14                 } else if (NS4) {
15                         document.layers[layer].visibility = 'show';
16                 } else {
17                         document.all[layer].style.visibility = 'visible';
18                 }
19         } else {
20                 if (DOM) {
21                         document.getElementById(layer).style.visibility = 'hidden';
22                 } else if (NS4) {
23                         document.layers[layer].visibility = 'hide';
24                 } else {
25                         document.all[layer].style.visibility = 'hidden';
26                 }
27         }
28 }
30 function isVisible(layer)
31 {
32         if (DOM) {
33                 return (document.getElementById(layer).style.visibility == 'visible');
34         } else if (NS4) {
35                 return (document.layers[layer].visibility == 'show');
36         } else {
37                 return (document.all[layer].style.visibility == 'visible');
38         }
39 }
41 function setLeft(layer, x)
42 {
43 layerLeft[layer] = x;
44         if (DOM && !Opera5) {
45                 document.getElementById(layer).style.left = x + 'px';
46         } else if (Opera5) {
47                 document.getElementById(layer).style.left = x;
48         } else if (NS4) {
49                 document.layers[layer].left = x;
50         } else {
51                 document.all[layer].style.pixelLeft = x;
52         }
53 }
55 function getOffsetLeft(layer)
56 {
57         var value = 0;
58         if (DOM) {      // Mozilla, Konqueror >= 2.2, Opera >= 5, IE
59                 object = document.getElementById(layer);
60                 value = object.offsetLeft;
61 //alert (object.tagName + ' --- ' + object.offsetLeft);
62                 while (object.tagName != 'BODY' && object.offsetParent) {
63                         object = object.offsetParent;
64 //alert (object.tagName + ' --- ' + object.offsetLeft);
65                         value += object.offsetLeft;
66                 }
67         } else if (NS4) {
68                 value = document.layers[layer].pageX;
69         } else {        // IE4 IS SIMPLY A BASTARD !!!
70                 if (document.all['IE4' + layer]) {
71                         layer = 'IE4' + layer;
72                 }
73                 object = document.all[layer];
74                 value = object.offsetLeft;
75                 while (object.tagName != 'BODY') {
76                         object = object.offsetParent;
77                         value += object.offsetLeft;
78                 }
79         }
80         return (value);
81 }
83 function setTop(layer, y)
84 {
85 layerTop[layer] = y;
86         if (DOM && !Opera5) {
87                 document.getElementById(layer).style.top = y + 'px';
88         } else if (Opera5) {
89                 document.getElementById(layer).style.top = y;
90         } else if (NS4) {
91                 document.layers[layer].top = y;
92         } else {
93                 document.all[layer].style.pixelTop = y;
94         }
95 }
97 function getOffsetTop(layer)
98 {
99 // IE 5.5 and 6.0 behaviour with this function is really strange:
100 // in some cases, they return a really too large value...
101 // ... after all, IE is buggy, nothing new
102         var value = 0;
103         if (DOM) {
104                 object = document.getElementById(layer);
105                 value = object.offsetTop;
106                 while (object.tagName != 'BODY' && object.offsetParent) {
107                         object = object.offsetParent;
108                         value += object.offsetTop;
109                 }
110         } else if (NS4) {
111                 value = document.layers[layer].pageY;
112         } else {        // IE4 IS SIMPLY A BASTARD !!!
113                 if (document.all['IE4' + layer]) {
114                         layer = 'IE4' + layer;
115                 }
116                 object = document.all[layer];
117                 value = object.offsetTop;
118                 while (object.tagName != 'BODY') {
119                         object = object.offsetParent;
120                         value += object.offsetTop;
121                 }
122         }
123         return (value);
126 function setWidth(layer, w)
128         if (DOM) {
129                 document.getElementById(layer).style.width = w;
130         } else if (NS4) {
131 //              document.layers[layer].width = w;
132         } else {
133                 document.all[layer].style.pixelWidth = w;
134         }
137 function getOffsetWidth(layer)
139         var value = 0;
140         if (DOM && !Opera56) {
141                 value = document.getElementById(layer).offsetWidth;
142         } else if (NS4) {
143                 value = document.layers[layer].document.width;
144         } else if (Opera56) {
145                 value = document.getElementById(layer).style.pixelWidth;
146         } else {        // IE4 IS SIMPLY A BASTARD !!!
147                 if (document.all['IE4' + layer]) {
148                         layer = 'IE4' + layer;
149                 }
150                 value = document.all[layer].offsetWidth;
151         }
152         return (value);
155 function setHeight(layer, h)    // unused, not tested
157         if (DOM) {
158                 document.getElementById(layer).style.height = h;
159         } else if (NS4) {
160 //              document.layers[layer].height = h;
161         } else {
162                 document.all[layer].style.pixelHeight = h;
163         }
166 function getOffsetHeight(layer)
168         var value = 0;
169         if (DOM && !Opera56) {
170                 value = document.getElementById(layer).offsetHeight;
171         } else if (NS4) {
172                 value = document.layers[layer].document.height;
173         } else if (Opera56) {
174                 value = document.getElementById(layer).style.pixelHeight;
175         } else {        // IE4 IS SIMPLY A BASTARD !!!
176                 if (document.all['IE4' + layer]) {
177                         layer = 'IE4' + layer;
178                 }
179                 value = document.all[layer].offsetHeight;
180         }
181         return (value);
184 function getWindowWidth()
186         var value = 0;
187         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
188                 value = window.innerWidth;
189 //      } else if (NS4) {
190 //              value = document.width;
191         } else {        // IE
192                 if (document.documentElement && document.documentElement.clientWidth) {
193                         value = document.documentElement.clientWidth;
194                 } else if (document.body) {
195                         value = document.body.clientWidth;
196                 }
197         }
198         if (isNaN(value)) {
199                 value = window.innerWidth;
200         }
201         return (value);
204 function getWindowXOffset()
206         var value = 0;
207         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
208                 value = window.pageXOffset;
209         } else {        // IE
210                 if (document.documentElement && document.documentElement.scrollLeft) {
211                         value = document.documentElement.scrollLeft;
212                 } else if (document.body) {
213                         value = document.body.scrollLeft;
214                 }
215         }
216         return (value);
219 function getWindowHeight()
221         var value = 0;
222         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
223                 value = window.innerHeight;
224         } else {        // IE
225                 if (document.documentElement && document.documentElement.clientHeight) {
226                         value = document.documentElement.clientHeight;
227                 } else if (document.body) {
228                         value = document.body.clientHeight;
229                 }
230         }
231         if (isNaN(value)) {
232                 value = window.innerHeight;
233         }
234         return (value);
237 function getWindowYOffset()
239         var value = 0;
240         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
241                 value = window.pageYOffset;
242         } else {        // IE
243                 if (document.documentElement && document.documentElement.scrollTop) {
244                         value = document.documentElement.scrollTop;
245                 } else if (document.body) {
246                         value = document.body.scrollTop;
247                 }
248         }
249         return (value);