function ImageFader(sIdImageContainer, iBlendDuration, iPause){
	
	this.imageContainer = document.getElementById(sIdImageContainer);
	this.blendDuration = iBlendDuration / 100;
	this.pause = iPause
	this.images = [];
	this.opacity = [];
	this.count;
	this.oldCount = -1;
	
	this.init();
	
}

ImageFader.prototype.init = function(){
	
	for(var i = 0; i < this.imageContainer.childNodes.length; i++){
		this.images[this.images.length] = this.imageContainer.childNodes[i];
		this.opacity[this.opacity.length] = .99;
	}
	this.count = this.images.length - 1;
	setTimeout(this.fade.bind2(this), this.pause);
}


ImageFader.prototype.fade = function(){
	
	this.opacity[this.count] = this.opacity[this.count] - .01;
	
	if(this.oldCount != this.count){
		for(var i = 0; i < this.images.length; i++){
			if(i > this.count || this.oldCount == -1){
				this.images[i].style.opacity = this.opacity[i];
				this.images[i].style.MozOpacity = this.opacity[i];
				this.images[i].style.filter = 'alpha(opacity='+ Math.round(this.opacity[i]*100) +')';
				this.images[i].style.zIndex = (this.images.length - 10) - i;
				this.images[i].style.visibility = 'visible';
			}
		}
		this.images[this.count].style.zIndex = 2;
	}
	
	if(this.opacity[this.count] > 0){
		this.images[this.count].style.opacity = this.opacity[this.count];
		this.images[this.count].style.MozOpacity = this.opacity[i];
		this.images[this.count].style.filter = 'alpha(opacity='+ Math.round(this.opacity[this.count]*100) +')';
		setTimeout(this.fade.bind2(this), this.blendDuration);
	}
	
	this.oldCount = this.count;
	
	if(this.opacity[this.count] < 0){
		this.opacity[this.count] = .99;
		this.count++;
		/** De onderste code uitvoeren als je het plaatje continu wil laten loopen **/
		if(this.count == this.images.length){
			this.count = 0;
		}
		if(this.count == this.images.length - 2){
			this.count = 0;
		}
		else{
			setTimeout(this.fade.bind2(this), this.pause);
		}
	}
}

Function.prototype.bind2 = function(scope) {
		
		var reference = this;
		
		return function() {
			reference.apply(scope, arguments);
		}
	};
