$(document).ready(function(){
//Configuration
  var currentPosition = 0;
  var slideWidth = 420;
  var slides = $('.slide');
  var numberOfSlides = slides.length;

// Supprime la scrollbar prévue pour le cas où javascript est désactivé?
  $('#slidesContainer').css('overflow', 'hidden');

// Attribue  #slideInner  à toutes les div .slide
  slides
    .wrapAll('<div id="slideInner"></div>')// Float left to display horizontally, readjust .slides width
    .css({
      'float' : 'left',
      'width' : slideWidth
    });

// Longueur de #slideInner égale au total de la longueur de tous les slides
  $('#slideInner').css('width', slideWidth * numberOfSlides);

// Insérer les contrôles dans le DOM
  $('#slideshow').prepend('<span class="control" id="leftControl">Précédent</span>')
                 .prepend('<span class="control_disable" id="leftControl_disable">Précédent</span>')
           .append('<span class="control" id="rightControl">Suivant</span>')
           .append('<span class="control_disable" id="rightControl_disable">Suivant</span>');


// manageControls: Cache ou montre les flèches de controle en fonction de la position courante
  function manageControls(position){
  // Cache la fleche "précédent" si on est sur le premier slide
    if(position==0){
      $('#leftControl').hide();
      $('#leftControl_disable').show();
    } else {
      $('#leftControl').show();
      $('#leftControl_disable').hide();
    }
  // Cache la fleche "suivant" si on est sur le dernier slide
    if(position==numberOfSlides-1){
      $('#rightControl').hide();
      $('#rightControl_disable').show();
    } else {
      $('#rightControl').show();
      $('#rightControl_disable').hide();
    }
    }

// Cacher la flèche gauche lors du 1er chargement
  manageControls(currentPosition);

//Cr?e un ?couteur d'évènement de type clic sur les classes .control
  $('.control').bind('click', function(){

  // Determine la nouvelle position
    currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;

  // Cache ou montre les controles
    manageControls(currentPosition);

  // Fais bouger le slide
    $('#slideInner').animate({
      'marginLeft' : slideWidth*(-currentPosition)
    });
  });

});
