/* NAMESPACE */

	if (typeof JS == 'undefined') {
		var JS = {};
	}
	if (typeof JS.Fix == 'undefined') {
		JS.Fix = {};
	}
	

/* SCRIPT */

	JS.Fader = new Class({
		initialize: function(elements, interval, duration) {
			this.elements = elements;
			if (this.elements.length == 0) {
				return;
			}
			this.interval = interval * 400;
			this.duration = duration * 400;
			this.effects = [];
			this.index = 0;
			var height = 0;
			this.elements.each(function(element, i) {
				element.get('tween').setOptions({duration: this.duration});
				if (i != 0) {
					element.setStyle('opacity', 0);
				}
				height = Math.max(height, element.getSize().y);
			}, this);
			this.elements.each(function(element, i) {
				element.setStyle('height', height + 'px');
			}, this);
			$(elements[0].parentNode).setStyle('height', height + 'px');
			this.timer = this.rotate.periodical(this.interval + this.duration, this);
		},
		rotate: function() {
			var index = (this.index == this.elements.length - 1) ? 0 : this.index + 1;

			this.elements[index].setStyle('z-index', 1);
			this.elements[this.index].setStyle('z-index', 0);

			this.elements[index].fade(1);
			var delay = function(element) {
				element.fade(0);
			}
			delay.delay(this.duration, this, this.elements[this.index]);

			this.index = index;
		}
	});

