var Fader = new Class({
  initialize: function(element) {
    this.container = $(element);
    this.images = this.container.getChildren().setOpacity(0);
    this.activeImage = this.images[0].setOpacity(1);
    this.setNextFade();
  },
  fade: function() {
    this.crossfade.start({
      '0': { 'opacity': 0 },
      '1': { 'opacity': 1 }
    });
  },
  setNextFade: function() {
    var nextImageIndex = this.images.indexOf(this.activeImage) + 1;
    this.nextImage = nextImageIndex == this.images.length ? this.images[0] : this.images[nextImageIndex];
    
    this.crossfade = new Fx.Elements([this.activeImage, this.nextImage], {
      duration: 3500,
      wait: 4000,
      onComplete: function() {
        this.activeImage = this.nextImage;
		    this.setNextFade();
      }.bind(this)
    });
    this.fade.delay(3000, this);
  }
});

window.addEvent('load', function() {
  var f = new Fader('fader');
  Site.initialize();
});
