﻿// Javascript carousel for the folio on pancetta.com.au
// Degrades gracefully if no javascript to a list of sites
// Requires jQuery v1.3.2

var arraySize = parseInt($("#arraySize").html());

var initialSite = 0;
var currentSite = initialSite;

// hide all the folio elements
for (i=0;i<arraySize;i++)
{
var siteID = "#site" + i;
$(siteID).css("display","none");
}

// show navigation buttons
$("#nextSite").css("display","block");
$("#previousSite").css("display","block");

// show thumbnails
$("#folioThumbnails").css("display","block");

// program navigation buttons
$("#nextSite").click(function() {
	carousel("nextSite");
});
$("#previousSite").click(function() {
	carousel("previousSite");
});

// returns only the numerals in a string
function hasNumerals(stringInQuestion)
{
	var letters = /[^0-9]/gi;
	var numerals = stringInQuestion.replace(letters,"");
	if (numerals == "")
	{
		return null;
	}
	else
	{
		return parseInt(numerals);
	}
}

// carousel function - args are 'site#', 'previousSite' or 'nextSite'
function carousel(directive)
{
	// if the current site is requested, nothing happens
	if (directive != currentSite)
	{
		var currentSiteID = "#site" + currentSite;
		$(currentSiteID).fadeOut("slow");

		if (directive == "nextSite")
		{
			var nextSite = (currentSite + 1) % arraySize;
			var nextSiteID = "#site" + nextSite;
			$(nextSiteID).fadeIn("slow");

			currentSite = nextSite;
		}
		else if (directive == "previousSite")
		{
			var previousSite = (currentSite - 1 + arraySize) % arraySize;
			var previousSiteID = "#site" + previousSite;
			$(previousSiteID).fadeIn("slow");

			currentSite = previousSite;
		}
		else
		{
			var directiveSiteID = "#site" + directive;
			if ($(directiveSiteID))
			{
				$(directiveSiteID).fadeIn("slow");
				currentSite = directive;
			}
		}
	}
	return null;
}

// main
$(document).ready(function()
{
	$('head').append('<link rel="stylesheet" href="/css/carousel.css" type="text/css" />');
	var initialSiteID = "#site" + initialSite;
	$(initialSiteID).fadeIn("slow");
}
);