/**
 * @author jochen
 */

			function Fader(obj, oS, oE, step){ // params zijn id van het object, opacity Start en opacity End
				
				if (typeof obj == 'object'){
					this.obj = obj;
				}else{
					this.obj = document.getElementById(obj);
				}
				this.oS	 = parseInt(oS);
				this.oE	 = parseInt(oE);
				this.oC	 = this.oS;
				this.changeOpacity(this.oS);
				this.tI = 0;			
				this.tO = 0;
				this.step = 5;
				if (step){
					this.step = step;
				}
				this.fadeOutFunction = null;

			}
			
			Fader.prototype		=		{
				
				changeOpacity	:		function(o){
						this.obj.style.opacity = o / 100;
						this.obj.style.MozOpacity = o / 100;
						this.obj.style.KhtmlOpacity = o / 100;
						this.obj.style.filter = "alpha(opacity=" + o + ")"; 
				}
				
				,
				
				onFadeOut : function(f){
						this.fadeOutFunction = f;
					//window.alert('finished fading out');
				}
				
				,
				
				fadeOut			:		function(){
					window.clearInterval(this.tI);
					if (this.oC > this.oS){
						this.oC -= this.step;
						this.changeOpacity(this.oC);
						this.tO = window.setTimeout(bind(this, this.fadeOut), 15);
					}else{
						if (this.fadeOutFunction){
							this.fadeOutFunction.call();
						}
					}
					
				}
				
				,
				
				fadeIn			:		function(){
					window.clearInterval(this.tO);
					if (this.oC < this.oE){
						this.oC += this.step;
						this.changeOpacity(this.oC);
						this.tI = window.setTimeout(bind(this, this.fadeIn), 15);						
					}
				}
				
			}