$().ready(function() {
	var thumbs = $('.thumbnail');

	// Wrap thumbnails in .elements sections to allow them to be paged
	var total = thumbs.length;
	var elements = 20;
	var count = 0;

	do {
		thumbs.slice(count, count + elements)
					.wrapAll('<div class="elements"/>');
	} while (total > (count = count + elements));

	// If paging, then show the pagers & wire them up
	if (total > elements) {
		$('#thumbnails #pager').show();
		$('#thumbnails #pager a').click(function() {
			moveTo($(this).hasClass('prev') ? 'prev' : 'next');
			return false;
		});
	}

	// Show the first or selected element
	thumbs.click(show)
				.filter(location.hash || "*")
				.slice(0, 1).each(show);
	$('#thumbnails .elements:first').show();
});
var show = function() {
	//get gallery item narrative
    var controllerUrl = $(this).find('input.narrative-controller-action-url').val();
    	
	$('.selected', '#thumbnails').removeClass('selected');
	$(this).addClass('selected');
		
	var img = new Image();
	img.onload = function() {
		$('#preview')
			.css('padding-top', (600 - this.height) / 2)
			.empty()
			.append($(this).fadeIn());
		
		// Append the narritive to element containing the image
		$.get(controllerUrl, function(data){
            $('#preview').append($('<div>').html(data));
        });	
	};
	$('#preview').css('padding-top','').html('<p>Loading..</p>');
	img.src = this.href;
    
	return false;
};
function moveTo(dir) {
	var cur = $('#thumbnails .current');
	cur = cur.length == 0 ? $('#thumbnails .elements:first') : cur;
	var to = cur[dir]('.elements');

	// hide old/show new
	if (to.length > 0) {
		$('.pager a').removeClass('disabled');
		cur.removeClass('current').hide();
		to.addClass('current').fadeIn().find('.thumbnail:first').each(show);
	}
	// Can't move back
	if (cur.prev().length == 0) {
		$('#pager .prev').addClass('disabled');
	}
	// Can't move forward
	if (cur.next().length == 0) {
		$('#pager .next').addClass('disabled');
	}
}
function downloadCurrentImage(downloadUrl) {
	var url = $('.thumbnail.selected').attr('href');
	url = unescape(url.substring(url.indexOf('img=') + 4, url.indexOf('&w=')));

	window.location = downloadUrl + '?img=' + url;
}
