/*
Script:
	miniSS.js, <http://dev.justinmaier.com/miniSS>
Author:
	Justin Maier, <http://justinmaier.com>

License:
	MIT-style license.
*/
var miniSS = new Class({
	options: {
		onChange: Class.empty,
		time: 5000,
		fadetime: 1000
	},
	initialize: function(el,options){
		this.setOptions(options);
		this.numImages = [0,0];
		this.images = [];
		this.images.push(new Asset.image(el.src));
		$$('img.'+el.id).each(function(ssI,i){
			this.numImages[1]++;
			this.images.push(new Asset.image(ssI.src));
			ssI.remove();
		},this);
		this.container = new Element('div',{'styles':{'height':el.offsetHeight}}).injectBefore(el);
		el.remove();
		
		
		this.currentImage = this.images[this.numImages[0]++].setStyle('position','absolute').injectInside(this.container);
		this.nextImage = this.images[this.numImages[0]].setStyle('position','absolute').setOpacity(0).injectInside(this.container);
		
		this.changeSlide = function(){
			this.currentImage.effect('opacity',{duration:this.options.fadetime-100}).start(0);
			this.nextImage.effect('opacity',{duration:this.options.fadetime}).start(1).chain(function(){
				this.currentImage = this.nextImage.setStyle('z-index','2');
				(this.numImages[0] < this.numImages[1]) ? this.numImages[0]++ : this.numImages[0] = 0;
				this.nextImage = this.images[this.numImages[0]].setStyle('z-index','3').setStyle('position','absolute').setOpacity(0).injectInside(this.container);
			}.bind(this));
		}.bind(this)
		this.changeSlide.periodical(this.options.time);
	}
});

miniSS.implement(new Events);
miniSS.implement(new Options);
