var clear_label = function(slide) {
	slide.children('div.label:first-child').css(label_on_deck);
	slide.children('div.label:nth-child(2)').css(label_on_deck_down);
};
var clear_all_labels = function() {
	$('.slideshow div.slide').each(function() {
		clear_label($(this));
	});
};
var isLastSlide = function(opts) {
	return (opts.currSlide >= (opts.slideCount-1));
}


var label_on_deck = {top:'211px',textIndent:'260px',opacity:0,display:'block',width:'884px'};
var label_on = {textIndent:'30px',opacity:1};
var label_off = {textIndent:'-200px',opacity:0,'width':'684px'};
var label_up_out = {top:'180px',opacity:0};
var label_up_in = {top:'211px',opacity:1};
var label_on_deck_down = {textIndent:'30px',top:'232px',opacity:0,display:'none',width:'884px'};

$(document).ready(function() {

	$.fn.cycle.defaults.started = false;
	clear_all_labels();

	$('.slideshow').cycle({		  
		fx: 'scrollLeft',
		easing: 'easeOutCubic',
		speed: 2500,
		slideExpr: '.slide', 
		autostop: 3,
		timeout: 4000,
		timeoutFn: function(currSlideElement, nextSlideElement, opts, forwardFlag) {
			return (isLastSlide(opts)) ? 15000 : 4000 ;
		},
		before: function(currSlideElement, nextSlideElement, opts, forwardFlag) {
			if(opts.started) {
				$(currSlideElement).children('div.label').animate(label_off, {
					duration: 1500,
					easing: 'easeOutCubic'
				});
			} else {
				opts.started = true;	
			}
			$(nextSlideElement).children('div.label:first-child').animate(label_on, {
				duration: 2500,
				easing: 'easeOutCubic'
			});
			
		},
		after: function(currSlideElement, nextSlideElement, opts, forwardFlag) {
			
			if(isLastSlide(opts)) {
				$(nextSlideElement).children('div.label:first-child').delay(2750).animate(label_up_out, {
					duration: 1000,
					easing: 'easeOutCubic'
				});
				$(nextSlideElement).children('div.label:nth-child(2)').css('display','block');
				$(nextSlideElement).children('div.label:nth-child(2)').delay(3000).animate(label_up_in, {
					duration: 1000,
					easing: 'easeOutCubic'
				});
			}
			clear_label($(opts.elements[opts.lastSlide]));
		}
	});
});
