(function($){
	$.fn.sbMenu = function(settings){
		this.each(function(){
			$(this).click(function(e){ // Event delegation
				var target = $(e.target);
				if(target.attr('hash')){

					// Click su link gia' attivo... non fare niente
					if(target.hasClass('sbTarget'))
						return false;

					settings = $.extend(
						{onSelect: function(){}},
						settings
					);

					// Rendi il precedente link non attivo
					$('.sbTarget', this)
						.removeClass('sbTarget');

					// Nascondi il precedente pannello aperp
					$('.sbPanelFocus', this)
						.slideUp('fast')
						.removeClass('sbPanelFocus');

					// Aggiungi lo stato "attivo"
					target.addClass('sbTarget');

					// Mostra il pannello associato
					var panel = $(target.attr('hash'))
						.appendTo(target.parent())
						.addClass('sbPanelFocus')
						.slideDown('fast');

					// Richiama eventuale callback
					settings.onSelect.call(target[0], target, panel);

					return false;
				}
			})
			.children('li').addClass('sbItem')
			.children('a').addClass('sbLink');
		});
		return this;
	};
})(jQuery);



