/* mootools 1.2.5 required! */

var slideshow = new Class({
	initialize: function(container, image, images){
		this.period = 10000;
		this.duration = 1200;
		this.cnt = container;
		this.cnt.setStyles({'position':'relative'})
		this.counter = 0;
		this.curImage = image.setStyles({
			position:'relative',
			'z-index':200,
			'left':0,
			'top':0,
			opacity:1
		});
		this.images = images;
		if (images.length > 1) {
			this.subImage = new Element('img', {
				'styles':{
					position:'absolute',
					top:0,
					left:0,
					'z-index':100,
					opacity:1
					//width: this.curImage.getWidth(),
					//height: this.curImage.getHeight()
				}
			}).inject(this.cnt);
		}
	},
	swap: function(){
		var thisClass = this;
		thisClass.periodical = (function(){
			thisClass.subImage.removeEvents('load').addEvent('load', function(){
				thisClass.curImage.set('morph', {
					transition:'linear',
					duration:thisClass.duration,
					onComplete: function(){
						thisClass.curImage.setStyles({'z-index':100,opacity:1})
						thisClass.subImage.setStyles({'z-index':200})
						var tmp = thisClass.curImage;
						thisClass.curImage = thisClass.subImage;
						thisClass.subImage = tmp;
					}
				}).morph({
					'opacity':0
				})
			})
			thisClass.counter++;
			if(thisClass.counter >= thisClass.images.length) thisClass.counter = 0;
			thisClass.subImage.src = thisClass.images[thisClass.counter];
		}).periodical(thisClass.period);
	},
	swapAlone: function(toImage){
		thisClass = this;
		thisClass.subImage.removeEvents('load').addEvent('load', function(){
			thisClass.curImage.set('morph', {
				transition:'linear',
				duration:thisClass.duration,
				onComplete: function(){
					thisClass.curImage.setStyles({'z-index':100,opacity:1})
					thisClass.subImage.setStyles({'z-index':200})
					var tmp = thisClass.curImage;
					thisClass.curImage = thisClass.subImage;
					thisClass.subImage = tmp;
				}
			}).morph({
				'opacity':0
			})
		})
		//thisClass.counter++;
		//if(thisClass.counter >= thisClass.images.length) thisClass.counter = 0;
		thisClass.subImage.src = toImage;
	}
})

