(function($){
	$.fn.go4slide = function(options) {
		var numberOfSlides;
		var currentPosition = 0;
		
		var defaults = {
			slideClass: 'slide',
			slideWidth: '100',
			controlClass: 'control',
			slideSpeed: 500,
			rightControl: 'rightControl',
			leftControl: 'leftControl',
			innerSlide: 'slideInner'
		};
		
		var options = $.extend(defaults, options);
    
		return this.each(function() {
			
			var outerDiv = $(this);
			
			$(outerDiv).css({'overflow' : 'hidden', 'width' : options.slideWidth + 'px'});
			var slides = $(outerDiv).find('.' + options.slideClass);
			numberOfSlides = slides.length;
			 
			slides.wrapAll('<div id="' + options.innerSlide + '"></div>')
				.css({ 'float' : 'left', 'width' : options.slideWidth + 'px'
			});
				
			$('#' + options.innerSlide).css('width', options.slideWidth * numberOfSlides);
		
			$('.' + options.controlClass).bind('click', function() {
				currentPosition = ($(this).attr('id')==options.rightControl) ? currentPosition+1 : currentPosition-1 ;
				manageControls(currentPosition);
				doSlideAnimation(currentPosition);
			});
			
			manageControls(currentPosition);
			
			function manageControls(position){
				if(position==0){ $('#' + options.leftControl).hide() } else{ $('#' + options.leftControl).show() }
				if(position==numberOfSlides-1){ $('#' + options.rightControl).hide() } else{ $('#' + options.rightControl).show() }
			}
			
			function doSlideAnimation(currentPosition) {
				$('#' + options.innerSlide).animate({
      				'marginLeft' : options.slideWidth * (-currentPosition)
    			}, options.slideSpeed);	
			}
			
		});
 	};
})(jQuery);

