/* dynlite alpha extension
 * version: 2.0.3/04.07.2003 
 */
function dynalpha(name,start,end,steps,time)
{	this.name=name;
	this.start=start||0;
	this.end=end||99; 
	this.steps=20;
	this.time=time||30;
	this.cords=[];
	this.i=0;
	this.timer=null;
page.add(this.name+'.init()');	
}
dynalpha.prototype.init=function()
{	this.obj = new dynobj(this.name);
window[this.name]=this;
	this.trans=(!ns6)? this.obj.el.filters.alpha.opacity:this.obj.css.getPropertyValue("-moz-opacity")*100;
	this.calcBezier3();//points calculation method
log.add('- alpha filter has been applied to object '+this.name)	
} 
dynalpha.prototype.calcEven=function()
{	for(var i=this.steps;i>=0;i--)
	{	this.cords[i]=Math.round((this.end-this.start)/this.steps*i+this.start);
	}
}
dynalpha.prototype.calcBezier3=function()//original source of bezier method- http://astronomy.swin.edu.au/~pbourke/curves/bezier/ 
{	for(var i=this.steps;i>=0;i--)
	{	var mu=i/this.steps;
		var mu2=mu*mu;
		var mum1=1-mu;
		var mum12=mum1*mum1;
		this.cords[i]=Math.round(this.start*mum12+2*this.end*mum1*mu+this.end*mu2);
	}
}
dynalpha.prototype.setTrans = function(trans)
{	this.trans = trans||this.cords[this.i];
	if(!ns6)	this.obj.el.filters.alpha.opacity = this.trans;
	else		this.obj.css.setProperty("-moz-opacity",this.trans/100,"");
}
dynalpha.prototype.fadeIn=function()
{	if(this.i<this.steps) this.timer=setTimeout(this.name+'.fadeIn()',this.time);
	else evt.evoke(this.name,'onfadein');
	this.setTrans();
	this.i++;	
}
dynalpha.prototype.fadeOut=function()
{	if(this.i>0) this.timer=setTimeout(this.name+'.fadeOut()',this.time);
	else evt.evoke(this.name,'onfadeout');
	this.setTrans();
	this.i--;	
}
//that's all
