;(function($) {	
	$.fn.floatingMenu = function(settings) {		
		settings = jQuery.extend({
			menuSelector:false,
			afterShowFn:false,
			afterHideFn:false,
			beforeShowFn:false,
			beforeHideFn:false
		},settings);				
		$(this).bind('mouseenter',function(){
			_eventEntered(this,settings);
		}).bind('mouseleave',function(){
			_eventLeave(this,settings);
		});					
		function _eventEntered(caller,settings){			
			if(settings.beforeShowFn && $.isFunction(settings.beforeShowFn)) settings.beforeShowFn(caller);
			$(caller).find(settings.menuSelector).show();			
			if(settings.afterShowFn && $.isFunction(settings.afterShowFn)) settings.afterShowFn(caller);
		}	
		function _eventLeave(caller,settings){				
			if(settings.beforeHideFn && $.isFunction(settings.beforeHideFn)) settings.beforeHideFn(caller);
			$(caller).find(settings.menuSelector).hide();			
			if(settings.afterHideFn && $.isFunction(settings.afterHideFn)) settings.afterHideFn(caller);
		}			
	}			
})(jQuery);
