/////////////////////////////////
// PICTURE GALLERY
// by Richard Quigley
// 2006
// quichwrigley@hotmail.com
/////////////////////////////////

var btn_next = document.getElementById('btn_next');
var btn_back = document.getElementById('btn_back');
var title = document.getElementById("TITLE");
var descr = document.getElementById("DESCR");
var PhotoContainer = document.getElementById('PhotoContainer');
var LoadContainer = document.getElementById('LoadContainer');
var imageframe = document.getElementById('imageframe');
var photo = document.getElementById('photo');
var loadImg = document.getElementById('loadImg');
var galleries = document.getElementById('galleries');
var btn_continuous = document.getElementById('btn_continuous');

var currentImg = 0;
var theSrc;

var continuous = false;
var imageInterval;

var loadImgTO;
var fadeInTO;

//INITIALIZE TO FIRST IMAGE DATA
photo.style.visibility = 'hidden';
photo.src = 'pics/GP-01.jpg';
title.innerHTML = 'Gallery Instructions:';
descr.innerHTML = 'Click "back" or "next" or "play" for slideshow.';

//CENTER LOADING IMAGE
var	toCenterW_Load = (imageframe.offsetWidth - loadImg.offsetWidth)/2;
var	toCenterH_Load = (imageframe.offsetHeight - loadImg.offsetHeight)/2;
LoadContainer.style.marginLeft = toCenterW_Load.toString()+'px';
LoadContainer.style.marginTop = toCenterH_Load.toString()+'px';


function centerPicture(){
	var	toCenterW_Photo = (imageframe.offsetWidth - photo.offsetWidth)/2;
	var	toCenterH_Photo = (imageframe.offsetHeight - photo.offsetHeight)/2;
		PhotoContainer.style.marginLeft = toCenterW_Photo.toString()+'px';
		PhotoContainer.style.marginTop = toCenterH_Photo.toString()+'px';
}

function contPlay(){
	loadImg.src = 'images/loading.gif';
	if(currentImg == imageNodes){
		currentImg = 0;
		photo.src = imagePaths[0];
	} else {
		//NEW SOURCE FOM ARRAY
		currentImg++;
		if(browser == 'IE'){photo.src = imagePaths[currentImg];}
	}
	if((browser == 'FF') || (browser == 'SF')){getFF_XML();}
	getText_XML()
}

btn_continuous.onclick = function (evt) {
	if (continuous){
		btn_continuous.innerHTML = 'PLAY';
		clearInterval(imageInterval);
		continuous = false;
	} else {
		//getFF_XML HERE
		if((browser == 'FF') || (browser == 'SF')){getFF_XML();}
		getText_XML();
		
		btn_continuous.innerHTML = 'PAUSE';
		imageInterval = setInterval('contPlay()',3500)
		continuous = true;
	}
}

function getText_XML(){
	if (!(xmlDoc.getElementsByTagName("TITLE")[currentImg].firstChild == null)) {
	    title.innerHTML = xmlDoc.getElementsByTagName("TITLE")[currentImg].firstChild.nodeValue;
	}
	    
	if (!(xmlDoc.getElementsByTagName("DESCR")[currentImg].firstChild == null)) {
	    descr.innerHTML = xmlDoc.getElementsByTagName("DESCR")[currentImg].firstChild.nodeValue;
	}
}

//LOAD XML FOR FIREFOX BROWSER
function getFF_XML(){
	//LOAD NEW XML DATA
	photo.src = xmlDoc.getElementsByTagName("SRC")[currentImg].firstChild.nodeValue;
	
	//CLEAR PHOTO STAGE
	photo.style.visibility = 'hidden';
	photo.style.MozOpacity = 0;
	photo.style.opacity = 0;
}

btn_next.onclick = function (evt) {
	if (continuous){
		return false;
	} else {
		loadImg.src = 'images/loading.gif';
		if(currentImg == imageNodes){
			currentImg = 0;
			photo.src = imagePaths[0];
		} else {
			currentImg++;
			if(browser == 'IE'){photo.src = imagePaths[currentImg];}
		}
		if((browser == 'FF') || (browser == 'SF')){getFF_XML();}
		getText_XML();
	}
}

btn_back.onclick = function (evt) {
	if (continuous){
		return false;
	} else {
		loadImg.src = 'images/loading.gif';
		if(currentImg == 0){
			currentImg = imageNodes;
			photo.src = imagePaths[imageNodes];
		} else {
			currentImg--;
			if(browser == 'IE'){photo.src = imagePaths[currentImg];}
		}
		if((browser == 'FF') || (browser == 'SF')){getFF_XML();}
		getText_XML();
	}
}

photo.onload = function(){
	clearTimeout(loadImgTO);
	clearTimeout(fadeInTO);
	
	centerPicture();
	
	fadeInPic("photo",0);
	photo.style.visibility = 'visible';
	
	loadImgTO = setTimeout('swapLoadImg()',3000);
}

function swapLoadImg(){
	loadImg.src = 'images/blank.gif';
}

function fadeInPic(objId,opacity) {
	if (opacity <= 100) {
		if(browser == 'IE'){
			document.getElementById(objId).style.filter = "alpha(opacity=" + opacity + ")";
		}
		if(browser == 'FF'){
			document.getElementById(objId).style.MozOpacity = (opacity/100) - .001;
		}
		if(browser == 'SF'){
       		document.getElementById(objId).style.opacity = (opacity/100) - .001;
		}		
		opacity += 5;
		fadeInTO = setTimeout("fadeInPic('"+objId+"',"+opacity+")", 25);
	}
}
