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);
121 }
123 function setWidth(layer, w)
124 {
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 }
132 }
134 function getOffsetWidth(layer)
135 {
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);
150 }
152 function setHeight(layer, h) // unused, not tested
153 {
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 }
161 }
163 function getOffsetHeight(layer)
164 {
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);
179 }
181 function getWindowWidth()
182 {
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);
199 }
201 function getWindowXOffset()
202 {
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);
214 }
216 function getWindowHeight()
217 {
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);
232 }
234 function getWindowYOffset()
235 {
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);
247 }