// global
var promoInterval = undefined;
var timeInterval = 10000;

$j(document).ready(function() {
	
	var promotions_divs 	= $j('div', $j('div#contentPromo1'));
	var rotationBtns_div 	= $j('div#rotationCount');
	var promoCount 			= promotions_divs.length;
	
	// set the count of promotions on the rotation buttons container
	rotationBtns_div.data('promoCount', promoCount);
	
	// start interval
	promoInterval = setInterval(swapPromo, timeInterval);
	
	var i = 0;
	// loop in promotions
	promotions_divs.each(function()
	{
		var id = $j(this).attr('id');
		id = id.substring(20);
		
		// create button
		var btn_html = document.createElement('div');
		var btn_html = $j(btn_html);
		btn_html.attr( 'id', 'home_carousel_rotation_btn_'+( i + 1 ) );
		btn_html.text( ( i+1 ) );
		btn_html.data('promo', $j(this));
		btn_html.data('number', (i+1));
		
		if(i == 0) // first button
			btn_html.addClass('home_carousel_rotation_btn_selected');
		else // others
		{
			$j(this).hide();
			btn_html.addClass('home_carousel_rotation_btn');
			// add Event on button
			addEventOnCarouselRotationButton(btn_html);
		}
		
		// add to DOM
		rotationBtns_div.append(btn_html);
		
		i++;
	});
	
});

function addEventOnCarouselRotationButton(btn)
{
	btn.click(function(){
		
		// Stop interval
		clearInterval(promoInterval);
		
		var rotationBtns_div = $j('div#rotationCount');
		var selected_btn = $j('div.home_carousel_rotation_btn_selected', rotationBtns_div);
		
		// change class on old selected btn
		selected_btn.removeClass('home_carousel_rotation_btn_selected').addClass('home_carousel_rotation_btn');
		addEventOnCarouselRotationButton(selected_btn);
		
		// hide last showed promo
		selected_btn.data('promo').hide();
		
		// change class on new selected btn
		$j(this).removeClass('home_carousel_rotation_btn').addClass('home_carousel_rotation_btn_selected');
		$j(this).unbind('click');
		
		// show new selected promotion
		$j(this).data('promo').show();
		// restart interval
		promoInterval = setInterval(swapPromo, timeInterval);
		
	});
}

function swapPromo()
{
	
	var rotationBtns_div = $j('div#rotationCount');
	var selected_btn = $j('div.home_carousel_rotation_btn_selected', rotationBtns_div);
	
	// get promotions count
	var promo_count = rotationBtns_div.data('promoCount');
	
	// get the current promotion number
	var current_promo_number = selected_btn.data('number');
	
	// get next promotion number
	var next_promo_number = (current_promo_number >= promo_count) ? 1 : current_promo_number + 1;
		
	var to_select_btn = $j('div#home_carousel_rotation_btn_' + next_promo_number);
	
	// Trigger new promo event
	to_select_btn.click();
	
}
