Menu = {
	init: function(id)
	{
		var el_menu = id ? $(id) : false;
		if (!el_menu)
			return false;

		var li_elements = el_menu.select('ul li');
		li_elements.each(function(li_el, i)
		{
			Menu.highLightElementsAroundActive(el_menu, li_elements, li_el, i);
			Menu.createFoldout(li_el);
		})
	},
	hasSubElements: function(li_el)
	{
		var li_elements = li_el.select('ul li');
		return (li_elements.size() > 0) ? li_elements : false;
	},
	createFoldout: function(li_el)
	{
	//	if (Menu.hasSubElements(li_el))
	//	{
		var li = li_el;
			if (!li.hasClassName("active") && !li.hasClassName("path"))
			{
//				var ul_el = li.down('ul');
				li.onmouseover = function()
				{
					if (li_el.hasClassName("last")){
						li.addClassName("lasthover");
						li.addClassName("hover");
					}
					
					if ( (li_el.hasClassName("last")) && li_el.up("li.last") ){
						li_el.addClassName("parentlasthover");
					}
					if (li_el.hasClassName("before")){
						li.addClassName("beforehover");
						li.addClassName("hover");
					}
					if (li_el.hasClassName("after")){
						li.addClassName("afterhover");
						li.addClassName("hover");
					}
					else {
						li.addClassName("hover");
					}
				}

				li.onmouseout = function()
				{
					li.removeClassName("hover");
					li.removeClassName("lasthover");
					li.removeClassName("parentlasthover");
					li.removeClassName("beforehover");
					li.removeClassName("afterhover");
				}
			}
	//	}
	},
	highLightElementsAroundActive: function(el_menu, li_elements, li_el, i)
	{
		if (li_el.hasClassName("active"))
		{
			var el_after = Menu.highLightElAfterActive(li_el);
			var el_before = Menu.highLightElBeforeActive(li_el);
			var el_ul = el_menu.select('ul.level1');
			// gibt es kein li vor dem aktiven, also kriegt das ul die klasse
			if (!el_before)
			{
				if (el_ul)
				{
					el_ul.invoke("addClassName", "before");
				}

			}
			// gibt es kein li nach dem aktiven, also kriegt das ul die klasse
			if (!el_after)
			{
				if (el_ul)
				{
					el_ul.invoke("addClassName", "after")

					// fix: wir befinden uns tiefer als level1, daher muss das ul auch eine andere klasse bekommen
					if (li_el.hasClassName("level2"))
						el_ul.invoke("addClassName", "after2");
					if (li_el.hasClassName("level3"))
						el_ul.invoke("addClassName", "after3");
					if (li_el.hasClassName("level4"))
						el_ul.invoke("addClassName", "after4");
				}

			}
		}
	},
	highLightElAfterActive: function(li_el)
	{
		var el_after = false;
		if (el_after = li_el.down('li'))
		{
			el_after.addClassName("afterdown");
		}
		else if (el_after = li_el.next('li'))
		{
			el_after.addClassName("after");
		}
		else if (li_el.up('li'))
		{
			if (el_after = li_el.up('li').next('li'))
			{
				el_after.addClassName("afterup");
			}
			else if (el_after = li_el.up('li',1))
			{
				var el_after_next = el_after.next('li');
				if (el_after_next)
					el_after_next.addClassName("afterup2");
				else
					el_after = false;
			}
		}
		return el_after;
	},
	highLightElBeforeActive: function(li_el)
	{
		var el_before = false;
		if (el_before = li_el.previous('li'))
		{
			el_before.addClassName("before");
		}
		else if (el_before = li_el.up('li'))
		{
			el_before.addClassName("beforeup");
		}
		return el_before;
	}

}



function handleHeadline()
{
	if ( $('secondary-navigation') )
	{
		var down = $('secondary-navigation').down(1);
		if (down)
		{
			var my_nav = down.next();
			// verstecke headline, falls diese keine unterpunkte hat
			if ( !my_nav ) 
			{ 
				var down0 = $('secondary-navigation').down();
				if (down0)
					down0.hide(); 
			}
			else
			{
				// headline fix, damit angebote für über der secondary nav immer umgebrochen wird
				var headlines = $$('#secondary-navigation h2 a');
				var search = "Angebote für";
				var replace = search + "<br/>";
				headlines.each(function(headline)
				{
					var inner = headline.innerHTML;
					inner = inner.replace(search,replace);
					headline.innerHTML = inner;
				});
			}
		}
	}
}



document.observe("dom:loaded", function()
{
	if (!$('home')) 
	{
		Menu.init("secondary-navigation");
		handleHeadline();
	}
});

/*
Event.observe(window, "load", function()
{
	if (!$('home')) {
		Menu.init("secondary-navigation");
	}
});
*/
try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}





