// effectner` fade
function fader(id, interval){
	this.init = function(){
		if(id.nodeType==1) this.e = id; //karogh a vorpes object ga
		else this.e = document.getElementById(id);
		
		this.e.fader = this; //kpcnum em DOMin, vor setTimeoutov karoghanam gtnem
		
		this.interval = isNaN(interval) ? 40 : interval;
		this.os = 0.1; //opacity step
	};
	this.getStyle = function(s){
		return Math.round( parseFloat(this.e.style[s])*100 ) / 100;
	};
	this.changeStyle = function(s, v){
		var a = this.getStyle(s);
		this.e.style[s] = a + v;
	};
	this.getfunction = function(from, to, qanak, arajinychi){
		return function(){
			var elem = (id.nodeType==1) ? id : document.getElementById(id);
			elem.fader.fade(from, to, qanak, arajinychi);
		};
	};
	
	this.fade = function(from, to, qanak, arajinychi){
		if(!arajinychi) this.e.style["opacity"] = from;
		var n = from>to ? -1 : +1;
		this.changeStyle("opacity", n * this.os);
		if (this.getStyle("opacity")==to){
			if(qanak>1)
				setTimeout(this.getfunction(to, from, qanak-1), this.interval);		
			return;
		}
		window.setTimeout(this.getfunction(from, to, qanak, true), this.interval);
	};
		
	this.init();
}
