/* ===========================================================================
 * Filename: javascript/functions
 * Author: Rebecca Skeers, rebecca@webmistress.com.au, www.webmistress.com.au
 * Copyright: Rebecca Skeers
 * Date: 1 Aug 2009
 * Description: Contains javascript functions for the Steven Goddard Design website.
 *
 * This file may not be used for any purpose other than for the Steven Goddard Design
 * website and may not be modified without written permission from the author.
 * =========================================================================== 
 */

/* General */
$(document).ready(function()
{	
	$("a[rel='external']").attr("target","_blank");
});

/* Subnavigation*/
$(document).ready(function() 
{
	$("#subnav li.current").parent().siblings().removeClass('current');
	$("#subnav li.current").parent().addClass('current');
	
	$("#subnav a.prev").click (
		function()
		{
			$(this).closest("ul").removeClass('current'); 
			$(this).closest("ul").prev().addClass('current'); 
		}
	);
	
	$("#subnav a.next").click (
		function()
		{
			$(this).closest("ul").removeClass('current'); 
			$(this).closest("ul").next().addClass('current'); 
		}
	);
});

/* Portfolio gallery */
$(document).ready(function() 
{
	$("#gallery li").addClass("hidden");
	$("#gallery li").removeClass("current"); 
	var gallerySize = $("#gallery li").size();
	
	if(gallerySize>1)
	{
		$("#intro").append("<div id=\"pagination\"></div>");
		$("#pagination").append("<ul></ul>");
		$("#gallery li").each(
			function( intIndex )
			{
				var anchorNumber = intIndex<9 ? '0'+(intIndex+1) : (intIndex+1);
				this.id = anchorNumber;
				
				var paginationLink = $("<li><a href=\"#"+anchorNumber+"\">"+anchorNumber+"</a></li>");
				$("#pagination ul").append(paginationLink);
				$(paginationLink).click (
					function()
					{
						$("#pagination li").removeClass("current");
						$("#pagination li a[href='#"+anchorNumber+"']").closest("li").addClass("current");
						$("#gallery li").addClass("hidden"); 
						$("#gallery li").removeClass("current");
						$("#gallery li").eq(intIndex).addClass("current");
						$("#gallery li").eq(intIndex).removeClass("hidden");
						return false;
					}
				);
				
				var hashNum = document.location.hash;
				if(!hashNum) hashNum = '#01';
				$("#pagination li").removeClass("current");
				$("#pagination li a[href='"+hashNum+"']").closest("li").addClass("current");
			}
		);
	}
	
	var hashNum = document.location.hash;
	if(!hashNum) hashNum = '#01';
	$("#gallery li"+hashNum).addClass("current");
	$("#gallery li"+hashNum).removeClass("hidden");
});

/* Site credits */
$(document).ready(function() 
{
	$("#credits ul").hide();
	$("#credits").hover(
		function () 
		{
			$("#credits ul").show();
		},
		function()
		{
			$("#credits ul").hide();
		}
	);
});
