		$(document).ready(function() {		
			
			//Execute the slideShow
			slideShow();
		
		});
		
		function slideShow() {
		
			//Set the opacity of all images to 0
			$('#gallery a').css({opacity: 0.0});
			
			//Get the first image and display it (set it to full opacity)
			$('#gallery a:first').css({opacity: 1.0});
			
			//Set the caption background to semi-transparent
			$('#gallery .caption').css({opacity: 0.9});
		
			//Resize the width of the caption according to the image width
			$('#gallery .caption').css({width: $('#gallery a').find('img').css('width')});
			
			//Get the caption of the first image from rel attribute and display it
			$('#gallery .content').html($('#gallery a:first').find('img').attr('rel'))
			.animate(400);
			
			//Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
			setInterval('gallery()',11000);
			
		}
		
		function gallery() {
			
			//if no IMGs have the show class, grab the first image
			var current = ($('#gallery a.show')?  $('#gallery a.show') : $('#gallery a:first'));
		
			//Get next image, if it reached the end of the slideshow, rotate it back to the first image
			var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $('#gallery a:first') :current.next()) : $('#gallery a:first'));	
			
			//Get next image caption
			var caption = next.find('img').attr('rel');	
			
			//Set the fade in effect for the next image, show class has higher z-index
			next.css({opacity: 0.0})
			.addClass('show')
			.animate({opacity: 1.0}, 1000);
		
			//Hide the current image
			current.animate({opacity: 0.0}, 1000)
			.removeClass('show');
			
			//Set the opacity to 0 and height to 1px
			$('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:50 }).animate({height: '1px'}, { queue:true, duration:300 });	
			
			//Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
			$('#gallery .caption').animate({opacity: 0.9},100 ).animate({height: '100px'},8000 );
			
			//Display the content
			$('#gallery .content').html(caption);
			
		}
		
		sfHover = function() {
			var sfEls = document.getElementById("nav").getElementsByTagName("LI");
			for (var i=0; i<sfEls.length; i++) {
				sfEls[i].onmouseover=function() {
					this.className+=" sfhover";
				}
				sfEls[i].onmouseout=function() {
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
		}
		if (window.attachEvent) window.attachEvent("onload", sfHover);

