/*
	Set Focus to given Element
*/
function setFocus (objID) {
	obj	= document.getElementById(objID);
	obj.focus();
}


/*
	General DHTML Show & Hide
*/
function display (objID, visible) {
	obj	= document.getElementById(objID);
	obj.style.visibility = (visible) ? 'visible' : 'hidden';
}

/*
	DHTML Main Menu
	Unhides a certain layer for some seconds and places it directly under your cursor
*/
var objOld	= null;
var active	= '';
var mouseX, mouseY;

function reveal (caller, objID, mode){

	obj	= document.getElementById(objID);
	
	if(mode){
		obj.style.visibility = 'visible';
		var newX = findPosX(caller);
		var newY = findPosY(caller);
		
		obj.style.left	= newX -17 +"px";
		obj.style.top 	= newY +10 +"px";
		
		if(objOld != null && objOld != obj){
			objOld.style.visibility = 'hidden';
		}		
		
		timeout = setTimeout("reveal (null, '"+ objID +"',0);", 2000);
	}else{
		obj.style.visibility = 'hidden';
	}
	objOld = obj;
}


function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}