/**
 *
 * Langsames ein und ausblendes des kompletten Submenus
 *
 */

window.addEvent('domready', function() {
    
	var ssmMooMenu = {
		numbers: [],
		init: function() {
			if (window.ie)
		{
			// MooTools 1.11 does not recognize IE8.
				if (navigator.userAgent.match(/msie 8/i)) window.ie8 = true;
		}
			if (window.ie6)
		{
			$$('#ssmed_menu_middle .menu li').each(function(el) {
					$(el).addEvents({
					'mouseenter': function() { $(el).addClass('sfHover'); },
					'mouseleave': function() { $(el).removeClass('sfHover'); }
				});
				});
		}
		if($('ssmed_menu_middle').getElement('ul')){
			$$($('ssmed_menu_middle').getElement('ul').getChildren()).each(function(elem) {
				if ($(elem).hasClass('parent'))
			{
				// At first we need the 1. level ULs (fxDown).
	
				$$($(elem).getChildren()).each(function(el) {
						if ($(el).getTag() == 'ul')
					{
						$(el)
							.setStyle('overflow', 'hidden')
							.addClass('level-1');
					}
				});
			}
		});
		}
			
			$$('.level-1 ul').each(function(elem) {
				// Then all other ULs (fxRight).

			$(elem).addClass('level-x');
		});

		if (window.ie6)
		{
			// Correct position:left of the ULs.
				$$('.level-1').each(function(elem) {
					var c = $(elem).getParent().getParent().getCoordinates();
				var p = $(elem).getParent().getLeft();
					$(elem).setStyle('left', ((0 - c.width) + p - 15) +'px');
			});
		}

		$$('.level-1 ul').each(function(elem) {
				// Then all other ULs (fxRight).

			$(elem).addClass('level-x');
		});
			$$('.level-1').each(function(elem) { ssmMooMenu.fxDown(elem); });
		$$('.level-x').each(function(elem) { ssmMooMenu.fxRight(elem); });
		},
	fxDown: function(el) {
			var height	= el.getStyle('height').toInt();
		var fx		= new Fx.Styles(el, {duration:500, wait:false, transition: Fx.Transitions.Expo.easeOut});
			fx.start({'height': 0});
			el.getParent().addEvents({
			'mouseenter': function(){ fx.start({'height': height}); },
			'mouseleave': function(){ fx.start({'height': 0}); }
		});
	},
		fxRight: function(el) {
		var fx	= new Fx.Styles(el, {duration:1500, wait:false, transition: Fx.Transitions.Expo.easeOut});
		
		el.setStyles({
			'top': 0,
			'left': window.ie6 ? '0px' : 'auto',
			'margin-left': window.ie8 ? '210px' : '200px',
			'opacity': 0
		});
			el.getParent().addEvents({
			'mouseenter': function(){
				el.getParent().getParent().setStyle('overflow', 'visible');
				fx.start({'opacity': [0,1]});
			},
			'mouseleave': function(){
				fx.start({'opacity': [1,0]});
				el.getParent().getParent().setStyle('overflow', 'hidden');
			}
		});
	}
};
ssmMooMenu.init();

});

