$(function(){

	var itemsShown = 0;
	var itemsCount = $("#promo > *").size();
	var firstItem = $("#promo > *").eq(0).clone();
	$('#promo').append(firstItem);

	var flashWidth = $("#flash-content").width();
	var scrollWidth = $("#promo > *").eq(0).width();
	var promoSlide = $('#promo').jScrollPane({
		hideFocus: true,
		animateScroll: true,
		animateDuration: 2000
	});
	var promoSlideApi = promoSlide.data('jsp');
	var promoClickPrev = $('#promo-control-prev');
	promoClickPrev.click(function(e){
		e.preventDefault();
		$(this).promoPause();
		$(this).promoPrev();
	});
	$.fn.promoPrev = function() {
		if (itemsShown == 0) {
			itemsShown = itemsCount;
		}
		promoSlideApi.scrollTo( --itemsShown * flashWidth, 0);
	}

	var promoClickNext = $('#promo-control-next, #promo-control-white');
	promoClickNext.click(function(e){
		e.preventDefault();
		$(this).promoPause();
		$(this).promoNext();
	});	
	$.fn.promoNext = function() {
		++itemsShown;
		if (itemsShown == itemsCount) {
			itemsShown = 0;
		}
		promoSlideApi.scrollTo( itemsShown * flashWidth, 0);
	}

	/* If window size was changed */
	var pageOffsetCache = 0;
	$(window).resize(function(){
		var pageOffset = Math.round(($('body').width() - $('#wrapper').width()) / 2);
		pageOffset += 20; // Wrapper fix
		if (pageOffsetCache == pageOffset) {return;}
		pageOffsetCache = pageOffset;
		$("#flash-box").width(flashWidth + pageOffset);
		$("#promo-control-white").width(pageOffset);
		promoSlideApi.reinitialise();
	});
	$(window).trigger('resize');

	/* Play/stop code */
	var buttonPlay  = $("#promo-control-play");
	var buttonPause = $("#promo-control-pause");
	var playAction = false;
	
	$.fn.promoPlay = function() {
		buttonPlay.hide();
		buttonPause.show();
		playAction = window.setInterval(function(){
			$(this).promoNext();
		}, 8000);
	}
	
	$.fn.promoPause = function(){
		buttonPlay.show();
		buttonPause.hide();		
		window.clearInterval(playAction);
	}
	buttonPlay.click(function(){
		$(this).promoPlay();
	});
	buttonPause.click(function(){
		$(this).promoPause();
	});
	
	/* Start playing */
	buttonPlay.click();
		
}); 
