function Yonca_Ticker_Fading(controlkey, tabheight, config)
{
	this.controlkey = controlkey || '';
	this.config = config || new Array();
	this.itemnumber = 0;
	this.activekey = 0;
	this.auto_start = false;
	this.auto_time = false;
	this.tabheight = tabheight || 0;
}

Yonca_Ticker_Fading.prototype.init = function()
{
	if (this.controlkey == '' || !Dom.get(this.controlkey + '_wrapper_0'))
	{
		return false;
	}
	
	this.itemnumber = Dom.getElementsByClassName(this.controlkey + '_wrapper').length;
	for (var i = 0; i < this.itemnumber; i++)
	{
		var obj = Dom.get(this.controlkey + '_wrapper_' + i);
		if (i > 0)
		{
			Dom.setStyle(obj, 'opacity', 0);
		}
		
		Event.on(this.controlkey + '_link_' + i, 'click', Yonca_Ticker_Fading.prototype.navclick, i, this, true);
	}
	
	Dom.get(this.controlkey + '_context').scrollTop = 0;
};

Yonca_Ticker_Fading.prototype.apply_config = function()
{
	var configs = ['auto_start', 'auto_time'];
	for (var i = 0; i < configs.length; i++)
	{
		var configfield = configs[i];
		if (!Lang.isUndefined(this.config[configfield]))
		{
			eval('this.' + configfield + ' = ' + this.config[configfield] + ';');
		}
	}
};

Yonca_Ticker_Fading.prototype.navclick = function(e, i)
{
	Event.preventDefault(e);
	this.goticker(i);	
};

Yonca_Ticker_Fading.prototype.goticker = function(i)
{ 
	i = Math.max(0, i);
	i = Math.min(i, this.itemnumber - 1);
	
	if (this.activekey == i)
	{
		return true;
	}
	
	Dom.removeClass(this.controlkey + '_link_' + this.activekey, 'selected');
	Dom.addClass(this.controlkey + '_link_' + i, 'selected');
	
	var opaciting = new Anim(this.controlkey + '_wrapper_' + this.activekey, { opacity: { to: 0 } }, 0.5);
	opaciting.animate();
	
	this.activekey = i;
	var tabheight = this.tabheight;
	
	var scrolling = new YAHOO.util.Scroll(this.controlkey + '_context', { scroll: { to: [0, (tabheight * i)] } }, 0.2, YAHOO.util.Easing.easeBothStrong);
	scrolling.animate();
	
	var opaciting = new Anim(this.controlkey + '_wrapper_' + i, { opacity: { to: 1 } }, 0.5), controlkey = this.controlkey;
	opaciting.onComplete.subscribe(function()
	{
		var obj = this.getEl(), dateobj = Dom.get(controlkey + '_date');
		if (!Lang.isUndefined(obj.title) && dateobj)
		{
			dateobj.innerHTML = obj.title;
		}
	});
	opaciting.animate();
};

Yonca.domready_register(function(){ var fadetick = new Yonca_Ticker_Fading('referer', 160); fadetick.init(); });
Yonca.domready_register(function(){ var fadetick2 = new Yonca_Ticker_Fading('article', 142); fadetick2.init(); });
Yonca.domready_register(function(){ var fadetick3 = new Yonca_Ticker_Fading('article2', 133); fadetick3.init(); });