/*==========================================================================================================*/
/* Plugin  sliderMenu                 										*/
/* Version  0.1	                 										*/
/*==========================================================================================================*/
/* Examples:														*/
/*	$('#c_menu_master').sliderMenu();										*/
/*	$('#c_menu_master').sliderMenu({subSelector: '>div', durIn: 100, durOut: 200});			*/
/*	$('#c_menu_master').sliderMenu({animation: {effect: 'slide', settings: {direction: "up"}}});		*/
/*==========================================================================================================*/
/* Properties: 													*/
/* durIn		default: 500 				= animationsdauer einblenden 			*/
/* durIn		default: 500				= animationsdauer ausblenden				*/
/* animation 		default: null				= animations eistellungen (object): 		*/
/*									effect: UI Effect				*/
/*									settings: UI Effect settings			*/
/* subSelector 	default: '>ul'				= der ein und auszublendened node (selector)	*/
/* activSlector 	default: '.c_mainmenu_active'	= aktives menu (selector)				*/
/* inactivSlector 	default: '.c_mainmenu'		= inaktive menus (selector)				*/
/*==========================================================================================================*/


$(document).ready(function() {

	var sliderMenu = {
		durIn: 500,
		durOut: 500,
		closeItem: function(items){
			items.each(function(){
				if($(this).hasClass("sl-menuopen")){
					$(this).removeClass("sl-menuopen");
					if(sliderMenu.animation){
						$(sliderMenu.subSelector, $(this)).hide(sliderMenu.animation.effect, sliderMenu.animation.settings, sliderMenu.durIn);
					} else {
						$(sliderMenu.subSelector, $(this)).hide(sliderMenu.durIn);
					}
				}
			});
		},
		init: function(props, ob){
			this.master = ob;
			this.animation = null;
			this.subSelector = '>ul';
			this.activSlector = '.c_mainmenu_active';
			this.inactivSlector = '.c_mainmenu';
			$.extend(this, props);
			this.master.hover(
				function(e){
				},
				function(e){
					sliderMenu.closeItem($(sliderMenu.inactivSlector, sliderMenu.master));
				}
			);
			$(this.activSlector, sliderMenu.master).hover(
				function(e){
					sliderMenu.closeItem($(this).nextAll(sliderMenu.inactivSlector));
				},
				function(e){
				}
			);		
			$(this.inactivSlector, sliderMenu.master).hover(
				function(e){
					if(!$(this).hasClass("sl-menuopen")){
						$(this).addClass("sl-menuopen");
						if(sliderMenu.animation){
							$(sliderMenu.subSelector, $(this)).show(sliderMenu.animation.effect, sliderMenu.animation.settings, sliderMenu.durIn);
						} else {
							$(sliderMenu.subSelector, $(this)).show(sliderMenu.durIn);
						}
					}
					sliderMenu.closeItem($(this).nextAll(sliderMenu.inactivSlector));
				},
				function(e){
				}
			);
		}
	};
	
	jQuery.fn.sliderMenu = function(p){
		sliderMenu.init(p, $(this));
	}
});

