var Sprite = 
{

	temporalId: "spTid",
	temporalIndex: 0,

	elements: [],
	classNames: [],
	intervals: [],
	classNameIndexes: [],
	
	start: function()	{
		
		var div = document.getElementById(arguments[0]);
		if(arguments[1])	{
			var childs = div.getElementsByTagName(arguments[1]);
		}
		else	{
			var childs = div.getElementsByTagName("a");
		}
		
		for(var a = 0; a < childs.length; a++)	{
		
			var thisChild = childs[a];
			var temporalId = Sprite.temporalId + Sprite.temporalIndex;
			
			if(thisChild.id == "")	{
				thisChild.id = temporalId;	
				Sprite.temporalIndex++;
			}
			
			Sprite.elements[thisChild.id] = thisChild;
			Sprite.classNames[thisChild.id] = thisChild.className;
			Sprite.classNameIndexes[thisChild.id] = 0;
			
			Sprite.elements[thisChild.id].onmouseover = function()	{
				Sprite.animateOn(this.id);
			}
			Sprite.elements[thisChild.id].onmouseout = function()	{
				Sprite.animateOff(this.id);					
			}
			
		}
		
	},
	
	animateOn: function(index)	{
		if(typeof(Sprite.intervals[index]) != "undefined")	{
			clearInterval(Sprite.intervals[index]);
		}
		Sprite.intervals[index] = setInterval('Sprite.animateOnInterval("'+index+'")', 40);	
	},
	
	animateOnInterval: function(index)	{
		if(Sprite.classNameIndexes[index] < 10)	{
			Sprite.classNameIndexes[index]++;
			Sprite.elements[index].className = Sprite.classNames[index] + " " + Sprite.classNames[index] + Sprite.classNameIndexes[index];
		}
		else	{
			clearInterval(Sprite.intervals[index]);	
		}
	},
	
	animateOff: function(index)	{
		if(typeof(Sprite.intervals[index]) != "undefined")	{
			clearInterval(Sprite.intervals[index]);
		}
		Sprite.intervals[index] = setInterval('Sprite.animateOffInterval("'+index+'")', 40);	
	},
	
	animateOffInterval: function(index)	{
		if(Sprite.classNameIndexes[index] > 0)	{
			Sprite.classNameIndexes[index]--;
			Sprite.elements[index].className = Sprite.classNames[index] + " " + Sprite.classNames[index] + Sprite.classNameIndexes[index];
		}
		else	{
			clearInterval(Sprite.intervals[index]);
			Sprite.elements[index].className = Sprite.classNames[index]
		}
	}

}