

// Javascript-Fehler unterdruecken
onerror = stopError;
function stopError() { return true; }


// Array fuer die Effekte
var effectArray = new Object ();
var activeAnchor;
var activeTimeout;


// *** Erstellung des Ein- und Ausblendeffekts ***
function setEffectsOld(anchorId) {

	// ID des Links
	var anchor = document.getElementById(anchorId);

	// Setzen der Maus-Events fuer die Unternavigation
	setMouseEvents(anchor);

	// Effelt zum Ein- und Ausblenden der Unternavigation
	effectArray[anchor.id] = new Fx.Styles('menu-'+anchor.id, {duration:500, wait:false, transition: Fx.Transitions.Expo.easeOut});

	$('menu-'+anchor.id).setStyle('opacity', 0);
	$('menu-'+anchor.id).setStyle('display', 'none');

	$(anchor.id).addEvent('mouseenter', function(){
		effectArray[anchor.id].clearChain();
		effectArray[anchor.id].element.setStyle('display', 'block');
		effectArray[anchor.id].start({'opacity': 1});
	});

	$(anchor.id).addEvent('mouseleave', function(){
		activeAnchor = anchor;
		effectArray[anchor.id].clearChain();
		// Ausblend-Effekt wird zeitverzögert gestartet
		activeTimeout = eval(window.setTimeout('effectArray[\''+anchor.id+'\'].start({\'opacity\': 0}).chain(function(){effectArray[\''+anchor.id+'\'].element.setStyle(\'display\', \'none\');})', 250));
		// effectArray[anchor.id].start({'opacity': 0}).chain(function(){effectArray[anchor.id].element.setStyle('display', 'none');});
	});
}


function setEffects(anchorId) {

	// ID des Links
	var anchor = document.getElementById(anchorId);
	var menu = document.getElementById('menu-'+anchorId);

	// Setzen der Maus-Events fuer die Unternavigation
	setMouseEvents(anchor);

	// Maus-Events fuer den aktuellen Menuepunkt
	anchor.onmouseover = function() { mouseEnter(anchor); }
	anchor.onmouseout = function() { mouseLeave(anchor); }

	// Ausblenden des aktuellen Menues
	$('menu-'+anchor.id).setStyle('display', 'none');
}


//
function mouseEnter(anchor) {
	$('menu-'+anchor.id).setStyle('display', 'block');
}


//
function mouseLeave(anchor) {
	activeAnchor = anchor;
	activeTimeout = eval(window.setTimeout('$("menu-'+anchor.id+'").setStyle("display", "none");', 250));
}


// Funktion zum Setzen der Maus-Events in der Unternavigation
function setMouseEvents(anchor) {

	// Liste mit allen Links der Unternavigation
	var subMenu = document.getElementById('menu-'+anchor.id).getElementsByTagName('a');
	// alert(subMenu.length);

	for(var i=0; i<subMenu.length; i++) {
		subMenu[i].onmouseover = function() { clearTimer(); }
		subMenu[i].onmouseout = function() { setTimer(); }
	}
}

// Funktion zum Loeschen des aktiven Timeout (zum stoppen des Ausblen-Effekts)
function clearTimer() {
	if(activeTimeout) {
		window.clearTimeout(activeTimeout);
	}
}

// Funktion zum Setzen des Timeout (zum starten des Ausblen-Effekts)
function setTimer() {
	if(activeAnchor) {
		// activeTimeout = eval(window.setTimeout('effectArray[\''+activeAnchor.id+'\'].start({\'opacity\': 0}).chain(function(){effectArray[\''+activeAnchor.id+'\'].element.setStyle(\'display\', \'none\');})', 250));
		activeTimeout = eval(window.setTimeout('$("menu-'+activeAnchor.id+'").setStyle("display", "none");', 250));
	}
}


