/************************************************/
/* ./all-navi.js                                */
/************************************************/
window.addEvent('domready', function() {
	var toggleClassOver = function(el) {
		var strClass = el.getProperty('class').match(/ ?level-\d+ ?/).toString().trim();
		el.toggleClass(strClass + '-over');
	};
	var setSubList = function(list, level) {
		var listItems = list.getChildren('li');
		level++;
		// list add class
		list.addClass('level-' + level);
		// add background-elements
		var levelBg = new Element('div', {'class': 'level-' + level + '-bg'});
		var levelBgMiddle = new Element('div', {'class': 'level-' + level + '-bgMiddle'});
		var levelBgTop = new Element('div', {'class': 'level-' + level + '-bgTop'});
		var levelBgBottom = new Element('div', {'class': 'level-' + level + '-bgBottom'});
		levelBg.wraps(list);
		levelBgMiddle.wraps(list);
		levelBgTop.inject(levelBgMiddle, 'before');
		levelBgBottom.inject(levelBgMiddle, 'after');
		// list-items add classes
		listItems.addClass('level-' + level);
		list.getFirst('li').addClass('level-' + level + '-firstChild');
		list.getLast('li').addClass('level-' + level + '-lastChild');
		// list-items add events
		listItems.addEvents({
			'mouseenter' : function() { toggleClassOver(this); },
			'mouseleave' : function() { toggleClassOver(this); }
		});
		// list-items change old classes
		listItems.each(function(item) {
			var subList = item.getChildren('ul');
			if(item.hasClass('men-pfad')) {
				item.removeClass('men-pfad');
				item.addClass('level-' + level + '-active');
			} else if(item.hasClass('men')) {
				item.removeClass('men');
			}
			// list-item-links add class
			item.getChildren('a').addClass('level-' + level);
			if(subList.length) {
				item.addClass('level-' + level + '-hasChildren');
				// set sub list
				subList.each(function(item) {
					setSubList(item, level);
				});
			}
		});
	};
	var navi = $('navi');
	var lists = navi.getChildren('ul');
	
	if(lists.length) {
		for(var i = 0; i < lists.length; i++) {
			setSubList(lists[i], 0);
		}
	}
});
/************************************************/
/* //./all-navi.js                              */
/************************************************/

