249 lines
5.9 KiB
JavaScript
249 lines
5.9 KiB
JavaScript
|
// PHP Layers Menu 3.2.0-rc (C) 2001-2004 Marco Pratesi - http://www.marcopratesi.it/
|
||
|
|
||
|
layerLeft = new Array();
|
||
|
layerTop = new Array();
|
||
|
|
||
|
function setVisibility(layer, on)
|
||
|
{
|
||
|
if (on) {
|
||
|
if (DOM) {
|
||
|
document.getElementById(layer).style.visibility = 'visible';
|
||
|
} else if (NS4) {
|
||
|
document.layers[layer].visibility = 'show';
|
||
|
} else {
|
||
|
document.all[layer].style.visibility = 'visible';
|
||
|
}
|
||
|
} else {
|
||
|
if (DOM) {
|
||
|
document.getElementById(layer).style.visibility = 'hidden';
|
||
|
} else if (NS4) {
|
||
|
document.layers[layer].visibility = 'hide';
|
||
|
} else {
|
||
|
document.all[layer].style.visibility = 'hidden';
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function isVisible(layer)
|
||
|
{
|
||
|
if (DOM) {
|
||
|
return (document.getElementById(layer).style.visibility == 'visible');
|
||
|
} else if (NS4) {
|
||
|
return (document.layers[layer].visibility == 'show');
|
||
|
} else {
|
||
|
return (document.all[layer].style.visibility == 'visible');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function setLeft(layer, x)
|
||
|
{
|
||
|
layerLeft[layer] = x;
|
||
|
if (DOM && !Opera5) {
|
||
|
document.getElementById(layer).style.left = x + 'px';
|
||
|
} else if (Opera5) {
|
||
|
document.getElementById(layer).style.left = x;
|
||
|
} else if (NS4) {
|
||
|
document.layers[layer].left = x;
|
||
|
} else {
|
||
|
document.all[layer].style.pixelLeft = x;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function getOffsetLeft(layer)
|
||
|
{
|
||
|
var value = 0;
|
||
|
if (DOM) { // Mozilla, Konqueror >= 2.2, Opera >= 5, IE
|
||
|
object = document.getElementById(layer);
|
||
|
value = object.offsetLeft;
|
||
|
//alert (object.tagName + ' --- ' + object.offsetLeft);
|
||
|
while (object.tagName != 'BODY' && object.offsetParent) {
|
||
|
object = object.offsetParent;
|
||
|
//alert (object.tagName + ' --- ' + object.offsetLeft);
|
||
|
value += object.offsetLeft;
|
||
|
}
|
||
|
} else if (NS4) {
|
||
|
value = document.layers[layer].pageX;
|
||
|
} else { // IE4 IS SIMPLY A BASTARD !!!
|
||
|
if (document.all['IE4' + layer]) {
|
||
|
layer = 'IE4' + layer;
|
||
|
}
|
||
|
object = document.all[layer];
|
||
|
value = object.offsetLeft;
|
||
|
while (object.tagName != 'BODY') {
|
||
|
object = object.offsetParent;
|
||
|
value += object.offsetLeft;
|
||
|
}
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|
||
|
function setTop(layer, y)
|
||
|
{
|
||
|
layerTop[layer] = y;
|
||
|
if (DOM && !Opera5) {
|
||
|
document.getElementById(layer).style.top = y + 'px';
|
||
|
} else if (Opera5) {
|
||
|
document.getElementById(layer).style.top = y;
|
||
|
} else if (NS4) {
|
||
|
document.layers[layer].top = y;
|
||
|
} else {
|
||
|
document.all[layer].style.pixelTop = y;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function getOffsetTop(layer)
|
||
|
{
|
||
|
// IE 5.5 and 6.0 behaviour with this function is really strange:
|
||
|
// in some cases, they return a really too large value...
|
||
|
// ... after all, IE is buggy, nothing new
|
||
|
var value = 0;
|
||
|
if (DOM) {
|
||
|
object = document.getElementById(layer);
|
||
|
value = object.offsetTop;
|
||
|
while (object.tagName != 'BODY' && object.offsetParent) {
|
||
|
object = object.offsetParent;
|
||
|
value += object.offsetTop;
|
||
|
}
|
||
|
} else if (NS4) {
|
||
|
value = document.layers[layer].pageY;
|
||
|
} else { // IE4 IS SIMPLY A BASTARD !!!
|
||
|
if (document.all['IE4' + layer]) {
|
||
|
layer = 'IE4' + layer;
|
||
|
}
|
||
|
object = document.all[layer];
|
||
|
value = object.offsetTop;
|
||
|
while (object.tagName != 'BODY') {
|
||
|
object = object.offsetParent;
|
||
|
value += object.offsetTop;
|
||
|
}
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|
||
|
function setWidth(layer, w)
|
||
|
{
|
||
|
if (DOM) {
|
||
|
document.getElementById(layer).style.width = w;
|
||
|
} else if (NS4) {
|
||
|
// document.layers[layer].width = w;
|
||
|
} else {
|
||
|
document.all[layer].style.pixelWidth = w;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function getOffsetWidth(layer)
|
||
|
{
|
||
|
var value = 0;
|
||
|
if (DOM && !Opera56) {
|
||
|
value = document.getElementById(layer).offsetWidth;
|
||
|
} else if (NS4) {
|
||
|
value = document.layers[layer].document.width;
|
||
|
} else if (Opera56) {
|
||
|
value = document.getElementById(layer).style.pixelWidth;
|
||
|
} else { // IE4 IS SIMPLY A BASTARD !!!
|
||
|
if (document.all['IE4' + layer]) {
|
||
|
layer = 'IE4' + layer;
|
||
|
}
|
||
|
value = document.all[layer].offsetWidth;
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|
||
|
function setHeight(layer, h) // unused, not tested
|
||
|
{
|
||
|
if (DOM) {
|
||
|
document.getElementById(layer).style.height = h;
|
||
|
} else if (NS4) {
|
||
|
// document.layers[layer].height = h;
|
||
|
} else {
|
||
|
document.all[layer].style.pixelHeight = h;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function getOffsetHeight(layer)
|
||
|
{
|
||
|
var value = 0;
|
||
|
if (DOM && !Opera56) {
|
||
|
value = document.getElementById(layer).offsetHeight;
|
||
|
} else if (NS4) {
|
||
|
value = document.layers[layer].document.height;
|
||
|
} else if (Opera56) {
|
||
|
value = document.getElementById(layer).style.pixelHeight;
|
||
|
} else { // IE4 IS SIMPLY A BASTARD !!!
|
||
|
if (document.all['IE4' + layer]) {
|
||
|
layer = 'IE4' + layer;
|
||
|
}
|
||
|
value = document.all[layer].offsetHeight;
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|
||
|
function getWindowWidth()
|
||
|
{
|
||
|
var value = 0;
|
||
|
if ((DOM && !IE) || NS4 || Konqueror || Opera) {
|
||
|
value = window.innerWidth;
|
||
|
// } else if (NS4) {
|
||
|
// value = document.width;
|
||
|
} else { // IE
|
||
|
if (document.documentElement && document.documentElement.clientWidth) {
|
||
|
value = document.documentElement.clientWidth;
|
||
|
} else if (document.body) {
|
||
|
value = document.body.clientWidth;
|
||
|
}
|
||
|
}
|
||
|
if (isNaN(value)) {
|
||
|
value = window.innerWidth;
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|
||
|
function getWindowXOffset()
|
||
|
{
|
||
|
var value = 0;
|
||
|
if ((DOM && !IE) || NS4 || Konqueror || Opera) {
|
||
|
value = window.pageXOffset;
|
||
|
} else { // IE
|
||
|
if (document.documentElement && document.documentElement.scrollLeft) {
|
||
|
value = document.documentElement.scrollLeft;
|
||
|
} else if (document.body) {
|
||
|
value = document.body.scrollLeft;
|
||
|
}
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|
||
|
function getWindowHeight()
|
||
|
{
|
||
|
var value = 0;
|
||
|
if ((DOM && !IE) || NS4 || Konqueror || Opera) {
|
||
|
value = window.innerHeight;
|
||
|
} else { // IE
|
||
|
if (document.documentElement && document.documentElement.clientHeight) {
|
||
|
value = document.documentElement.clientHeight;
|
||
|
} else if (document.body) {
|
||
|
value = document.body.clientHeight;
|
||
|
}
|
||
|
}
|
||
|
if (isNaN(value)) {
|
||
|
value = window.innerHeight;
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|
||
|
function getWindowYOffset()
|
||
|
{
|
||
|
var value = 0;
|
||
|
if ((DOM && !IE) || NS4 || Konqueror || Opera) {
|
||
|
value = window.pageYOffset;
|
||
|
} else { // IE
|
||
|
if (document.documentElement && document.documentElement.scrollTop) {
|
||
|
value = document.documentElement.scrollTop;
|
||
|
} else if (document.body) {
|
||
|
value = document.body.scrollTop;
|
||
|
}
|
||
|
}
|
||
|
return (value);
|
||
|
}
|
||
|
|