// CMAnimation.js
// сценарий для создания анимаций

var images = new Array();
var currentImage = 0;

window.addEvent("load", function()
{
	// находим все анимации, которые есть на данной странице
	var animations = $$("div.CMAnimation");
	
	animations.each(function(item, index)
	{
		var container = item.getChildren(".CMAnimation-container")[0];
		var fps = item.get("fps");
		var length = item.get("length");
		var firstSrc = item.get("src");
		
		images[0] = container.getChildren("img")[0];
		
		images[0].fade = new Fx.Tween(images[0], 
		{
			property:'opacity',
			duration:1000 / fps,
			fps:25
		}
		);
		
		images[0].fade.addEvent('complete', function()
		{
			currentImage++;
			images[currentImage].fade.start(1.0);			
		}
		);
		
		var j = 0;
		
		for(j = 1; j < length; j++)
		{
			// TEMP
			var currentName = "_";
			var digitsCount = new String(j);
			digitsCount = digitsCount.length;
			var i = 0;
			for(i = 0; i < 4 - digitsCount; i++)
			{
				currentName += "0";
			}
			currentName += j;			
			
			var currentSrc  = firstSrc.replace(/_\d{4}/i, currentName);
			images[j] = new Element("img",
			{
				src: currentSrc
			}
			);
		
			images[j].setStyles(
			{
				opacity: 0.0
			}
			);
			
			images[j].fade = new Fx.Tween(images[j], 
			{
				property:'opacity',
				duration:1000 / fps,
				fps:25
			}
			);
			
			images[j].fade.addEvent('complete', function()
			{
				currentImage++;	
						
				if(currentImage == length)
				{					
					currentImage = 0;
					
					(function()
					{
						var i = 1;
						for(i = 1; i < length; i++)
						{
							images[i].setStyle("opacity", "0.0");
						}
					}).delay(1000 / fps);
					
					images[currentImage].fade.start(1.0);
				}
					
				images[currentImage].fade.start(1.0);			
			}
			);
			
			images[j].inject(container);
		}
		
		container.getChildren(".CMAnimation-cover")[0].fade();
		images[currentImage].fade.start(1.0);
	}
	);
}
);
