jQuery(document).ready(function()
{
  jQuery('.carousel_image').filter(function(i) { return i != 0 }).hide();
  jQuery('.carousel_image:first').addClass('carousel-active').show();
  jQuery('.carousel_titre').filter(function(i) { return i != 0 }).hide();
  jQuery('.carousel_block').filter(function(i) { return i != 0 }).hide();
  jQuery('.carousel_block_vert').filter(function(i) { return i != 0 }).hide();

  var canSlide = true; // Détermine s'il est possible de slider

  // Image précédente
  jQuery('#carousel_nav1 a').click(function()
  {
    if(!canSlide)
      return false;

    canSlide = false;

    var prevImg = jQuery('.carousel_image:visible:first').prev('.carousel_image').length > 0 ? jQuery('.carousel_image:visible:first').prev('.carousel_image') : jQuery('.carousel_image:last');
    prevImg.show();
    jQuery('.carousel_image:visible').filter(function(i) { return jQuery(this).attr("id") != prevImg.attr("id"); }).fadeOut(1000, function()
    {
      jQuery(this).removeClass('carousel-active').hide();
      prevImg.addClass('carousel-active');

      var prevTitre = jQuery('.carousel_titre:visible:first').prevAll('.carousel_titre:first').length > 0 ? jQuery('.carousel_titre:visible:first').prevAll('.carousel_titre:first') : jQuery('.carousel_titre:last');
      var prevBlock = jQuery('.carousel_block:visible:first').prev('.carousel_block').length > 0 ? jQuery('.carousel_block:visible:first').prev('.carousel_block') : jQuery('.carousel_block:last');
      var prevBlockVert = jQuery('.carousel_block_vert:visible:first').prev('.carousel_block_vert').length > 0 ? jQuery('.carousel_block_vert:visible:first').prev('.carousel_block_vert') : jQuery('.carousel_block_vert:last');
      jQuery('.carousel_titre:visible:first').hide();
      prevTitre.show();
      jQuery('.carousel_block:visible:first').hide();
      prevBlock.show();
      jQuery('.carousel_block_vert:visible:first').hide();
      prevBlockVert.show();

      canSlide = true;
    });

    return false;
  });

  // Image suivante
  jQuery('#carousel_nav2 a').click(function()
  {
    if(!canSlide)
      return false;

    canSlide = false;

    var nextImg = jQuery('.carousel_image:visible:first').next('.carousel_image').length > 0 ? jQuery('.carousel_image:visible:first').next('.carousel_image') : jQuery('.carousel_image:first');

    nextImg.show();
    jQuery('.carousel_image:visible').filter(function(i) { return jQuery(this).attr("id") != nextImg.attr("id"); }).fadeOut(1000, function()
    {
      jQuery(this).removeClass('carousel-active').hide();
      nextImg.addClass('carousel-active');

      var nextTitre = jQuery('.carousel_titre:visible:first').nextAll('.carousel_titre:first').length > 0 ? jQuery('.carousel_titre:visible:first').nextAll('.carousel_titre:first') : jQuery('.carousel_titre:first');
      var nextBlock = jQuery('.carousel_block:visible:first').next('.carousel_block').length > 0 ? jQuery('.carousel_block:visible:first').next('.carousel_block') : jQuery('.carousel_block:first');
      var nextBlockVert = jQuery('.carousel_block_vert:visible:first').next('.carousel_block_vert').length > 0 ? jQuery('.carousel_block_vert:visible:first').next('.carousel_block_vert') : jQuery('.carousel_block_vert:first');
      jQuery('.carousel_titre:visible:first').hide();
      nextTitre.show();
      jQuery('.carousel_block:visible:first').hide();
      nextBlock.show();
      jQuery('.carousel_block_vert:visible:first').hide();
      nextBlockVert.show();

      canSlide = true;
    });

    return false;
  });

  // Image n°...
  jQuery('.carrouselmenu').click(function()
  {
    if(!canSlide)
      return false;

    var tab_id = jQuery(this).children('input[type=hidden]:first').val();
    var img = jQuery('.carousel_image').slice(tab_id, tab_id+1);

    if(img.attr('id') == jQuery('.carousel_image:visible').attr('id'))
      return false;

    canSlide = false;

    img.show();
    jQuery('.carousel_image:visible').filter(function(i) { return jQuery(this).attr("id") != img.attr("id"); }).fadeOut(1000, function()
    {
      jQuery(this).removeClass('carousel-active').hide();
      img.addClass('carousel-active');

      var titre = jQuery('.carousel_titre').slice(tab_id, tab_id+1);
      var block = jQuery('.carousel_block').slice(tab_id, tab_id+1);
      var blockVert = jQuery('.carousel_block_vert').slice(tab_id, tab_id+1);
      jQuery('.carousel_titre:visible:first').hide();
      titre.show();
      jQuery('.carousel_block:visible:first').hide();
      block.show();
      jQuery('.carousel_block_vert:visible:first').hide();
      blockVert.show();

      canSlide = true;
    });

    return false;
  });
});
