Code

Create a non-project relevant tree
[gosa.git] / ListTest / 3 / 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 function setVisibility(layer, on)
7 {
8         if (on) {
9                 if (DOM) {
10                         document.getElementById(layer).style.visibility = 'visible';
11                 } else if (NS4) {
12                         document.layers[layer].visibility = 'show';
13                 } else {
14                         document.all[layer].style.visibility = 'visible';
15                 }
16         } else {
17                 if (DOM) {
18                         document.getElementById(layer).style.visibility = 'hidden';
19                 } else if (NS4) {
20                         document.layers[layer].visibility = 'hide';
21                 } else {
22                         document.all[layer].style.visibility = 'hidden';
23                 }
24         }
25 }
27 function isVisible(layer)
28 {
29         if (DOM) {
30                 return (document.getElementById(layer).style.visibility == 'visible');
31         } else if (NS4) {
32                 return (document.layers[layer].visibility == 'show');
33         } else {
34                 return (document.all[layer].style.visibility == 'visible');
35         }
36 }
38 function setLeft(layer, x)
39 {
40 layerLeft[layer] = x;
41         if (DOM && !Opera5) {
42                 document.getElementById(layer).style.left = x + 'px';
43         } else if (Opera5) {
44                 document.getElementById(layer).style.left = x;
45         } else if (NS4) {
46                 document.layers[layer].left = x;
47         } else {
48                 document.all[layer].style.pixelLeft = x;
49         }
50 }
52 function getOffsetLeft(layer)
53 {
54         var value = 0;
55         if (DOM) {      // Mozilla, Konqueror >= 2.2, Opera >= 5, IE
56                 object = document.getElementById(layer);
57                 value = object.offsetLeft;
58 //alert (object.tagName + ' --- ' + object.offsetLeft);
59                 while (object.tagName != 'BODY' && object.offsetParent) {
60                         object = object.offsetParent;
61 //alert (object.tagName + ' --- ' + object.offsetLeft);
62                         value += object.offsetLeft;
63                 }
64         } else if (NS4) {
65                 value = document.layers[layer].pageX;
66         } else {        // IE4 IS SIMPLY A BASTARD !!!
67                 if (document.all['IE4' + layer]) {
68                         layer = 'IE4' + layer;
69                 }
70                 object = document.all[layer];
71                 value = object.offsetLeft;
72                 while (object.tagName != 'BODY') {
73                         object = object.offsetParent;
74                         value += object.offsetLeft;
75                 }
76         }
77         return (value);
78 }
80 function setTop(layer, y)
81 {
82 layerTop[layer] = y;
83         if (DOM && !Opera5) {
84                 document.getElementById(layer).style.top = y + 'px';
85         } else if (Opera5) {
86                 document.getElementById(layer).style.top = y;
87         } else if (NS4) {
88                 document.layers[layer].top = y;
89         } else {
90                 document.all[layer].style.pixelTop = y;
91         }
92 }
94 function getOffsetTop(layer)
95 {
96 // IE 5.5 and 6.0 behaviour with this function is really strange:
97 // in some cases, they return a really too large value...
98 // ... after all, IE is buggy, nothing new
99         var value = 0;
100         if (DOM) {
101                 object = document.getElementById(layer);
102                 value = object.offsetTop;
103                 while (object.tagName != 'BODY' && object.offsetParent) {
104                         object = object.offsetParent;
105                         value += object.offsetTop;
106                 }
107         } else if (NS4) {
108                 value = document.layers[layer].pageY;
109         } else {        // IE4 IS SIMPLY A BASTARD !!!
110                 if (document.all['IE4' + layer]) {
111                         layer = 'IE4' + layer;
112                 }
113                 object = document.all[layer];
114                 value = object.offsetTop;
115                 while (object.tagName != 'BODY') {
116                         object = object.offsetParent;
117                         value += object.offsetTop;
118                 }
119         }
120         return (value);
123 function setWidth(layer, w)
125         if (DOM) {
126                 document.getElementById(layer).style.width = w;
127         } else if (NS4) {
128 //              document.layers[layer].width = w;
129         } else {
130                 document.all[layer].style.pixelWidth = w;
131         }
134 function getOffsetWidth(layer)
136         var value = 0;
137         if (DOM && !Opera56) {
138                 value = document.getElementById(layer).offsetWidth;
139         } else if (NS4) {
140                 value = document.layers[layer].document.width;
141         } else if (Opera56) {
142                 value = document.getElementById(layer).style.pixelWidth;
143         } else {        // IE4 IS SIMPLY A BASTARD !!!
144                 if (document.all['IE4' + layer]) {
145                         layer = 'IE4' + layer;
146                 }
147                 value = document.all[layer].offsetWidth;
148         }
149         return (value);
152 function setHeight(layer, h)    // unused, not tested
154         if (DOM) {
155                 document.getElementById(layer).style.height = h;
156         } else if (NS4) {
157 //              document.layers[layer].height = h;
158         } else {
159                 document.all[layer].style.pixelHeight = h;
160         }
163 function getOffsetHeight(layer)
165         var value = 0;
166         if (DOM && !Opera56) {
167                 value = document.getElementById(layer).offsetHeight;
168         } else if (NS4) {
169                 value = document.layers[layer].document.height;
170         } else if (Opera56) {
171                 value = document.getElementById(layer).style.pixelHeight;
172         } else {        // IE4 IS SIMPLY A BASTARD !!!
173                 if (document.all['IE4' + layer]) {
174                         layer = 'IE4' + layer;
175                 }
176                 value = document.all[layer].offsetHeight;
177         }
178         return (value);
181 function getWindowWidth()
183         var value = 0;
184         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
185                 value = window.innerWidth;
186 //      } else if (NS4) {
187 //              value = document.width;
188         } else {        // IE
189                 if (document.documentElement && document.documentElement.clientWidth) {
190                         value = document.documentElement.clientWidth;
191                 } else if (document.body) {
192                         value = document.body.clientWidth;
193                 }
194         }
195         if (isNaN(value)) {
196                 value = window.innerWidth;
197         }
198         return (value);
201 function getWindowXOffset()
203         var value = 0;
204         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
205                 value = window.pageXOffset;
206         } else {        // IE
207                 if (document.documentElement && document.documentElement.scrollLeft) {
208                         value = document.documentElement.scrollLeft;
209                 } else if (document.body) {
210                         value = document.body.scrollLeft;
211                 }
212         }
213         return (value);
216 function getWindowHeight()
218         var value = 0;
219         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
220                 value = window.innerHeight;
221         } else {        // IE
222                 if (document.documentElement && document.documentElement.clientHeight) {
223                         value = document.documentElement.clientHeight;
224                 } else if (document.body) {
225                         value = document.body.clientHeight;
226                 }
227         }
228         if (isNaN(value)) {
229                 value = window.innerHeight;
230         }
231         return (value);
234 function getWindowYOffset()
236         var value = 0;
237         if ((DOM && !IE) || NS4 || Konqueror || Opera) {
238                 value = window.pageYOffset;
239         } else {        // IE
240                 if (document.documentElement && document.documentElement.scrollTop) {
241                         value = document.documentElement.scrollTop;
242                 } else if (document.body) {
243                         value = document.body.scrollTop;
244                 }
245         }
246         return (value);