(function( $ ) {
	$.fn.EfHSlideMenu = function( options ) {  

		var settings = {
			'expandedWidth'		: 600,
			'duration'			: 300,
			'width'				: null,
			'height'			: null
		};

		return this.each(function() {
			if ( options ) { 
				$.extend( settings, options );
			}
			
			var $container	= $(this);
			var $slides		= $('li', this);
			
			if(settings.width != null) $container.css('width', settings.width);
			if(settings.height != null) $container.css('height', settings.height);
			
			var startWidth		= Math.floor( $container.width() / $slides.length );
			var unactiveWidth	= Math.floor( ($container.width() - settings.expandedWidth) / ($slides.length - 1) );
			var hovered			= null;

			//$slides.css('width', startWidth);
			
			$slides.each(function(index, el) {
				if((index + 1) == $slides.length) {
					$(el).css('width', settings.expandedWidth);
				} else {
					$(el).css('width', unactiveWidth);
				}
			});
			
			$container.bind('resize.efslidemenu', function() {
				$slides.stop();
				
				$slides.each(function(index, el) {
					if(el == hovered) {
						$(this).animate({'width': settings.expandedWidth}, settings.duration);
					} else {
						$(this).animate({'width': unactiveWidth}, settings.duration);
					}
				});
			});

			$slides.mouseenter(function() {
				hovered = this;
				$container.trigger('resize.efslidemenu');
			});

		});

	};
})( jQuery );
