if(!speed_animation) var speed_animation = new Array();
if(!speed_pause) var speed_pause = new Array();
if(!speed_steps) var speed_steps = new Array();
if(!a_state) var a_state = new Array();
if(!a_old) var a_old = new Array();
if(!a_new) var a_new = new Array();
if(!speed_spans) var speed_spans = new Array();

if(!speed_pause_start)
{
	var speed_pause_start = new Array();
	speed_pause_start = speed_pause;
}

function animation_set(block,index)
{
	var id = speed_spans[block][index];
	var mySpans = getInnerTagsById('animation_' + block, 'span');
	for (var i=0; i < mySpans.length; i++)
	{
		setOpacity(mySpans[i], 1);
		mySpans[i].style.display=(mySpans[i].id == id) ? 'block' : 'none';
	}
}

function animation_smooth_start(block,index)
{
	a_new[block] = speed_spans[block][index];
	var mySpans = getInnerTagsById('animation_' + block, 'span');
	for (var i=0; i < mySpans.length; i++)
		if (mySpans[i].style.display == 'block')
			a_old[block] = mySpans[i].id;
	setOpacity(document.getElementById(a_new[block]), 0);
	document.getElementById(a_new[block]).style.display = 'block';
	a_state[block] = 0;
	animation_smooth(block);
}

function animation_smooth(block)
{
	a_state[block]++;
	if (a_state[block] == speed_steps[block])
	{
		setOpacity(document.getElementById(a_new[block]), 1);
		setOpacity(document.getElementById(a_old[block]), 0);
		document.getElementById(a_old[block]).style.display = 'none';
		document.getElementById(a_new[block]).style.display = 'block';		
	}
	else
	{
		setOpacity(document.getElementById(a_new[block]), a_state[block]/speed_steps[block]);
		setOpacity(document.getElementById(a_old[block]), 1 - a_state[block]/speed_steps[block]);
		window.setTimeout('animation_smooth(' + block + ')', speed_animation[block]/speed_steps[block]);
	}
}

function animation_switch(block,index)
{
	animation_smooth_start(block,index);
	animation_nxt(block,index);
}

function animation_nxt(block,index)
{
	var nxt = (index == speed_spans[block].length-1) ? 0 : index + 1;
	window.setTimeout('animation_switch(' + block + ',' + nxt + ')', speed_pause[block]);
}

/*
window.onload = function()
{
	var myDiv = document.getElementsByTagName('div');
	for (var i=0; i < myDiv.length; i++) 
	{
		if (myDiv[i].className == 'cell_animation') 
		{
			animation_set(myDiv[i].id.substr(10),0); 
			animation_nxt(myDiv[i].id.substr(10),0);
		}
	}
}
*/

var isonload = 0;
function animation_onload()
{
	if(isonload) return;
	var myDiv = document.getElementsByTagName('div');
	for (var i=0; i < myDiv.length; i++) 
	{
		if (myDiv[i].className == 'cell_animation') 
		{
			//alert(myDiv[i].id);
			animation_set(myDiv[i].id.substr(10),0); 
			animation_nxt(myDiv[i].id.substr(10),0);
		}
	}
	isonload = 1;
}
window.onload = animation_onload;
