var slideshowTimeout = null;

$(function() {
    $('#slideNavigation a').bind('slideshow', function(e, manual){
    	clearTimeout(slideshowTimeout);
    	var anchor = this;
    	
    	$.getJSON(
    		$(this).attr('href'), 
    		{
    			ajax: true
    		}, 
    		function(data){
    			var img = new Image();
    			$(img)
	    			.load(function(){
						$('#frontpageBgWrapper').append('<div class="frontpageBg next" style="background-image:url(' + $(this).attr('src') + ');display:none;"><div class="slideContentWrapper">' + data.html + '</div></div>');
	    				$('#slideContentWrapper .slideContentBox').addClass('currentSlide').removeClass('nextSlide');
						var html = $(data.html);
						$(html).addClass('nextSlide').css({display: 'none'});
						$('#slideContentWrapper').append(html);
						
						if ($('#frontpageBgWrapper .frontpageBg.current').length > 0)
						{
							$('#frontpageBgWrapper .frontpageBg.current').fadeOut('fast', function(){
								$('#frontpageBgWrapper .frontpageBg.next').fadeIn('fast', function(){
									$('#frontpageBgWrapper .frontpageBg.current').remove();
									$('#frontpageBgWrapper .frontpageBg.next').removeClass('next').addClass('current');
								});
							});
						}
						else
						{
							$('#frontpageBgWrapper .frontpageBg.next').fadeIn('fast', function(){
								$('#frontpageBgWrapper .frontpageBg.current').remove();
								$('#frontpageBgWrapper .frontpageBg.next').removeClass('next').addClass('current');
							});
						}
						
	    				$('.current', $(anchor).parent().parent()).removeClass('current');
	    				$(anchor).parent().addClass('current');
						if (!manual)
	    				{
	    					initSlideshow();
	    				}
	    			})
	    			.attr('src', data.background);
    		}
    	);
    });
    $('#slideNavigation a').click(function(e){
    	e.preventDefault();
    	if (!$(this).parent().hasClass( 'current' ))
		{
			$(this).trigger('slideshow', true);
		}
    });
    
    initSlideshow();
});

function initSlideshow()
{
	slideshowTimeout = setTimeout(function(){
		var next = $('a', $('#slideNavigation .current a').parent().next());;
		if (next.length == 0)
		{
			next = $('#slideNavigation a:first');
		}
		if (next.length > 0)
		{
			$(next).trigger('slideshow', false);
		}
	}, 7000);
}

