var set, photo, photo_title, photo_desc, photo_src, httpRequest;
var xmlDoc = false;
var page = 0;
var currentSet = 0;

window.onload = function() {
	parseXML();
}

function expand(pId) {
	Effect.toggle($("content_"+pId), "blind", { delay: 0 });
}

function navOn(el) {
	if(el.className != "set green active") {
		el.className = "set green";
	}
}

function navOff(el) {
	if(el.className != "set green active") {
		el.className = "set greenDark";
	}
}

function startIt() {
	document.getElementById("set"+currentSet).className = "set green active";
	set = xmlDoc.getElementsByTagName("set")[currentSet];

	insertPhoto(set);
	updateNav();
}

function changeSet(count) {
	if (xmlDoc !== false) {
		document.getElementById("set"+currentSet).className = "set greenDark";
		document.getElementById("set"+count).className = "set green active";

		currentSet = count;
		page = 0;
		set = xmlDoc.getElementsByTagName("set")[currentSet];
		
		insertPhoto(set);
		updateNav();
	}
}

function insertPhoto(set) {
	photo = set.childNodes[1].childNodes[page];
	photo_title = photo.childNodes[1].childNodes[0].nodeValue;
	photo_src = photo.childNodes[2].childNodes[0].nodeValue;

	document.getElementById("information").innerHTML = photo_title;
	document.getElementById("photo").innerHTML = "<img src='" + photo_src + "' alt='" + photo_title + "' />";
}

function nextPhoto() {
	page = page + 1;
	
	if (xmlDoc !== false) {
		set = xmlDoc.getElementsByTagName("set")[currentSet];

		insertPhoto(set);
		updateNav();
	}
}

function previousPhoto() {
	page = page - 1;
	
	if (xmlDoc !== false) {
		set = xmlDoc.getElementsByTagName("set")[currentSet];
		
		insertPhoto(set);
		updateNav();
	}
}

function updateNav() {
	if (xmlDoc !== false) {
		set = xmlDoc.getElementsByTagName("set")[currentSet];
		
		if (page != 0) {
			document.getElementById("previous").style.display = "inline";
		} else {
			document.getElementById("previous").style.display = "none";
		}
		
		if (set.childNodes[1].childNodes[page+1]) {
			document.getElementById("next").style.display = "inline";
		} else {
			document.getElementById("next").style.display = "none";
		}
	}
}

function parseXML()
{
	if (window.XMLHttpRequest) {
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType("text/xml");
		}
	} else if (window.ActiveXObject) {
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
		catch (e) {}
		}
	}

	if (!httpRequest) {
		return false;
	}

	httpRequest.onreadystatechange = function() {
		if (httpRequest.readyState == 4) {
			if (httpRequest.status == 200) {
				xmlDoc = httpRequest.responseXML;
				startIt();
			}
		}
	};
	
	httpRequest.open("GET", "data/data.xml", true);
	httpRequest.send("");
}
