function boxFading(BoxAnim,interval){
	this.boxAnim = this.getElement(BoxAnim);
	this.listeImage = new Array();
	this.interval = interval*1000;
	this.IsIE=!!document.all;
	// permet de définir l'image a afficher
	this.currentIndex = 0 ;
	this.imgMax = 0;
	var temp = this;
	//Pour combler un bug ie, on attend le chargement complet de la page
	if ( typeof(window.addEventListener) != "undefined" )
		window.addEventListener( "load", function(){
			temp.init()
		}, false );
	else{
		window.attachEvent( "onload", function(){
			temp.init()
		} );
	}
}
boxFading.prototype.changeImage = function(){
	
	var next = (this.currentIndex+1 > this.imgMax) ? 0:this.currentIndex+1;
	
	this.fade(100,0,this.listeImage[this.currentIndex]);
	this.fade(0,100,this.listeImage[next]);
	
	if(this.currentIndex == this.imgMax){
		this.currentIndex = 0;
	}
	else{
		this.currentIndex++;
	}
	
}
boxFading.prototype.init = function(){
	//On récupère toutes les images de la div
	this.listeImage = this.boxAnim.getElementsByTagName('img');
	//On assigne la valeur maximum 
	this.imgMax = this.listeImage.length-1;
	this.listeImage[0].style.display = "block";
	//Assignation du timer sur chaque image
	for(var i = 0 , l = this.listeImage.length ; i < l ; i++){
		this.listeImage[i].timer = null;
		//Ajout du filtre pour combler un bug ie
	      if(this.IsIE)
	      {
	        this.listeImage[i].style.filter=(i == 0) ?'alpha(opacity=100)':'alpha(opacity=0)';
	        this.listeImage[i].filters[0].opacity=(i == 0) ? 100:0;
	      }
	      else
	      {
	        this.listeImage[i].style.opacity=(i == 0) ? 1:0;
	      }
 
	}
	var temp = this;
	//On lance la méthode permettant de changer l'image
	try {
		var test = setInterval(function(){
			temp.changeImage()
		}, this.interval);
	}
	catch(err){
		
	}
}
 
 
boxFading.prototype.getElement = function(element){
		if(typeof(element) == "string"){
        	return document.getElementById(element);
        }
        else if(typeof(element) == "object"){
        	return (element);
        }
		else {
			return null;
		}
}
//Méthode permettant d'effectuer l'effet de fading sur un objet	
boxFading.prototype.fade = function(start, end, objectToFade){
    if (start == end) {
        return false
    }
	objectToFade.style.display = "block";
	this.IsIE ? objectToFade.filters[0].opacity = start : objectToFade.style.opacity = start / 100;
	
    start >= end ? start -= 5 : start += 5;
    
    var temp = this;
    clearTimeout(objectToFade.timer);
    if (start != end) {
        objectToFade.timer = setTimeout(function(){
            temp.fade(start, end , objectToFade);
        }, 25);
    }
    else {
		if(end == 0)
		{
			objectToFade.style.display = "none";
		}
        clearTimeout(objectToFade.timer);
    }
}                    // JavaScript Document
