var targetLayer = 0;
var sourceLayer = 0;
var inLayer = false;
var activeTimeout = false;
var mouseX = -1;
var mouseY = -1;
var srcElement = null;

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function getMousePos(e) { //you need the 'e', although it does NOT need to be defined
	//NS
	if (document.layers||document.getElementById&&!document.all) {
		mouseX = e.pageX;
		mouseY = e.pageY;
		sourceElement=e.target;
	}
	//IE
	else if (document.all) {
		mouseX = event.clientX;
		mouseY = event.clientY;
		if (event.srcElement)
		{
			sourceElement=event.srcElement;
		}
	}
}

if (document.addEventListener) {
	document.addEventListener("mousemove", getMousePos, true);
} else {
	if (window.captureEvents) {
		document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove = getMousePos;
	} else {
		document.onmousemove = getMousePos;
	}
}

function CloseNewsLayer() {	
		document.getElementById('NewsLayer').style.display = 'none'; 
}


function showLayer(sourceDIV,targetDIV) {	
	
	if( (targetLayer!=0) && (targetLayer!=targetDIV) )
	{
		hideLayer(targetLayer);
		if(activeTimeout) {
			clearTimeout(activeTimeout);
		}
	}
	sourceLayer = sourceDIV;
	targetLayer = targetDIV;
	document.getElementById(targetLayer).style.display = 'block';
	document.getElementById('hiddenlayerval').value = targetLayer;	
} 

function hideLayer(whichDIV) { 
	cur_target=document.getElementById(whichDIV);
	if(cur_target) {
		cur_target.style.display = 'none'; 
	}
	sourceLayer = 0;
	targetLayer = 0;
	if(activeTimeout) {
		clearTimeout(activeTimeout);
	}
	activeTimeout = false;
	inLayer = false;	
}

function checkLayer(whichDIV) {
	cur_target=document.getElementById(whichDIV);
	cur_bild=document.getElementById("Bild_"+whichDIV);
	stillInLayer=false;
	if (sourceElement)
	{
		//NS
		if (document.layers||document.getElementById&&!document.all) {
			if(sourceElement==cur_target) {
				stillInLayer=true;
			}
			else if(sourceElement.parentNode==cur_target) {
				stillInLayer=true;
			}
			else if(sourceElement.parentNode.parentNode==cur_target) {
				stillInLayer=true;
			}
			else if(sourceElement==cur_bild) {
				stillInLayer=true;
			}
			else if(sourceElement.parentNode==cur_bild) {
				stillInLayer=true;
			}
		}
		//IE
		else if (document.all) {
			if(cur_target) {
			stillInLayer=(cur_target.contains(sourceElement)) || (cur_bild.contains(sourceElement));
			}
		}
	}
	if(!stillInLayer) {
		hideLayer(whichDIV); 	
	}
}

function checkField(whichField) {
	sourceLayer = 0;
	activeTimeout=setTimeout("checkLayer(targetLayer);", 2000);
}

