function myFade(self)
{
	var styleName = null;
	var styleRange = 0;
	var actualPos = 0;
	var objRef = null;
	var objSelf = self;
	var state = null;
	var memoClass = null
	
	this.setStyle = function(name, range)
	{
		className = name;
		classRange = range;
	}
	
	this.setObj = function(obj)
	{
		objRef = obj;
		memoClass = obj.className;
	}
	
	this.setState = function(s)
	{
		state = s
	}
	
	this.run = function ()
	{
		
		if (state == "fadeIn" && !this.fadeIn())
		{
			setTimeout(objSelf + ".run('" + state + "')", 50);
		}
		
		if (state == "fadeOut" && !this.fadeOut())
		{
			setTimeout(objSelf + ".run('" + state + "')", 90);
		}
	}
	
	this.fadeIn = function()
	{
		if (actualPos < classRange)
		{
			objRef.className = className  + actualPos++;
			return false;
		}
		return true;	
	}
	
	this.fadeOut = function()
	{
		if (actualPos > 0)
		{
			actualPos--;
			objRef.className = className  + actualPos;
			return false;
		}
		objRef.className = memoClass
		return true;
	}
	
}

var name = "roll";
var cnt = 0;

function setFade(obj)
{
	myName = name + cnt++;
	obj.fade = myName;
	
	eval(myName + '= new myFade("' + myName + '")');
	eval(myName + '.setStyle("fadeColor","7")');
	eval(myName + '.setObj(obj)');
	
	obj.onmouseover = function() { eval(this.fade + ".setState('fadeIn');" + this.fade + '.run();'); }
	obj.onmouseout =  function() { eval(this.fade + ".setState('fadeOut');" + this.fade + '.run();'); }
	
	eval(myName + ".setState('fadeIn');" + myName + '.run();');
}
