(function($) {
	$.fn.photo_album_gallery = function(callerSettings){
		
		var settings;
		settings = $.extend({
    		prev_link: '.PrevLink',
			next_link: '.NextLink',
			prev_hover: '#PageTurnLeft',
			next_hover: '#PageTurnRight',
			fade_speed: 'normal'
    	},callerSettings||{});

		var $photo_container = $(this);	
				
		var $no_image = $(this).children().length;
		
		if ($no_image == 1) {
			$(settings.prev_link).css('display','none');
			$(settings.next_link).css('display','none');
			$(settings.prev_hover).css('display','none');
			$(settings.next_hover).css('display','none');
		};
		
		$(this).find('img:first').css('display','block');
		
		settings.next_link = $(settings.next_link);
		settings.prev_link = $(settings.prev_link);
		
		settings.next_link.bind('click', goNext);
		settings.prev_link.bind('click', goPrevious);
				
		function goNext() {
			var $current_image = $photo_container.find('img:first');
			$current_image.fadeOut(settings.fade_speed).next().fadeIn(settings.fade_speed);
			$current_image.appendTo($photo_container);
		};
		
		function goPrevious() {
			var $current_image = $photo_container.find('img:first');
			var $next_image = $photo_container.find('img:last');
			$current_image.fadeOut(settings.fade_speed);
			$next_image.prependTo($photo_container).fadeIn(settings.fade_speed);
		};
		
		settings.prev_hover = $(settings.prev_hover);
		settings.next_hover = $(settings.next_hover);
		
		settings.prev_link
		.bind('mouseover', function(){
			settings.prev_hover.css('display','inline');
		})
		.bind('mouseout', function(){
			settings.prev_hover.css('display','none');
		});
		
		settings.next_link
		.bind('mouseover', function(){
			settings.next_hover.css('display','inline');
		})
		.bind('mouseout', function(){
			settings.next_hover.css('display','none');
		});
	
	}
})(jQuery);
