var Fader = function(container, delay) {
    this.container = $(container);
    this.images = [ ];
    this.index = 0;
    this.delay = delay ? delay : 2000;
    this.__construct = function() {
        setTimeout(this.rotate.bind(this), this.delay);
    };
    this.addImage = function(src) {
        var idx = this.images.length;
        this.images[idx] = new Image;
        this.images[idx].src = src;
        if (idx == 0) this.container.style.background = 'transparent url("' + src + '") no-repeat';
    };
    this.__rotateOut = function() {
        if (this.images[this.index+1]) this.index++;
        else this.index = 0;
        this.container.style.background = 'transparent url("' + this.images[this.index].src + '") no-repeat';
        Effect.Appear(this.container, { duration: 0.3, transition: Effect.Transitions.sinoidal });
        setTimeout(this.rotate.bind(this), this.delay);
    };
    this.rotate = function() {
        new Effect.Fade(this.container, { afterFinish: this.__rotateOut.bind(this), duration: 0.3, transition: Effect.Transitions.sinoidal });
    };
    this.__construct();
    return this;
};

/*
var fader = new Fader('fader');
fader.addImage('/src/img/test.png');

*/