var TimerID;

var mouseX = 0;
var mouseY = 0;

function getMouseXY(e) { 
	if (!e) {
  		e = window.event;
	}

	if (e) { 
		if (e.pageX || e.pageY) { 
			mouseX = e.pageX;
			mouseY = e.pageY;
		}
		else if (e.clientX || e.clientY) {
			mouseX = e.clientX;
			mouseY = e.clientY;
		}  
	}
}

function toggleVisibility (obj, property) {
	document.getElementById(obj).style.visibility = property;
}

function toggleDisplay (pLayerName, pbPositionning, e) {
	var xOffset = 3;
	var yOffset = -15;
	
	getMouseXY(e);
  
	if (navigator.appName == "Microsoft Internet Explorer") {
		if (document.getElementById(pLayerName).style.visibility == "hidden") {
			hideAllLayer();
	  		if (document.documentElement) {
	  			//IE6 + doc
	  			document.getElementById(pLayerName).style.left=mouseX+document.documentElement.scrollLeft+xOffset;
	  			document.getElementById(pLayerName).style.top=mouseY+document.documentElement.scrollTop+yOffset;
	  		}
	  		else if (document.all) {
	  			//IE autre
	  			document.getElementById(pLayerName).style.left=mouseX+document.body.scrollLeft+xOffset;
	  			document.getElementById(pLayerName).style.top=mouseY+document.body.scrollTop+yOffset;
	  		}
	  		toggleVisibility(pLayerName, "visible");
	  	}
	}
	else if ((navigator.appName == "Netscape") && (navigator.userAgent.indexOf("Gecko")!=-1) && (navigator.userAgent.indexOf("Netscape")==-1)) {
		//Mozilla
		if (document.getElementById(pLayerName).style.visibility == "hidden") {
			hideAllLayer();
		}
		if (pbPositionning) {
			var xPos = parseInt(mouseX)+parseInt(document.body.scrollLeft)+parseInt(xOffset);
			var yPos = parseInt(mouseY)+parseInt(document.body.scrollTop)+parseInt(yOffset);
			document.getElementById(pLayerName).style.left=xPos + "px";
			document.getElementById(pLayerName).style.top=yPos + "px";
		}
  		toggleVisibility(pLayerName, "visible");
	}
	else if (navigator.appName == "Netscape") {
		//Netscape NN6
		if (document.getElementById(pLayerName).style.visibility == "hidden") {
			hideAllLayer();
		}
		if (pbPositionning) {
			var xPos = parseInt(mouseX)+parseInt(document.body.scrollLeft)+parseInt(xOffset);
			var yPos = parseInt(mouseY)+parseInt(document.body.scrollTop)+parseInt(yOffset);
			document.getElementById(pLayerName).style.left=xPos + "px";
			document.getElementById(pLayerName).style.top=yPos + "px";
		}
  		toggleVisibility(pLayerName, "visible");
	}
	else if (navigator.userAgent.indexOf("Opera") !=-1) {
		//Opera
		if (document.getElementById(pLayerName).style.visibility == "hidden") {
			hideAllLayer();
		}
		if (pbPositionning) {
 			document.getElementById(pLayerName).style.left=mouseX+document.body.scrollLeft+xOffset;
 			document.getElementById(pLayerName).style.top=mouseY+document.body.scrollTop+yOffset;
		}
  		toggleVisibility(pLayerName, "visible");
	}
	else {
		//Autre
		if (document.getElementById(pLayerName).style.visibility == "hidden") {
			hideAllLayer();
		}
		if (pbPositionning) {
			document.getElementById(pLayerName).style.left=toString(mouseX+document.body.scrollLeft+xOffset);
			document.getElementById(pLayerName).style.top=toString(mouseY+document.body.scrollTop+yOffset);
		}
  		toggleVisibility(pLayerName, "visible");
	}
	clearTimeout(TimerID);
}

function hideLayer() {
	TimerID = setTimeout('hideAllLayer()','350');
}

function hideAllLayer() {
	var listElem=document.body.getElementsByTagName("div");
	var vName = null;
	
	for (var i=0; i<listElem.length; i++) {
		try {
			vName = listElem[i].getAttribute("id");
			
			if (vName.substr(0, 5) == "popup") {
				listElem[i].style.visibility="hidden";
			}
		}
		catch (err) {
		}
	}
}


