// JavaScript Document
var xmlDoc;
var xml;
var currImage;
var currGallery;

function init(){
	xml=loadXMLDoc("gallery.xml");
	first();
}

function loadXMLDoc(dname){
	var xmlDoc;
	if (window.XMLHttpRequest){
		xmlDoc=new window.XMLHttpRequest();
 		xmlDoc.open("GET",dname,false);
 		xmlDoc.send("");
  		return xmlDoc.responseXML;
  	}
	else if (ActiveXObject("Microsoft.XMLDOM")){
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  		xmlDoc.async=false;
  		xmlDoc.load(dname);
  		return xmlDoc;
  	}
	alert("Error loading document");
	return null;
}

function first(){
	currGallery = xml.getElementsByTagName("gallery")[0];
	currImage = currGallery.getElementsByTagName("picture")[0];
	showImage();
}

function showImage()
{
	document.getElementById('gallery').innerHTML=currGallery.getElementsByTagName("name")[0].textContent;
	document.getElementById('imageviewer').src="pictures/"+currGallery.getElementsByTagName("name")[0].textContent+"/"+currImage.textContent;
}

function next(){
	currImage = getNextSibling(currImage);
	if(currImage==null)
		firstImage();
	else
		showImage();
}

function previous(){
	currImage = getPreviousSibling(currImage);
	if(currImage==null)
		lastImage();
	else
		showImage();
}

function firstImage(){
	currImage = currGallery.getElementsByTagName("picture")[0];
	showImage();
}

function lastImage(){
	len = currGallery.getElementsByTagName("picture").length;
	currImage = currGallery.getElementsByTagName("picture")[len-1];
	showImage();
}
	
	

//check if the next sibling node is an element node
function getNextSibling(n){
	x=n.nextSibling;
	while (x.nodeType!=1){
  		x=x.nextSibling;
  		if(x==null)
  			return x;
	}
	return x;
}

function getPreviousSibling(n){
	x=n.previousSibling;
	while (x.nodeType!=1){
  		x=x.previousSibling;
  		if(x==null || x.tagName!="picture")
  			return null;
	}
	return x;
}

function showGallery(i){
	currGallery = xml.getElementsByTagName("gallery")[i];
	currImage = currGallery.getElementsByTagName("picture")[0];
	showImage();
}
	

function displayMenu(){
	init();
	document.write("<h2>Galleries</h2><ul>");
	len = xml.getElementsByTagName("gallery").length;
	for(i=0;i<len;i++){
		document.write("<li><a href=\"\javascript:showGallery("+i+")\">"+xml.getElementsByTagName("gallery")[i].getElementsByTagName("name")[0].textContent+"</a></li>");
	}
	document.write("</ul>");
}


