$(document).ready(function() {

	// Variables
	var element_width = 240;
	var elements_per_set = 4;
	var container = $('#promo-scroll');
	var dip_nav = $(container).find('.dip-nav');
	var total = $('#promo-scroll .promo-scroll-item').size();
	var selected = 0;
	
	// Hide unseen elements
	$('#promo-scroll .promo-scroll-item').slice(4,total).css({
		opacity: 0
	});
	
	// Create dip-nav
	for(i=0;i<$('#promo-scroll .promo-scroll-item').size();i++) {
		if(i%elements_per_set==0) 
			$(dip_nav).append('<li '+(i==0 ? 'class="on"' : '')+' id="'+i+'"><a class="dip-nav-link" href="#"></a></li>');
	}
	
	// Position dip-nav
	var center = ($(container).width()/2) - ($(dip_nav).width()/2);
	$(container).find('.dip-nav').css({left: center});
	
	// Arrow Event & Promo Rotation
	var stopAutoRotation = function(){
		if(document.promoRotateInterval) clearInterval(document.promoRotateInterval);
		document.promoRotateInterval = 0;
	}
	var arrowScroll = function(e) {
		
		var action = 'next';
		if(typeof(e) == 'object') {
			action = $(e.target).closest('a').attr('name');
			stopAutoRotation();
		}
		
		if(action == 'prev') {
			if( $(dip_nav).find('li:first').hasClass('on') )
				$(dip_nav).find('li:last').trigger('click');
			else
				$(dip_nav).find('li.on').prev().trigger('click');
		}
		
		if(action == 'next') {
			if( $(dip_nav).find('li:last').hasClass('on') )
				$(dip_nav).find('li:first').trigger('click');
			else
				$(dip_nav).find('li.on').next().trigger('click');
		}
		
		return false;
	};
	$(container).find('.promo-scroll-left, .promo-scroll-right').live('click', arrowScroll);
	if(promoRotate == 'True'){
		document.promoRotateInterval = setInterval(arrowScroll, parseInt(promoInterval));
	}
	
	// Nav-link Event
	$(dip_nav).find('li').live('click', function(e) {
		
		if(e.originalEvent) stopAutoRotation();
		
		// Set Selection
		selected = $(this).attr('id');
		var index = $(this).index();
		
		// Change state
		$(dip_nav).find('li').removeClass('on');
		$(this).addClass('on');
		
		// Show all elements
		$('#promo-scroll .promo-scroll-item').slice(index*4,(index*4)+4).animate({
			opacity: 1
		});
		
		// Hide left elements
		$('#promo-scroll .promo-scroll-item').slice(0,index*4).animate({
			opacity: 0
		});
		
		// Hide right elements
		$('#promo-scroll .promo-scroll-item').slice((index*4)+4,total).animate({
			opacity: 0
		});
		
		// Animate list
		$('#promo-scroll .item_container').animate({
			left:	-(element_width*selected),
			easing: 'swing'
		});
		
		return false;
		
	});

});
