$(document).ready(function() {
	//showPanel(0, true);
	timerID = setTimeout(advanceShow, displaytime);
});

var pendingID = 0;
var active=true;
var timerID;
var displaytime = 6000;
var fadetime = 1000;

function showPanel(id, continueshow)
{

	if (!continueshow) {
		active=false;
		clearTimeout(timerID);
	}

	var currentpanel = $(".currentpanel");

		if (currentpanel.attr('ID') != "panel-" + id)
		{
			pendingID = id;
			fadeInSpinner();
		}
		

}

function fadeInSpinner()
{
	swapPanels();
	//$('#spinnerpanel').fadeIn(fadetime, swapPanels);
}

function swapPanels()
{
	var currentpanel = $(".currentpanel");
	currentpanel = $('#' + currentpanel.attr('ID'));
	
	var panel = $("#panel-" + pendingID);
	

	panel.hide();
	
	currentpanel.addClass('oldpanel');
	currentpanel.removeClass('currentpanel');
	panel.addClass('currentpanel');
	

	//panel.show();	
	
	//currentpanel.hide();
	//currentpanel.fadeout("slow");
	//panel.show();
	//currentpanel.fadeOut(fadetime, doneFade);
	//panel.fadeIn(fadetime);
	//panel.fadeIn();
	panel.fadeIn(fadetime, doneFade);
	

	//fadeOutSpinner();
	
	if (active) timerID = setTimeout(advanceShow, displaytime);
}

function doneFade()
{
	var p = $(".oldpanel");
	var o = $(".currentpanel");
		
		
	p.hide();
	p.removeClass('oldpanel');
}

function advanceShow()
{
	active=true;
	showPanel(getNextID(), true);
}

function fadeOutSpinner()
{
	$('#spinnerpanel').fadeOut(fadetime);
	
}

function getNextID()
{
	var nextid = pendingID + 1;
	
	if ( $('#panel-' + nextid).length )
		return nextid;
	
	return 0;	
}

function getPrevID()
{
	var previd = pendingID - 1;
	
	if ( $('#panel-' + previd).length )
		return previd;
		
	return getMaxID();
}

function getMaxID()
{
	var maxindex = 0;
	
	while ($('#panel-' + maxindex).length) {
		maxindex++;
	}
	
	return maxindex-1;
}

var paused;

function pauseShow()
{
	if (!paused) {
		paused = true;
		//$('.ssnavbutton').fadeIn(fadetime);
		$('#slideshowcontroller').slideDown("fast");
		showPanel(pendingID, false);
	}
}

function resumeShow()
{
	if (paused) {
		paused=false;
		//$('.ssnavbutton').fadeOut(fadetime);
		$('#slideshowcontroller').slideUp("fast");
		advanceShow();
	}
}

function nextPanel()
{
	showPanel(getNextID(), false);
}

function prevPanel()
{
	showPanel(getPrevID(), false);	
}