jQuery(function($) {
	var preload;	// image preloader
	var numThumbs = 7;	// number of thumbnails shown
	
	var $full = $('#full');
	var $thumbs = $('.thumbnails');
	
	// set up caption
	$full.after('<div id="fullcaption"></div>');
	var $caption = $('#fullcaption');
	
	// set up navigation
	$thumbs.before('<a class="prev"></a>');
	$thumbs.after('<a class="next"></a>');
	
	$('ul.items a').click(function() {
		// fixes bizarre IE bug where the picture never reappears
		// when clicking on the active thumbnail
		if($(this).parent().hasClass('active'))
			return false;
		
		var activeImage = $(this).attr('href');
		var activeTitle = $(this).find('img').attr('alt');
		$full.find('img').fadeOut(100, function() {
			$full.addClass('imgLoading'); // show loading .gif while we wait
			preload = new Image(); // for caching
			preload.alt = activeTitle;
			preload.onload = function() {
				$full.removeClass('imgLoading');
				$full.find('img').attr({
					src: preload.src,
					alt: preload.alt
				}).fadeIn(400);
				$caption.html('<p>' + activeTitle + '</p>');
			};
			preload.src = activeImage;
		});
		
		$(this).parent().click(); // activate li behind link for scrolling
		return false;
	});
	
	// set up scrolling filmstrip, relies on jQuery Tools
	$thumbs.scrollable({size:numThumbs});
	
	// click the first picture initially, 
	// or the number after the 'start' parameter in the URL (if any)
	var first = $thumbs.find('.items li:first a');
	var start = window.location.search.indexOf("start");
	if(start >= 0) {
		var endStart = window.location.search.indexOf("&", start);
		if(endStart < 0) { endStart = window.location.search.length; }
		var pos = parseInt(window.location.search.substring(start, endStart).replace(/[^0-9]/g, ""));
		if(!isNaN(pos)) {
			pos--;
			if(pos > 0 && pos < $thumbs.find('.items li').size()) {
				first = $thumbs.find('.items li').eq(pos).find('a');
			}
		}
	}
	$(first).click();
});
