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