var currentEvent;
var numPics;
var subdir;
var currentPic;
var currentEventTitle;

function initGallery()
{
	if (!isCompatible())
	{
		alert("This page does not render correctly on Microsoft Internet Explorer 6 or below. Please upgrade to Internet Explorer 7 or a different browser.");
	}

	var xmlDoc = loadXML('gallery.xml');
	currentEvent = -1;
	var xmlObj=xmlDoc.documentElement;
	var eventArray = xmlObj.getElementsByTagName('event');

	var linkDiv = document.getElementById('linksbox');
	var title = document.createElement('h3');
	addTextToElement(title, 'Events');
	linkDiv.appendChild(title);

	if (eventArray.length == 0)
	{
		var para = document.createElement('p');
		addTextToElement(para, 'No events in gallery');
		linkDiv.appendChild(para);
	}
	else
	{
		var list = document.createElement('ul');
		for (var i = 0; i < eventArray.length; i++)
		{
			var titleArray = eventArray[i].getElementsByTagName('title');
			var li = document.createElement('li');
			var link = document.createElement('a');
			link.setAttribute('href', 'javascript:displayEvent(' + i + ')');
			addTextToElement(link, titleArray[0].firstChild.nodeValue);
			li.appendChild(link);
			list.appendChild(li);
		}
		linkDiv.appendChild(list);
		displayEvent(0);
	}
}

function displayEvent(nextEvent)
{
	if (nextEvent != currentEvent)
	{
		currentPic = 0;
		currentEvent = nextEvent;
		var linkDiv = document.getElementById('pictureBox');

		removeAllChildren(linkDiv);

		var xmlObj=xmlDoc.documentElement;
		var eventArray = xmlObj.getElementsByTagName('event');

		var titleArray = eventArray[currentEvent].getElementsByTagName('title');
		if (titleArray.length > 0)
		{
			var eventTitle = document.getElementById('eventTitle');
			removeAllChildren(eventTitle);
			currentEventTitle = titleArray[0].firstChild.nodeValue;
			addTextToElement(eventTitle, currentEventTitle);
			eventTitle.style.display = '';
		}
		else
		{
			document.getElementById('eventTitle').style.display = 'none';
		}

		var descArray = eventArray[currentEvent].getElementsByTagName('description');
		if (descArray.length > 0)
		{
			var eventDesc = document.getElementById('eventDesc');
			removeAllChildren(eventDesc);
			var descText = descArray[0].firstChild.nodeValue;
			addTextToElement(eventDesc, descText);
			eventDesc.style.display = '';
		}
		else
		{
			document.getElementById('eventDesc').style.display = 'none';
		}

		var subArray = eventArray[currentEvent].getElementsByTagName('subdir');
		subdir = subArray[0].firstChild.nodeValue;

		var numArray = eventArray[currentEvent].getElementsByTagName('numphotos');
		numPics = parseInt(numArray[0].firstChild.nodeValue);

		if (numPics > 3)
		{
			document.getElementById('leftbox').style.display = 'inline';
			document.getElementById('rightbox').style.display = 'inline';
		}
		else
		{
			document.getElementById('leftbox').style.display = 'none';
			document.getElementById('rightbox').style.display = 'none';
		}

		if (numPics == 1)
		{
			document.getElementById('thumb1').style.display = 'none';
			document.getElementById('thumb3').style.display = 'none';
			document.getElementById('thumbpic2').setAttribute('src', subdir + '/thumb0.jpg');
			document.getElementById('thumblink2').setAttribute('href', 'javascript:showMainPic(0)');
			document.getElementById('thumb2').style.display = 'inline';
		}

		else if (numPics == 2)
		{
			document.getElementById('thumb2').style.display = 'none';

			document.getElementById('thumbpic1').setAttribute('src', subdir + '/thumb0.jpg');
			document.getElementById('thumblink1').setAttribute('href', 'javascript:showMainPic(0)');
			document.getElementById('thumb1').style.display = 'inline';

			document.getElementById('thumbpic3').setAttribute('src', subdir + '/thumb1.jpg');
			document.getElementById('thumblink3').setAttribute('href', 'javascript:showMainPic(1)');
			document.getElementById('thumb3').style.display = 'inline';
		}

		else
		{
			document.getElementById('thumbpic1').setAttribute('src', subdir + '/thumb0.jpg');
			document.getElementById('thumblink1').setAttribute('href', 'javascript:showMainPic(0)');
			document.getElementById('thumb1').style.display = 'inline';

			document.getElementById('thumbpic2').setAttribute('src', subdir + '/thumb1.jpg');
			document.getElementById('thumblink2').setAttribute('href', 'javascript:showMainPic(1)');
			document.getElementById('thumb2').style.display = 'inline';

			document.getElementById('thumbpic3').setAttribute('src', subdir + '/thumb2.jpg');
			document.getElementById('thumblink3').setAttribute('href', 'javascript:showMainPic(2)');
			document.getElementById('thumb3').style.display = 'inline';
		}
		document.getElementById('mainbox').style.display = 'block';
	}
}

