var mainImageUploadPrefix = 'admin-resources/image-tools.php?w=617&h=320&src=';
            var projectsXML;
            
            var projectImageIndex = 0;
            var projectImages = new Array();
            
            $(document).ready(function() {
                $.get('admin-resources/repository/assets/photo_gallery/list.xml', {}, function(xml) {
                    projectsXML = xml;
                    showAll();
                });
            });
            
            function showAll() { 
                var projectTemplate;
                $('photo-gallery', projectsXML).each(function(index, element) {
                    projectTemplate = $('.galleryNavItem').clone();
                    $('.title', projectTemplate).text($('photo-gallery-title', this).text());
                    
                    $('.title', projectTemplate).click(function () { 
                        showProject(element);
                        return false;
                    });
                    $('.imageGallery').animate({opacity: 1.0 }, 750, "swing")
                    $(projectTemplate).show();
                    $(projectTemplate).removeClass('galleryNavItem');
                    
                    $('#galleryNav').append(projectTemplate);
                });
                
                showProject($('photo-gallery:first', projectsXML));
            }
            
            function showProject(element) { 
                var projectItemTemplate = $('.galleryFeature');
                
                $('.galleryTitle h1', projectItemTemplate).text($('photo-gallery-title', $(element)).text());
                
                projectImages = Array(); // Reset the images
                projectImageIndex = 0; // Reset to the first image
                $('photo-gallery-photos photo', $(element)).each(function (index, photo) {
                    projectImages.push(photo);
                });
                
                $(projectItemTemplate).show();
                showNewImage(projectItemTemplate, 0);
            }

            function showNewImage(projectTemplate, index) {
                var photo = $(projectImages[index]);
                $('.galleryImage img').animate({opacity: 0.0 }, 300, "swing",  function() {
	                $('.galleryImage img', $(projectTemplate))
	                    .attr('src', mainImageUploadPrefix + $('file:first', $(photo)).text())
	                    .load(function () { 
	                        $(this).animate({opacity: 1.0 }, 750, "swing");
	                    });
                });
                
                $('.galleryCaption span', $(projectTemplate))
                    .text($('caption:first', $(photo)).text());
                
                $('.next', projectTemplate)
                    .unbind('click')
                    .click(function(e) {
                    	$('.galleryImage img').stop(true, true); 
                    	e.preventDefault();
                        showNewImage(projectTemplate, index + 1);
                        return false;
                    });
                    
                $('.prev', projectTemplate)
                    .unbind('click')
                    .click(function (e) {
                    	$('.galleryImage img').stop(true, true);
                    	e.preventDefault();
                        showNewImage(projectTemplate, index - 1);
                        return false;
                    });
                
                projectImageIndex = index;
                showNextPrevLinks(projectTemplate);                
                return false;
            }
            
            function showNextPrevLinks(projectTemplate) { 
                $('.prev').hide();
                $('.next').hide();
                
                if(projectImageIndex > 0) {
                    $('.prev').show();
                }
                
                if(projectImageIndex < projectImages.length - 1 && projectImages.length > 0) {
                    $('.next').show();
                }
                
                // Update the pagenation index
                $('.imageIndex').text((projectImageIndex + 1) + ' / ' + projectImages.length);
            }