var Fader = new Class({
	Implements: Options,
		options: {
			pause: 5000,
			duration: 1000,
			loop: true,
			onComplete: Class.empty,
			onStart: Class.empty
	},
	initialize: function(container,options) {
		this.setOptions(options);
		this.container = $(container);
		this.imgs = this.container.getElements('img');
		this.imgs.setStyles({
			'position':'absolute',
			'top':0,
			'left':0,
			'opacity':0,
			'display':''
		});
		this.imgs[0].setStyle('opacity',1);
		this.el = new Element('div',{'styles': {
			'position':'relative'
		}});
		this.el.injectInside(this.container);
		this.el.adopt(this.imgs);
		this.next = 0;
	},
	start: function() {
		//this.show();
		this.periodical = this.show.bind(this).periodical(this.options.pause);
	},
	stop: function() {
		$clear(this.periodical);
	},
	show: function() {
		if (!this.options.loop && this.next==this.imgs.length-1)
			$clear(this.periodical);
		this.next = (this.next==this.imgs.length-1)?0:this.next+1;
		this.imgs[this.next].fade('in');
		var prev = (this.next==0)?this.imgs.length-1:this.next-1;
		this.imgs[prev].fade('out');
	}
});
