(function($) {
	$.fn.thumbnails = function() {
	    return this.each(function() {
	        var $self = $(this);
            var $images = $('.images', $self);
            var $thumbnails = $('.thumbnails', $self);
            var $captions = $('.captions', $self);
           
            function GetImageClass(cssClass) {
                var classes = cssClass.split(' ');
                for (var i = 0 ; i < classes.length ; i++)
                {
                    if (classes[i].indexOf('image-') === 0)
                    {
                        return classes[i];
                    }
                }
                throw 'GetImageClass failed.  CssClass: ' + cssClass;
            }
           
            function ShowImage(imageClass) {
                $('li', $images).hide();
                $('li.' + imageClass, $images).show('slide', null, 500, null);
                $('li', $captions).hide();
                $('li.' + imageClass, $captions).show();
            }
           
            ShowImage('image-1');
           
            $('li a', $thumbnails).click(function() {
                var imageClass = GetImageClass($(this).parent().attr('class'));
                ShowImage(imageClass);
                return false;
            });
        });
	}
})(jQuery);