function changeImage(){
	var anchor = this;
	var galleryId = anchor.getParent('li').get('class');
	var numberNavigation = anchor.getParent('ul');
	var listElements = numberNavigation.getChildren('li');
	listElements.each(
		function(element){
			element.getChildren('a')[0].className = '';
		}
	);
	$(galleryId).get('morph').start( { 'opacity': 0 } ).chain(
		function(){
			var filename = anchor.get('rel').split('#')[0];
			var copyright = anchor.get('rel').split('#')[1];
			$(galleryId).set('src',filename);
			$(galleryId).set('title',copyright);
			var imagePreload = new Asset.images(filename,
				{
					onComplete: function(){
						$(galleryId).set('index', (anchor.get('html')*1-1));
						$(galleryId).get('morph').start( { 'opacity': 1 } );
						anchor.className = 'active';
					}
				}
			);			
		}
	);
	return false;
}

function showNextImage(){
	var image = this;
	var currentGalleryImage = image.get('index');
	currentGalleryImage++;
	var parentDiv = image.getParent('div');
	var numberNavigation = parentDiv.getElement('.numberNavigation');
	var anchors = numberNavigation.getElements('a');
	if(anchors[currentGalleryImage]){
		var fx = changeImage.bind(anchors[currentGalleryImage]);
		fx.delay(1);
	}else{
		currentGalleryImage = 0;
		var fx = changeImage.bind(anchors[0]);
		fx.delay(1);
	}
	image.set('index', currentGalleryImage);
}

function setGalleryFunctions(){
	if($$('.numberNavigation').length > 0){
		var numberNavigation = $$('.numberNavigation');
		var num_numberNavigation = numberNavigation.length;
		var anchor;
		var elements;
		var num_elements;
		var parentDiv;
		var image
		for(var i=0;i<num_numberNavigation;i++){
			elements = numberNavigation[i].getChildren('li');		
			num_elements = elements.length;
			for(var j=0;j<num_elements;j++){
				anchor = elements[j].getChildren('a')[0];
				anchor.addEvent('click',changeImage.bind(anchor));
			}
			parentDiv = numberNavigation[i].getParent('div');
			image = parentDiv.getElement('img');
			image.set('galleryIndex', 0);
			if(elements.length > 0){
				image.addEvent('click', showNextImage.bind(image));
			}
		}
	}
}

window.addEvent('domready',
	function(){
		setGalleryFunctions();
	}
);