/* $Header: /home/web/cvsroot/es62_heine/hv_app_shop/staticfiles/cartridge/static/default/imagesOnline/js/metanav.js,v 1.2 2009/06/18 14:42:52 cfauner Exp $ */
var activeElementLayerNav = null;
var iFrameLayerNav = null;
var timeoutLayerNav = null;
var ieLayerNav= ((document.all)&&(!document.layers)) ? true : false;

function activateLayerNav(element) {
	if( document.getElementById('winCtrlAnchor') == null ) return;
	// IE propagiert alle Events zu den Kind-Elementen, womit activateLayerNav() leider unnötig oft gefeuert wird.
	// Das führt zu ständigem sichtbaren(!) Ändern des Styles, was an dieser Stelle unterbunden wird.
	// Ebensooft wird setTimeout("_inactivateLayerNav()") gefeuert, was mit clearTimeout() abgebrochen wird.
	// (sobald die Box komplett verlassen wird, wird als Letztes inactivateLayerNav() ausgeführt und die Box schliesst sich)
	if( timeoutLayerNav ) window.clearTimeout(timeoutLayerNav);
	if( element == activeElementLayerNav && element.className == "navActive" ) {
		return;
	}
    if( activeElementLayerNav != null &&  activeElementLayerNav != currentElementLayerNav ) {
        activeElementLayerNav.className="navInactive";
	} else if( activeElementLayerNav != null &&  activeElementLayerNav == currentElementLayerNav ) {
        activeElementLayerNav.className="navCurrent";
	}
	   
    activeElementLayerNav = element;
	if(ieLayerNav) setLayerNavIFrame(element);
	element.className="navActive";	
}
function inactivateLayerNav() {	
	if( timeoutLayerNav ) window.clearTimeout(timeoutLayerNav);
    timeoutLayerNav = setTimeout("_inactivateLayerNav()", 500);
} 
function _inactivateLayerNav() {
	if(activeElementLayerNav) {
	   	if(activeElementLayerNav != currentElementLayerNav ) {
	       	activeElementLayerNav.className="navInactive";
		} else { 
	       	activeElementLayerNav.className="navCurrent";
		}
	}
	if(iFrameLayerNav) iFrameLayerNav.style.left = "-9999px";
}
function setLayerNavIFrame (element) {
	var temp = element.firstChild;
	var node;
	while( temp != null ) {
		if( temp.className == "box" ) { node = temp; }
		temp = temp.nextSibling;
	}
	var offTop = node.offsetTop;
	var offLeft = node.offsetLeft;
	var offWidth = node.offsetWidth;
	var offHeight = node.offsetHeight;
	if (node.offsetParent)
	{
		while(node.offsetParent) 
		{
			node = node.offsetParent;
			offTop += node.offsetTop;
			offLeft += node.offsetLeft;
		}
	}
	if( iFrameLayerNav == null ) { 
		iFrameLayerNav = document.createElement("IFRAME");
		iFrameLayerNav.setAttribute("src", "");
		iFrameLayerNav.setAttribute( "id", "iFrameLayerNav" );
		iFrameLayerNav.style.position="absolute";
		iFrameLayerNav.style.zIndex="0";
		document.body.appendChild(iFrameLayerNav);
	}	
	iFrameLayerNav.style.top = (offTop) + "px";
	iFrameLayerNav.style.left = (offLeft) + "px";
	iFrameLayerNav.style.width = (offWidth) + "px";
	iFrameLayerNav.style.height = (offHeight) + "px";
}
