/*
 *  Gallery Image Fade
 * --------------------
 * By Alex Eckermann
 * licensed to FloSites
 *
 * www.alexeckermann.com
 * www.flosites.com
 *
   Copyright (c) 2008 
     Alex Eckermann
 */
var root_images;
 
function loadXML(location){
	
	if(location == undefined){ error("No XML location given"); return;}
	
	$.get(location, null, parseXML);
	
}

function parseXML(data, status){
	
	if(status !== "success"){ error("XML data retrieval failed"); return;}
	
	var images = $("gallery image", data);
	
	document.galleryimages = images;
	document.galleryidx = 0;
	
	loadFirst();
	
}

function loadFirst(){
	
	changeImage($(document.galleryimages[0]).text());
	
}

function changeImage(to){
	
	error("Change To: "+to);
	
	if(to == undefined){ error("No TO image reference given"); return;}
	
	var gallery = $("#gallery-holder");
	
	var lower = $("div.holder img", gallery);
	
	if(lower[0].src == undefined){
		lower[0].src = to;
		return;
	}
	
	var upper = createUpperHolder($("div.holder"), lower[0].src);
	
	lower[0].src = to;
	
	upper.fadeOut(500, function(){
		$(this).remove();
		return;
	});

	
}

function createUpperHolder(obj, image){
	
	var upper = obj.after("<img class=\"upper\" src=\""+image+"\" width=\"100%\" height=\"100%\" />");
	
	var img = $("img.upper");

	return img;
	
}

function next(){
	
	var images = document.galleryimages;
	
	if(images.length < (document.galleryidx + 2)){
		
		changeImage($(images[0]).text());
		document.galleryidx = 0;
		return;
	}
	
	changeImage($(images[(document.galleryidx + 1)]).text());
	document.galleryidx = document.galleryidx +1;
	
}

function previous(){
	
	var images = document.galleryimages;
	
	if((document.galleryidx - 1) < 0){
		
		var last = (images.length)-1;

		changeImage($(images[last]).text());
		document.galleryidx = last;
		return;
	}
	
	changeImage($(images[(document.galleryidx - 1)]).text());
	document.galleryidx = document.galleryidx -1;
	
}


function error(message){
	
	/* Put What to do in an error state here */
	
	/* Debug for development below */
	
	
	if(document.debug == true){
		console.log(message);
	}
	
}


$(document).ready(function(){
	
	document.debug = false;
	
	loadXML("gallery.xml");
	
});