//--use this variables to move the layers down/right
var moveDown = 25;
var moveRight = 0;
//----------------------------------------------------------
//--layers basic functions: show/hide DIV's (WS - BM)
//----------------------------------------------------------
var iexpl;
var netsc4;
var netsc6;

netsc4 = (document.layers) ? 1:0;
iexpl = (document.all) ? 1:0;
netsc6 = (!document.all && document.getElementById) ? 1:0;

function hideDiv(myDiv) {
	var myDiv;
	if (iexpl) {
		myDiv = document.all[myDiv];
		if (myDiv) {
			myDiv.style.visibility='hidden';
		}
	}
	if (netsc4) {
		myDiv = document.layers[myDiv];
		if (myDiv) {
			myDiv.visibility='hide';
		}
	}
	if (netsc6) {
		myDiv = document.getElementById(myDiv);
		if (myDiv) {
			myDiv.style.visibility='hidden';
		}
	}
}

function showDiv(myDiv) {
	var coordinates = new Object();
	var xPos = 0;
	var yPos = 0;
	coordinates = getAnchorPosition('a_' + myDiv);
	xPos = coordinates.x;
	yPos = coordinates.y;
	//--moving all layers down.
	yPos = yPos + moveDown;
	//--moving all layers right.
	xPos = xPos + moveRight;
	myDiv;
	if (iexpl) { 
		myDiv = document.all[myDiv];
		if (myDiv) {
			myDiv.style.left=xPos;
			myDiv.style.top=yPos;
			myDiv.style.visibility='visible';
		}
	}
	if (netsc4) {
		myDiv = document.layers[myDiv];
		if (myDiv) {
			myDiv.left=xPos;
			myDiv.top=yPos;
			myDiv.visibility='show';
		}
	}
	if (netsc6) {
		myDiv = document.getElementById(myDiv);
		if (myDiv) {
			myDiv.style.left=xPos;
			myDiv.style.top=yPos;
			myDiv.style.visibility='visible';
		}
	}
}

function hideAll() {
	var divArray = null;
	if (iexpl) {
		divArray = document.all.tags('div');
	}
	if (netsc4) {
		divArray = document.layers;
	}
	if (netsc6) {
		divArray = document.getElementsByTagName('div');
	}
	totalDivs = divArray.length;
	for ( i=0; i<totalDivs; i++ ) {
		if ( !netsc6) {
			if (divArray[i].name!=null) {
				myDiv = ''+divArray[i].name;
			} else if (divArray[i].NAME!=null) {
				myDiv = ''+divArray[i].NAME;
			}
		} else {
			if (divArray[i].id!=null) {
				myDiv = ''+divArray[i].id;
			} else if (divArray[i].ID!=null) {
				myDiv = ''+divArray[i].ID;
			}
		}
		if ( myDiv.indexOf('sub') > -1 ) {
			hideDiv(myDiv);
		}
	}
}

function showMenu(myDiv) {
	hideAll();
	showDiv(myDiv);
}



//----------------------------------------------------------
//--layers: advanced functions (calculate position of DIV's)
//----------------------------------------------------------
function getAnchorPosition(anchorname) {
	//alert('anchorname: ' + anchorname);
	// This function will return an Object with x and y properties
	var useWindow=false;
	var coordinates=new Object();
	var x=0,y=0;
	// Browser capability sniffing
	var use_gebi=false, use_css=false, use_layers=false;
	if (document.getElementById) {
		use_gebi=true;
	} else if (document.all) {
		use_css=true;
	} else if (document.layers) {
		use_layers=true;
	}
	// Logic to find position
 	if (use_gebi && document.all) {
		//alert('xx');
		//alert(document.all[anchorname]);
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
	} else if (use_gebi) {
		var o=document.getElementById(anchorname);
		x=o.offsetLeft; y=o.offsetTop;
	} else if (use_css) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
	} else if (use_layers) {
		var found=0;
		for (var i=0; i<document.anchors.length; i++) {
			if (document.anchors[i].name==anchorname) {
				found=1; break;
			}
		}
		if (found==0) {
			coordinates.x=0; coordinates.y=0; return coordinates;
		}
		x=document.anchors[i].x;
		y=document.anchors[i].y;
	} else {
		coordinates.x=0; coordinates.y=0; return coordinates;
	}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
}

// getAnchorWindowPosition(anchorname)
//   This function returns an object having .x and .y properties which are the coordinates
//   of the named anchor, relative to the window
function getAnchorWindowPosition(anchorname) {
	var coordinates=getAnchorPosition(anchorname);
	var x=0;
	var y=0;
	if (document.getElementById) {
		if (isNaN(window.screenX)) {
			x=coordinates.x-document.body.scrollLeft+window.screenLeft;
			y=coordinates.y-document.body.scrollTop+window.screenTop;
		} else {
			x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
			y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
		}
	} else if (document.all) {
		x=coordinates.x-document.body.scrollLeft+window.screenLeft;
		y=coordinates.y-document.body.scrollTop+window.screenTop;
	} else if (document.layers) {
		x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
		y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
	}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
}

// Functions for IE to get position of an object
function AnchorPosition_getPageOffsetLeft (el) {
	var ol=el.offsetLeft;
	while ((el=el.offsetParent) != null) {
		ol += el.offsetLeft;
	}
	return ol;
}

function AnchorPosition_getWindowOffsetLeft (el) {
	return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;
}

function AnchorPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) {
		ot += el.offsetTop;
	}
	return ot;
}

function AnchorPosition_getWindowOffsetTop (el) {
	return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;
}