var hCarousel;
var scrollInterval;
var carouselClasses = ['en_famille', 'scolarite', 'loisirs', 'internet', 'lecture'];
function scrollCarousel(event)
{
  clearInterval(scrollInterval);
  data = $A(arguments);
  data.shift();
  index = data[0];
  hCarousel.scrollTo(index * 2);
  element = Event.element(event);
}


function initCarousel() {
  hCarousel = new UI.Carousel(
    "carrousel",
    {
      scrollInc: 2,
      opacity: 1,
      opacityDuration: 0,
      opacityDelay: 0,
      container: '.carousel_container',
      previousButton: '.fleche_g a',
      nextButton: '.fleche_d a'
    }
  );
  var i = 0;
  var elts = $$('ul.controler li a');
  var max = elts.length - 1;

  elts.each(function(elt){
    if ( i > 0 && i < max)
    {
      Event.observe(elt, 'click', scrollCarousel.bindAsEventListener(hCarousel, i - 1));
    }
    i++;
  });
  
  document.observe('carousel:scroll:started', function(event) {
    $$('div.carousel_container')[0].setStyle({background: 'none'});
  });

  
  document.observe('carousel:scroll:ended', function(event) {
    $$('div.carousel_container')[0].setStyle({background: 'transparent url(/images/commun/bg_carrousel.gif) no-repeat scroll 0pt'});
    if((carouselClasses.length-1) < (hCarousel.currentIndex() / 2))
    {
      hCarousel.scroll(-hCarousel.currentPosition());
    }
  });
  
  document.observe('carousel:scroll:ended', function(event) {
    var i = 0;
    var elts = $$('ul.controler li');
    var max = elts.length - 1;
    var index=0;
    $$('.controler li').each (function(elt){
      index = Math.ceil(hCarousel.currentIndex() / 2);
      if (i > 0 && i < max)
      { 
        if ((i - 1 ) == index)
        {
          $(elt).addClassName('on');
          var elt = $$('.txt_img')[0].up();
          elt.removeClassName(elt.className);
          elt.addClassName(carouselClasses[index]);
        }
        else
        {
          $(elt).removeClassName('on');
        }
      }
      i++;
    });
  });

  $$('.fleche_d a', '.fleche_g a').each(function(elt){
    elt.observe('click', function(){ clearInterval(scrollInterval); });
  });

  initAutoScroll();
}

function initAutoScroll()
{
  scrollInterval = setInterval(autoScroll, 10000);
}

function autoScroll()
{
  if (hCarousel.nextButton.hasClassName('next_button_disabled'))
  {
    hCarousel.scrollTo(0);
  }
  else
  {
    if(hCarousel.currentIndex()/2 == carouselClasses.length - 1)
    {
      hCarousel.scrollTo(0);
    }
    else
    {
      hCarousel.fire("next");
    }
  }
}

Event.observe(window, "load", initCarousel);