var images = null;
var currentImageNode = null;
var currentImage = 0;
var prevImage = 0;

Event.observe(window,"load",function(){
	setupFondos();
	
	//	Setup the current image to be matched to the current page (stops loading page 40.php (from bookmarks), with image from page 01.php)
	currentImage = location.href.substring(location.href.lastIndexOf("/")+1,location.href.lastIndexOf(".php"));
	currentImage = (isNaN(currentImage)) ? 1 : currentImage;
	
	activateButtons();
	
	findImages(city,true);
});

function activateButtons()
{
	var prev = $("prev-button");
	var next = $("next-button");
	
	if(!prev || !next) return;
	
	prev.onclick = previousImage;
	next.onclick = nextImage;
}

function deactivateButtons()
{
	var prev = $("prev-button");
	var next = $("next-button");
	
	if(!prev || !next) return;

	prev.onclick = preventAction;
	next.onclick = preventAction;
}

function previousImage(event)
{
	deactivateButtons();
		
	closeFondo(event);
		
	if(currentImage != 1){
		prevImage = currentImage;
		currentImage--;
		showImage();
	}else{
		activateButtons();
	}
	
	return stopBubble(event);
}

function nextImage(event)
{
	deactivateButtons();
	
	closeFondo(event);
	
	if(currentImage != images.length){
		prevImage = currentImage;
		currentImage++;
		showImage();
	}else{
		activateButtons();
	}
		
	return stopBubble(event);
}

function findImages(city,preventReload)
{
	try{
		var options = {
			method: "get",
			parameters: {"city": city},
			asynchronous: true,
			onSuccess: function(t){
				images = t.responseJSON;
				
				for(var a=0;a<images.length;a++){
					images[a] = images[a].substring(images[a].indexOf("/"));
				}
				
				if(images && images[0] == "ERROR") this.onFailure(t);
				else{
					if(preventReload == null) showImage();
				}
			},
		
			onFailure: function(t){
				location.href = "index.php";
			}
		};
		
		var ajax = new Ajax.Request("lib/gallery-find-images.php",options);
	}catch(e){
		location.href = "las-motos.php";
	}
}

function showImage()
{
	if(images){
		if(currentImageNode == null){
			currentImageNode = $("image-object");
			currentImageNode.id = "";
		}
		
		var imageContainer = $("gallery-image");
		if(imageContainer){
			imageLoad = false;
			
			var i = $(document.createElement("IMG"));
			
			i.onload = function()
			{
				imageLoad = true;
				
				fadeOut(currentImageNode,function(){
					imageContainer.removeChild(currentImageNode);
					currentImageNode = i;
					
					var counter = $("image-counter");
					if(counter) counter.innerHTML = currentImage.toPaddedString(2)+" / "+images.length;
					
					var prev = $("prev-button");
					prev.href="/galeria/albacete/"+(currentImage-1).toPaddedString(2)+".php";
					
					var next = $("next-button");
					next.href="/galeria/albacete/"+(currentImage+1).toPaddedString(2)+".php";
				});
				
				fadeIn(i,function(){ activateButtons(); });
			};
		
			var imageTimeout = setTimeout(function(){
				if(imageLoad == false){
					i.onload = null;
					imageContainer.removeChild(i);
					currentImageNode.id = "image-object";
					activateButtons();
					currentImage = prevImage;
				}
			},10000);
			
			imageContainer.appendChild(i);
			i.setOpacity(0);
			i.src = images[currentImage-1];
			i.alt = "";
			i.id = "image-object";
		}else{
			activateButtons();
		}
	}
}
