function initMenu() {
	var duration = 0.5;
	var menuItems = document.getElementById("menu").getElementsByTagName("a");
	var initialOpacity = 0.7;
	for (var i = 0; i < menuItems.length; i++) {
		if (menuItems[i].className != "selected") {
			addFadeEffect(menuItems[i], duration, initialOpacity);
		}
	}
	var languageItems = document.getElementById("languages").getElementsByTagName("img");
	initialOpacity = 0.5;
	for (var i = 0; i < languageItems.length; i++) {
		if (languageItems[i].className != "selected") {
			addFadeEffect(languageItems[i], duration, initialOpacity);
		}
	}
}
function addFadeEffect(element, initialOpacity, duration) {
	Element.setOpacity(element, initialOpacity);
	element.canFadeIn = true;
	element.canFadeOut = false;
	Event.observe(element, "mouseover", function (event) {
		var elt = Event.element(event);
		if (elt.canFadeIn) {
			if (elt.fadeOut) {
				elt.fadeOut.cancel();
				elt.canFadeOut = true;
			}
			elt.fadeIn = new Effect.Opacity(elt, {duration:duration, to:1.0, afterFinish:function(effect) {
				effect.element.fadeIn = null;
				}});
			elt.canFadeOut = true;	
			elt.canFadeIn = false;
		}
	});
	Event.observe(element, "mouseout", function (event) {
		var elt = Event.element(event);
		if (elt.canFadeOut) {
			if (elt.fadeIn) {
				elt.fadeIn.cancel();
				elt.canFadeIn = true;
			}
			elt.fadeOut = new Effect.Opacity(elt, {duration:duration, to:initialOpacity, afterFinish:function(effect) {
				effect.element.fadeOut = null;
				}});
			elt.canFadeIn = true;
			elt.canFadeOut = false;
		}
	});
}
Event.observe(window, 'load', initMenu);
