$(document).ready(function() { 

//user input # of seconds
var timePerSlide = 7

//----------------------------------------------------------//

//timing
var timing = timePerSlide * 1000 * 20;
//datasets
$('ul.switcher li').each(function(){
var number = $('ul.switcher').children('li').index(this);
var number1 = number + 1;
$(this).data('num', number);
$(this).find('a').data('anum', number);
$(this).find('a').data('num1', number1);
});


//fire progress bar
animateBar(100, timing);

//pause slideshow
$('.pause').live('click',function(){
	$(this).hide();
	$('.play').show().addClass('paused');
	$('.shown').stop();
});

//play slideshow
$('.play').live('click',function(){
	$('.play').hide().removeClass('paused');
	$('.pause').show();
	var posit = $('.active').data('anum');
	//restart progress bar animation
	keepGoing(posit);
});

//sub box hover function
$('.slideshow ul.slideset li').live('mouseenter', function(){
	$(this).find('.black-box').stop(false,true).animate({right: "0"});
});
$('.slideshow ul.slideset li').live('mouseleave', function(){
	$(this).find('.black-box').stop(false,true).animate({right: "-300px"});
});

//click switcher
function progressSwitch(trigger, target){
	var slideNum = $(target).data('num1');
	var slideTarget = $('.slideshow ul.slideset li.link' + slideNum);
	$(slideTarget).fadeIn().siblings().fadeOut();
	$('.slideshow ul.slideset li').not(slideTarget).fadeOut();
	$(target).addClass('active');
	$(trigger).removeClass('active');
}

//active switch handler
$('.switcher-holder ul li a').live('click', function(event){
	event.preventDefault();
	//stop current animation	
	var posit = $(this).data('anum');
	var doit = posit * 5;
	$('.activeArrow').stop(true,false).animate({left: doit + '%'}, { duration: "medium" });
	$('.shown').stop(true,false).animate({width: doit + '%'});
	//toggle active state
	var trigger = $('.switcher-holder ul li a').not(this);
	var target = $(this);
	progressSwitch(trigger, target);
	//restart progress bar animation
	if ( $('.play').hasClass('paused') ) {
		$('.pause').hide();
		$('.play').fadeIn('slow');
	}
	else {
		keepGoing(posit);
	}
});

//keep going
function keepGoing(posit){
var retime = timing / 20 * (20 - posit);
animateBar(100, retime);
}

//animate progress bar from current state to 100%
function animateBar(progress, time){
	//var barProgress = $('.shown').css('width');
	$('.shown').animate({width: progress+'%'}, {
						duration: time,
						easing: "linear",
						step: function(progress){
						var adjusted = Math.ceil(progress) - 1;
						if ( adjusted % 5 == 0 ) {
							var hesitate = time / 114;
							var firePoint = adjusted / 5 + 1;
							var target = '.switcher-holder ul li a.link' + firePoint;
							var trigger = $('.switcher-holder ul li a').not(target);
							var posit = $(target).data('anum');
							var newpos = posit * 5 
							$('.activeArrow').stop(true,false).animate({left: newpos + '%'}, { duration: "fast" });
							progressSwitch(trigger, target);
							}
						if (Math.ceil(progress) == 100 ) {
							$('.switcher-holder ul li a.link1').trigger('click');
						}
					}
				}
			);
};
}); 

