/* (c) Jean Luc Biellmann - Groupe Ressources - 2009  */
	
var DiapoCool = Class.create({
	initialize : function(id,desc,imgs) {
		this.pause = 5000; // setTimout inc
		this.id = id;
		this.desc = desc;
		this.imgs = imgs;
		$A(this.imgs).invoke('observe','click',this.show.bind(this));
		this.effect = this.timeout = null;
		this.loader = new Loader(this.id);
		this.num = 0; // first picture
		this.view();
	},
	showMini : function (src) {
		$A(this.imgs).each(function (img) {
			img.style.opacity = (img.src!=src ? 0.5 : 1.);
		});
	},
	inc : function () {
		this.showMini(this.imgs[this.num].src);
		this.effect = new Effect.Appear($(this.id), {duration:1, fps:25, from:0.0, to:1.0, afterFinish:this.wait.bind(this)});
	},
	wait : function () {
		$(this.id).style.opacity=1.;
		this.timeout = setTimeout(this.dec.bind(this),this.pause);
	},
	dec : function () {
		this.effect = new Effect.Appear($(this.id), {duration:1, fps:25, from:1.0, to:0.0, afterFinish:this.chg.bind(this)});
	},
	chg : function () {
		this.num = (this.num+1)%(this.imgs.length);
		this.view();
	},
	reset : function () {
		this.loader.off();
		if (this.effect)
			this.effect.cancel();
		if (this.timeout)
			clearTimeout(this.timeout);
		this.timeout=null		
	},
	view : function () {
		this.reset();
		$(this.id).style.opacity=0.;
		//$(this.desc).update('<br/>');
		$(this.desc).update(this.imgs[this.num].alt.toString());
		this.loader.on();
		$(this.id).onload = function () {
			this.loader.off();
			this.inc();
		}.bind(this);
		$(this.id).src = this.imgs[this.num].src.replace('/mini','');
		//~ this.timeout = setTimeout((function () {
			//~ $(this.desc).update(this.imgs[this.num].alt.toString());
			//~ this.loader.off();
			//~ this.inc();
		//~ }).bind(this),1000);
	},
	show : function (e) {
		var obj = Event.element(e);
		if (obj && this.imgs.indexOf(obj)!=-1) {
			this.num = this.imgs.indexOf(obj);
			this.view();
		}
	}
});

