var active = 1;
var amount = 4;
var imagefadertimeout = 5;
var extra_timeout = 0;
var mytimeout = 0;

function rotator_rotate(number)
{
  if (number > 0) {
    clearTimeout(mytimeout);
    extra_timeout = 5;
    var new_active = number;
  }
  else {
    extra_timeout = 0;
    var new_active = active + 1;
  }
  if (new_active > amount) {
    new_active = 1;
  }

  new Effect.Fade("image" + active);
  new Effect.Appear("image" + new_active);

  $("carrousel").select("li:nth-child(" + (active) + ")").invoke("removeClassName", "active-item");
  $("carrousel").select("li:nth-child(" + (active) + ") a").invoke("writeAttribute", "href", "Javascript:rotator_rotate(" + active + ");");
  $("carrousel").select("li:nth-child(" + (new_active) + ")").invoke("addClassName", "active-item");
  $("carrousel").select("li:nth-child(" + (new_active) + ") a").invoke("writeAttribute", "href", "Javascript:void(0);");

  active = new_active;
  mytimeout = setTimeout("rotator_rotate()", (imagefadertimeout + extra_timeout) * 2000);
}

function rotator_init()
{
  for (var i = active + 1; i <= amount; i++) {
    $('image' + i).style.display = 'none';
  }

  mytimeout = setTimeout("rotator_rotate()", imagefadertimeout*1000);

}

Event.observe(window, 'load', function() {
	rotator_init();
});