/* Initialization */
var index = 0;
var delay = 5;
var wrapper = 'promoWrapper';
var update = 'update';
var periodicalExecuter = null;
/* /Initialization */

/* Functions */
var GetNextWork = function()
{
	/* Fading previous item */
	Effect.Fade(wrapper, { duration: 1 });
	
	/* Ajax Request for next portfolio item */
	new Ajax.Updater(update, 'promociones/view/' + homePromos[index],
	{
		asynchronous:false,
		evalScripts:true,
		onComplete:function(request, json)
		{
			Effect.Appear(wrapper);
			index = (index == (homePromos.length - 1)) ? 0 : (index + 1);
		},
		requestHeaders:['X-Update', 'update']
	});
};

/* Stops Prototype's Periodical Executer and sets current item */
var StopAndUpdatePortfolioItem = function(event)
{
	periodicalExecuter.stop();
	UpdatePortfolioItem(event);
}

/* Highlights the current item in paging area */
var UpdatePortfolioItem = function(event)
{		
	$$('#homePaging a').invoke('removeClassName', 'active');
	event.element().addClassName('active');
}

/* Highlights the current item in paging area by index */
var AutoUpdatePortfolioItem = function()
{	
	$$('#homePaging a').invoke('removeClassName', 'active');
	$('item_' + homePromos[index]).addClassName('active');
}

document.observe('dom:loaded', function() {
	
	periodicalExecuter = new PeriodicalExecuter(function() { AutoUpdatePortfolioItem(); GetNextWork(); }, delay);
	
	$$('#homePaging a').each(function(el) {
		Event.observe(el, 'click', function() {
			periodicalExecuter.stop();
			$$('#homePaging a').invoke('removeClassName', 'active');
			el.addClassName('active');
			Effect.Fade('promoWrapper');
			Element.remove('promoWrapper');
			
			/* Ajax Request for next portfolio item */
			new Ajax.Updater(update, 'promociones/view/' + el.readAttribute('id').split('_')[1],
			{
				asynchronous:false,
				evalScripts:true,
				onComplete:function(request, json)
				{
					Effect.Appear(wrapper);
				},
				requestHeaders:['X-Update', 'update']
			});
		}, false);
	});	
});