$(document).ready(function(){
	//Configuration
	var rotate = true;
	var transitionTime = 1000;
	var autoPlay = true;
	var waitTime = 6000;
			
	var currentPosition = 0;
	var slideWidth = 885;
	var slides = $('.slide');
	var numberOfSlides = slides.length;
	
	var interval;
	var slideActive = false;
		  
	// Remove scrollbar in JS
	$('#slidesContainer').css('overflow', 'hidden');

	// Wrap all .slides with #slideInner div
	slides
	.wrapAll('<div id="slideInner"></div>')
	// Float left to display horizontally, readjust .slides width
	.css({
		'float' : 'left',
		'width' : slideWidth
	});

	// Set #slideInner width equal to total width of all slides
	$('#slideInner').css('width', slideWidth * numberOfSlides);

	// Insert controls in the DOM
	$('#slideshow')
    .prepend('<span class="control" id="leftControl">Précédent</span>')
    .append('<span class="control" id="rightControl">Suivant</span>');
 
	// Hide left arrow control on first load
	manageControls(currentPosition);

	// Create event listeners for .controls clicks
	$('.control')
    .bind('click', function(){
		// Determine new position
		currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
		
		if(currentPosition == numberOfSlides && rotate == false ){
			currentPosition--;
			pause();
		}
		
		// Hide / show controls
		manageControls(currentPosition);
		
		 // Move slideInner using margin-left
		$('#slideInner').animate({
		  'marginLeft' : slideWidth*(-currentPosition)
		},transitionTime);
	});

	// manageControls: Hides and Shows controls depending on currentPosition
	function manageControls(position){
		// Hide left arrow if position is first slide
		if(position==0){ 
			$('#leftControl').hide() 
		} 
		else{ 
			$('#leftControl').show() 
		}
		
		// Hide right arrow if position is last slide
		if(position==numberOfSlides-1 && rotate == false){
			$('#rightControl').hide();
		} else {
			$('#rightControl').show();
		}
		
		if(position == numberOfSlides && rotate == true){
			currentPosition = 0;
			 $('#leftControl').hide();
		}
	}
	
	function next(){
		$('#rightControl').click();
	}
	
	function start() {
		slideActive = true;
		interval = setInterval(next, waitTime);
	}
  
	function pause() {
		slideActive = false;
		clearInterval(interval);
	}
  
	if(autoPlay == true){
		start();
	}
});

