var FadeInOut = new Class({
	Implements: [Options],
	
	options: {
		showDuration: 200,
		hideDuration: 400,
		visibleDuration: 5000
	},
	
	initialize: function(element, options) {
		this.setOptions(options);
		element.setStyle('opacity', 0);
		var self = this;
		this.fx = new Fx.Tween(element).chain([
			function() {
				this.setOptions({duration:self.options.showDuration});
				this.start('opacity', 1);
			},
			function() {
				this.callChain.delay(self.options.visibleDuration, this);
			},
			function() {
				this.setOptions({duration:self.options.hideDuration});
				this.start('opacity', 0);
			}
		]);
		window.addEvent('load', this.show.bind(this));
		
	},
	
	show: function() {
		this.fx.callChain();
	}
});

