
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//									Extrait de la librairie PROTOTYPE							                     //
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Permet avec la syntaxe " var maClasse = Class.create() " d'instancier une nouvelle classe et d'appeler la methode " initialize() " de cette classe
// la methode " initialize() " est considere comme le constructeur de la classe
var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}
// Permet de contrer le moteur javascript dans un bug de reference de fonction
// Generalement utilisee dans les methodes onComplete... onLoad... etc pour faire reference a l'objet en cours
Function.prototype.bind = function(object) {
	var __method = this;
	return function() {
		return __method.apply(object, arguments);
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//									Fin Extrait de la librairie PROTOTYPE							//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var timer;
var id;
/**
 * Pour faire un défiler de 
 */
var defilerFond = Class.create();
defilerFond.prototype = {
	initialize : function (id_diapo, delay,vitesseOpacity,pasOpacity) {
		id = id_diapo;
		if(delay == 0 || delay == null)
			this.delay = 1000 
		else
			this.delay = delay 					// le delay entre chaque Image
		this.bollTimer = 0;						// état du timer
		this.imgCc = 0;							// idex de l'image courante
		this.tabImg; 							// le tableau des images du fond
		this.vitesseOpacity = vitesseOpacity 	// le temps entre chaque décrementation de l'opacité
		this.pasOpacity = pasOpacity 			// le pas décrementation a l'opacité
		
		if(document.getElementById(id).children.length > 1){
			this.prepareDonnee();
			this.bollTimer = 1;
			timer = setTimeout("defiler.changeImg()",1000);
		}
	},
	prepareDonnee : function(){
		this.tabImg = new Array();
		for(var i=0; i < document.getElementById(id).children.length; i++){
			this.tabImg.push(document.getElementById(id).children[i]);
			document.getElementById(id).children[i].style.zIndex = 100-i;
			if(i > 0) // on cache toute les images, sauf la premiére
				document.getElementById(id).children[i].style.display = "none";
		}
	},
	changeImg : function(){
		var tmp;
		if(this.imgCc < this.tabImg.length -1)
			tmp = this.imgCc+1;
		else{
			tmp = 0;
			document.getElementById(id).children[this.imgCc].style.zIndex = '200';
		}
		//alert('img Aff : '+tmp);
		//alert(tmp +"|"+ document.getElementById(id).children[tmp].style.zIndex +"|" +document.getElementById(id).children[tmp].style.opacity);
		document.getElementById(id).children[tmp].style.filter = "alpha(opacity = 100)";
		document.getElementById(id).children[tmp].style.opacity = "1";
		document.getElementById(id).children[tmp].style.display = 'block';

		document.getElementById(id).children[this.imgCc].style.opacity = 1;
		document.getElementById(id).children[this.imgCc].style.filter = "alpha(opacity = 100)";
		this.enleveImgCc(this.imgCc);
		//document.getElementById(id).children[this.imgCc].style.display = 'none';
		this.imgCc = tmp;
		timer = setTimeout("defiler.changeImg()",this.delay);
	},
	enleveImgCc : function(tmp){
		if(document.getElementById(id).children[tmp].style.opacity > 0){
			op = document.getElementById(id).children[tmp].style.opacity;
			var a = op * 100;
			var nb = a - this.pasOpacity;
			var aze = nb / 100;
			document.getElementById(id).children[tmp].style.opacity = aze;
			// pour IE !! 
			//alert(aze +"|"+nb);
			document.getElementById(id).children[tmp].style.filter = "alpha(opacity = "+nb+")";
			setTimeout("defiler.enleveImgCc("+tmp+")",this.vitesseOpacity);
		}else{
			document.getElementById(id).children[tmp].style.display = 'none';
			document.getElementById(id).children[tmp].style.opacity = '1';
			document.getElementById(id).children[tmp].style.filter = "alpha(opacity = 100)";
			if(tmp == parseInt(this.tabImg.length) -1){
				document.getElementById(id).children[tmp].style.zIndex = 100 - (this.tabImg.length -1);
			}
		}
	}
};


