var active = 1;

var imagefadertimeout = 8000;

var carrouselfader = false;

var carrouseltimer = null;

function switchcarrousel(n)
{
  clearTimeout(carrouseltimer);
  if (carrouselfader) {
    carrouselfader.cancel();
  }
  for (var i = 1; i <= 6; i++) {
    $('carrouselimage' + i).setOpacity(1);
    if (n == i) {
      $('carrouselimage' + i).show();
    } 
    else {
      $('carrouselimage' + i).hide();
    }
    active = n;
  }
  carrouseltimer = setTimeout('switchnextcarrousel()', imagefadertimeout)
}

function fadecarrousel(n) {
  clearTimeout(carrouseltimer);
  
  if (active == n) {
    carrouseltimer = setTimeout('switchnextcarrousel()', imagefadertimeout)
  }
  else {
    $('carrouselimage' + active).hide();

    carrouselfader = new Effect.Parallel([
      new Effect.Appear('carrouselimage' + n, { sync: true })
      ], {
      afterFinish: function() {
        active = n;
        carrouseltimer = setTimeout('switchnextcarrousel()', imagefadertimeout)
        carrouselfader = false;
      }
    });
  }
}

function switchnextcarrousel()
{
  var n = active;
  n++;
  n = n % 7;
  if (n == 0) n++;
  fadecarrousel(n);
}

Event.observe(window, 'load', function() {
  if ($('carrousel')) {
    carrouseltimer = setTimeout('switchnextcarrousel()', imagefadertimeout);
  }
});
