var $banners;
var banner_timeout;
var banner_delay = 4000;
jQuery.getJSON(
	'home-banners.json',
	{},
	function (data, textStatus) {
		$(data).each(function() {
			var image_url
				= 'resize.php?src=' + this.HomeBanner.image
				+ '&width=840'
				+ '&height=300'
				+ '&zc=1';
			var banner = $(
				'<div class="banner">' +
				'<a href="' + (this.HomeBanner.url ? this.HomeBanner.url : '#') + '">' +
				'<img src="' + image_url + '" alt="' + this.HomeBanner.alt_text + '" />' +
				'</a>' +
				'</div>'
			).hide();
			$("#home-banner").append(banner);
		});
		$banners = $("#home-banner .banner");
		$banners.current_index = -1;
		if (data.length > 1) {
			add_banner_controls();
			next_banner(true);
		} else {
			next_banner();
		}
	}
);
function add_banner_controls()
{
	$("#home-banner").append(
		'<ul id="home-banner-controls">' +
		'<li id="home-banner-controls-prev"><a href="#" onclick="prev_banner();return false">Previous<span></span></a></li>' +
		'<li id="home-banner-controls-pause"><a href="#" onclick="pause_banner();return false">Pause<span></span></a></li>' +
		'<li id="home-banner-controls-play"><a href="#" onclick="play_banner();return false">Play<span></span></a></li>' +
		'<li id="home-banner-controls-next"><a href="#" onclick="next_banner();return false">Next<span></span></a></li>' +
		'</ul>'
	);
	$("#home-banner-controls-play").hide();
}
function pause_banner()
{
	clearTimeout(banner_timeout);
	$("#home-banner-controls-pause").hide();
	$("#home-banner-controls-play").show();
}
function play_banner()
{
	next_banner(true);
	$("#home-banner-controls-play").hide();
	$("#home-banner-controls-pause").show();
}
function prev_banner()
{
	pause_banner();
	$($banners[$banners.current_index]).fadeOut('slow');
	$banners.current_index--;
	if ($banners.current_index < 0) {
		$banners.current_index = $banners.length - 1;
	}
	$($banners[$banners.current_index]).fadeIn('slow');
}
function next_banner(repeat)
{
	if ($banners.current_index >= 0) {
		$($banners[$banners.current_index]).fadeOut('slow');
	}
	$banners.current_index++;
	if ($banners.current_index > $banners.length - 1) {
		$banners.current_index = 0;
	}
	$($banners[$banners.current_index]).fadeIn('slow');
	if (repeat == true) {
		banner_timeout = setTimeout(function(){ next_banner(true); }, banner_delay);
	} else {
		pause_banner();
	}
}
