var carousel_photos;
var current_photo = -1;
var current_container = 'a';

// Jumps to the next photo in the carousel
function carouselNext() {
	current_photo ++;
	if (current_photo >= carousel_photos.length)
		current_photo = 0;
	carouselDisplayPhoto();
}

// Jumps to the previous photo in the carousel
function carouselPrevious() {
	current_photo --;
	if (current_photo < 0)
		current_photo = carousel_photos.length-1;
	carouselDisplayPhoto();
}

// Displays the current photo
function carouselDisplayPhoto() {
	current_container = current_container=='a' ? 'b' : 'a';
	$('img#carousel_photo_'+current_container).attr(
		'src', carousel_photos[current_photo].url + '?width=517&height=317&fix=width&upscale=true'
	);
}

// Starts / continues the slideshow
function slideshow() {
	carouselNext();
	setTimeout(function(){ slideshow(); }, 6000);
}

$(function(){

	$.ajax({
		url: "/photo_album/featured.json",
		dataType: 'json',
		success: function(data){
			carousel_photos = data.photos;
			slideshow();
		}
	});

	$('img#carousel_photo_a,img#carousel_photo_b').load(function(){
		// Position the new image in the center
		var width = $('#carousel_photo_'+current_container).width();
		var left = parseInt((517 - width) / 2);
		$('#carousel_photo_'+current_container).css('left', left);

		// Fade the old image out and the new image in
		var other_container = current_container=='a' ? 'b' : 'a';
		$('#carousel_photo_'+other_container).fadeOut(1500);
		$('#carousel_photo_'+current_container).fadeIn(1500);

		// Update photo and album title + url
		var title = carousel_photos[current_photo].title!=null ? carousel_photos[current_photo].title : '';
		$('#carousel_photo_title').text(title);
		$('#carousel_photo_albumtitle').text(carousel_photos[current_photo].album_title);
		$('#carousel_photo_albumtitle').attr('href', carousel_photos[current_photo].album_url);

		// TODO
		// - Update "image X of TOTAL"
	});


});

