var Fader = new Class({

	item		: 0,
	delay		: 1000,
	elements	: null,
	tweenable	: "opacity",
	min			: 0,
	max			: 1,


	initialize: function(opts) {
		for(var key in opts) {
			this[key] = opts[key];
		}
		this.elements.each(this.setDefault.bind(this));
		this.fadeIn();
		
		setInterval(this.swap.bind(this), this.delay);
	},

	fadeOut: function() {
		this.elements[this.item].tween(this.tweenable, this.min);
	},

	fadeIn: function() {
		this.elements[this.item].tween(this.tweenable, this.max);
	},

	swap: function () {
		this.fadeOut();
		this.item = this.item + 1 >= this.elements.length ? 0 : this.item + 1;
		this.fadeIn();
	},

	setDefault: function(el) {
		el.set(this.tweenable, this.min);
	}
});