/* dynlite alpha extension
 * version: 2.0.4/12.08.2003 
 */
function dynalpha(name,dir,steps,time)
{	this.name=name;
	this.start=0;
	this.end=(dir)? 0:100; 
	this.steps=20;
	this.time=time||35;
	this.cords=[];
	this.i=(dir)?this.steps:0;
	this.timer=null;
page.css.attr('#'+this.name+'Div','display','none');
page.add(this.name+'.init()');	
}
dynalpha.prototype.init=function()
{	this.obj=new dynobj(this.name);
window[this.name]=this;
	this.start=this.trans=(!ns6)? this.obj.el.filters.alpha.opacity:page.css.attr('#'+this.name+'Div','MozOpacity',null)||page.css.attr('.'+this.obj.el.className,'MozOpacity',null)*100;
	this.calcBezier3();//points calculation method
	this.obj.css.display="block";
log.add('- alpha filter has been applied to object '+this.name)	
positioningFooter();
} 
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);
		if(this.cords[i]<0) this.cords[i]=0;
	}
}
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(i)
{	this.trans = this.cords[i||this.i];
	if(!ns6)	this.obj.el.filters.alpha.opacity = this.trans;
	else		this.obj.css.setProperty("-moz-opacity",(this.trans-1)/100,"");
}
dynalpha.prototype.doFade = function()
{	this.i+=this.dir;
	//debug.status(this.i);
	this.setTrans();
	if(!this.i||this.i>=this.steps)	
	{	clearInterval(this.interval);
		evt.evoke(this.name,(this.dir==1)? 'onfadein':'onfadeout');
	}
}
dynalpha.prototype.fade=function(fdir)
{	var dir=(!this.i&&fdir==1)? 1:(this.i==this.steps&&fdir==-1)?-1:0;
	if(dir)	
	{	this.dir=dir;
		clearInterval(this.interval);
		this.interval=setInterval(this.name+'.doFade()',this.time);
	}
}
//that's all
