// slideshow
(function($) {
	// get all of the slides
	var $caption = $('#SlideshowCaption');
	var $frame = $('#SlideshowFrame');
	var $slides = $frame.find('.slide');
	var $dots = $('#SlideshowNav .dot');
	var $currentSlide;
	
	// setup slides
	var w = $slides.first().outerWidth();
	$frame.css('width', w * $slides.length);
	$slides.css({position:'absolute', top:0}).each(function(i){
		$(this).data('dot', $dots.filter('[rel='+$(this).attr('rel')+']'));
		$(this).css('left', w * i)
	});
	
	// setup dots
	$dots.click(function(){
		changeToSlide($(this).data('slide'));
	}).each(function(){
		$(this).data('slide', $slides.filter('[rel='+$(this).attr('rel')+']'));
	});
	
	// setup first slide
	var $s = $slides.first();
	$s.css('left', '0%');
	$caption.html($s.attr('alt'));
	$s.data('dot').css('background-position', '0% 0%');
	$currentSlide = $s;
	
	// start animating slides
	if (SCROLL_SETTINGS.interval) {
		var interval_counter = 0;
		var interval_id = setInterval(function() {
			interval_counter++;
			var index = interval_counter % $slides.length;
			changeToSlide($slides.eq(index));
		}, SCROLL_SETTINGS.interval + SCROLL_SETTINGS.speed);
		$dots.one('click', function(){ clearInterval(interval_id); });
	}
	
	function changeToSlide($slide) {
		if ($slide == $currentSlide) return;
		
		// animate slides
		$frame.stop().animate({left:$slide.position().left * -1}, SCROLL_SETTINGS.speed);
		
		// animate caption
		$caption.animate({opacity:0}, SCROLL_SETTINGS.speed/2, function(){ $caption.html($slide.attr('alt')).animate({opacity:1}, SCROLL_SETTINGS.speed/2); });
	
		// animate dots
		$currentSlide.data('dot').stop().animate({backgroundPosition:'0px 8px'}, SCROLL_SETTINGS.speed);
		$slide.data('dot').stop().animate({backgroundPosition:'0px 0px'}, SCROLL_SETTINGS.speed);

		$currentSlide = $slide;
	}

})(jQuery);

