var TJS = TJS || {};


TJS.Fader = new Class({
	fader: null,
	currentElement: null,
	initialize: function(fader, offset) {
		var that = this;
		this.fader = $(fader);
		this.fader.addClass('js-active');
		this.fader.getChildren().setStyle('opacity', 0);
		this.showNext(offset);
		this.showNext.periodical(7000, this);
	},
	getCurrentOffset: function() {
		return this.fader.getChildren().indexOf(this.currentElement);
	},
	getNextOffset: function () {
		return this.fader.getChildren().indexOf(this.getNext());
	},
	getNext: function() {
		return this.currentElement.getNext() || this.fader.getFirst();
	},
	showNext: function(offset) {
		if ($type(offset) == 'number') {
			var children = this.fader.getChildren();
			this.currentElement = children[offset];
		} else if (!this.currentElement) {
			this.currentElement = this.fader.getChildren().getRandom();
		} else {
			this.currentElement.fade('out');
			this.currentElement = this.getNext();
		}
		this.currentElement.fade('in');
	}
});

window.addEvent('domready', function() {	
	if($('banner-fader')) {
		var bannerFader = new TJS.Fader('banner-fader');
		if($('banner-fader-2')) {
			var bannerFader2 = new TJS.Fader('banner-fader-2', bannerFader.getNextOffset());
		}
	}
});