function showMainPic(myPic)
{
	var title = document.getElementById('popupTitle');
	removeAllChildren(title);
	addTextToElement(title, currentEventTitle);
	var imgDiv = document.getElementById('mainImage');
	removeAllChildren(imgDiv);
	var img = document.createElement('img');
	img.setAttribute('src', subdir + '/photo' + myPic + '.jpg');
	img.setAttribute('alt', currentEventTitle);
	imgDiv.appendChild(img);
	document.getElementById('galleryPopup').style.display = 'block';
}

function hideImage()
{
	document.getElementById('galleryPopup').style.display = 'none';
}

function rotateLeft()
{
			currentPic--;
			if (currentPic < 0)
			{
				currentPic += numPics;
			}

			var secondPic = currentPic + 1;
			if (secondPic >= numPics)
			{
				secondPic -= numPics;
			}

			var thirdPic = currentPic + 2;
			if (thirdPic >= numPics)
			{
				thirdPic -= numPics;
			}

			document.getElementById('thumbpic1').setAttribute('src', subdir + '/thumb' + currentPic + '.jpg');
			document.getElementById('thumblink1').setAttribute('href', 'javascript:showMainPic(' + currentPic + ')');

			document.getElementById('thumbpic2').setAttribute('src', subdir + '/thumb' + secondPic + '.jpg');
			document.getElementById('thumblink2').setAttribute('href', 'javascript:showMainPic(' + secondPic + ')');

			document.getElementById('thumbpic3').setAttribute('src', subdir + '/thumb' + thirdPic + '.jpg');
			document.getElementById('thumblink3').setAttribute('href', 'javascript:showMainPic(' + thirdPic + ')');
}

function rotateRight()
{
			currentPic++;
			if (currentPic >= numPics)
			{
				currentPic -= numPics;
			}

			var secondPic = currentPic + 1;
			if (secondPic >= numPics)
			{
				secondPic -= numPics;
			}

			var thirdPic = currentPic + 2;
			if (thirdPic >= numPics)
			{
				thirdPic -= numPics;
			}

			document.getElementById('thumbpic1').setAttribute('src', subdir + '/thumb' + currentPic + '.jpg');
			document.getElementById('thumblink1').setAttribute('href', 'javascript:showMainPic(' + currentPic + ')');

			document.getElementById('thumbpic2').setAttribute('src', subdir + '/thumb' + secondPic + '.jpg');
			document.getElementById('thumblink2').setAttribute('href', 'javascript:showMainPic(' + secondPic + ')');

			document.getElementById('thumbpic3').setAttribute('src', subdir + '/thumb' + thirdPic + '.jpg');
			document.getElementById('thumblink3').setAttribute('href', 'javascript:showMainPic(' + thirdPic + ')');
}
