$(function() {
	var prefix = "img/galleries/";
	var url = prefix + "imagelist.php";
	
	$.get(url, {'directory': 'homeCarouselMain'}, function(main_imgs, textStatus) {
		$.get(url, {'directory': 'homeCarouselSide'}, function(side_imgs, textStatus) {
			carousel(prefix, main_imgs, side_imgs);
		}, 'json');
	}, 'json');

});

function carousel(prefix, main_imgs, side_imgs) {
	if(main_imgs && side_imgs && main_imgs.length > 0 && side_imgs.length > 0) {
		var new_main = new Image();
		var new_side = new Image();
		var loaded = 0;
		var new_main_index = 0, new_side_index = 0;
		var timer;
		var speed = 6000;
		var $mainAndSide = $('#carouselMainImage, #carouselSideImage');
		var $main = $('#carouselMainImage');
		var $side = $('#carouselSideImage');
		
		// hide navigation if only one image
		if(main_imgs.length <= 1 && side_imgs.length <= 1) {
			$('#carouselNavLeft, #carouselNavRight').hide();
		}
		
		// change the actual images
		new_main.onload = new_side.onload = function() {
			if(++loaded == 2) { // both side and main loaded
				loaded = 0;
				clearTimeout(timer);
				
				$mainAndSide.fadeOut(0, function() {
					$main.attr('src', new_main.src);
					$side.attr('src', new_side.src);
					$mainAndSide.fadeIn(0);
				});
				
				timer = setTimeout(change_imgs, speed);
			}
		};
		
		// load new images
		var change_imgs = function(direction) {
			if(direction == "back") {
				if(--new_main_index < 0) { new_main_index = main_imgs.length - 1; }
				if(--new_side_index < 0) { new_side_index = side_imgs.length - 1; }
			} else {
				if(++new_main_index >= main_imgs.length) { new_main_index = 0; }
				if(++new_side_index >= side_imgs.length) { new_side_index = 0; }
			}
			new_main.src = prefix + main_imgs[new_main_index];
			new_side.src = prefix + side_imgs[new_side_index];
		};
		
		// navigation
		$('#carouselNavLeft').click(function() {
			clearTimeout(timer);
			timer = setTimeout(function() { change_imgs("back"); }, 1);
		});
		$('#carouselNavRight').click(function() {
			clearTimeout(timer);
			timer = setTimeout(change_imgs, 1);
		});

		// kick off the process
		// $main.attr('src', prefix + main_imgs[0]);
		// $side.attr('src', prefix + side_imgs[0]);
		timer = setTimeout(change_imgs, speed);
	}
}
