var Effect = function() {
	return { change: {} };
} ();

Effect.change.MakeList = function(prefix, size)
{
	var list  = [];
	for (var i=0; i<size; i++)
		list[i] = prefix+i;
	return list;
}

Effect.change.Rotation = function(objList)
{
	this.list = objList;
	for (var i=0; i<this.list.length; i++)
		if (typeof(this.list[i]) == "string")
			this.list[i] = document.getElementById(this.list[i]);
}

Effect.change.Rotation._rotate = function(list, cp, term, size, time)
{
	for (var i=0; i<term; i++)
		list[(cp+i)%list.length].style.display = 'none';

	cp = (cp+term)%(list.length);
	var np = cp;
	for (var i=0; i<size; i++)
	{
		list[np].style.display = 'inline';
		np = (np+1)%(list.length);
	}
	setTimeout(function() { Effect.change.Rotation._rotate(list, cp, term, size, time); }, time);
}

Effect.change.Rotation.prototype = {
	start: function(time, term, size)
	{
		var list = this.list;
		for (var i=0; i<size; i++)
			list[i%list.length].style.display = 'inline';

		setTimeout(function() { Effect.change.Rotation._rotate(list, 0, term, size, time); }, time);
	}
};
