// onebyone DropDown Menu
// PHP Layers Menu by Marco Pratesi



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);

}




