// Gallery JavaScript Functions
/******************** BROWSER DETECT  ********************************************/
/** List of all known user agent names */
var agentNames = new Array("msie ", "netscape6/", "netscape/", "mozilla/", "opera/");

var isIE = (navigator.appName.indexOf("Explorer") > -1);
var isMac = (navigator.userAgent.indexOf("Mac") > -1);
var majorVersion = getMajorVersion();
var isIE5Mac = (isIE && majorVersion >= 5 && isMac);

function getMajorVersion() {
	var majorVersion = 0;
	var verStart = 0;
	var agent = navigator.userAgent;

	if (agent != null) {
				agent = agent.toLowerCase();
		for (var i = 0; i < agentNames.length; i++) {
			var name = agentNames[i];
			var pos = agent.indexOf(name);
			if (pos > -1) {
				verStart = pos + name.length;
				break;
			}
		}
		var verStop = agent.indexOf('.', verStart);
		if (verStart != -1 && verStop > verStart && (verStop - verStart) <= 2) {
			return parseInt(agent.substring(verStart, verStop));
		}
	}
	return majorVersion;
}
/******************** End BROWSER DETECT  ********************************************/

function setImage(imgName, imgPath) {
	var theImage = document.images[imgName];
	theImage.src = imgPath;
	//Mac IE 5.2 OSX does not want to update the image, set it to itself to get it to draw.
	if (isIE5Mac) {
		theImage.src = theImage.src;
	}
}

function previousImage() {
	if (currentImage >= 1) {
		nDeselect(currentImage);
		setImage("theImage", (myImages[--currentImage]));
		nSelect(currentImage);
		updateMetaData();
	}
}

function nextImage() {
	if (currentImage != (myImages.length - 1) && myImages.length > 1) {
		nDeselect(currentImage);
		setImage("theImage", (myImages[++currentImage]));
		nSelect(currentImage);
		updateMetaData();
	}
}

var intervalTimer = null;

var allImagesLoaded = false;

function preloadMyImages() {
	if (document.images) {
		for (var i=0; i < myImages.length; i++) {
			preloadObj[myImages[i]] = newImage(myImages[i]);
			//alert(myImagesIndexed[i][0] + "  " + preloadObj[myImagesIndexed[i][0]]);
		}
	}
	allImagesLoaded = true;
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

// Get image index in array
function imgIndex(imgURL) {
	for (j =0; j < myImages.length; j++) {
		if (myImages[j].match('^'+imgURL)) {
			return j;
		}
	}
}
function jumpToImage(imgName) {
	if (isMainPageLoaded) {
		nDeselect(currentImage);
		index = imgIndex(imgName);
		setImage("theImage", (myImages[index]));
		currentImage = index;
		nSelect(currentImage);
		updateMetaData();	
	} else {
		setTimeout("jumpToImage(imgName)" , 10);
	}	
}

function updateMetaData() {
	if (isMainPageLoaded) {
		document.getElementById("fileInfo").innerHTML = myCaptions[currentImage];
	} else {
		setTimeout("updateMetaData()", 10);
	}
}

// Handle hilighting of numbers by setting link styles
// normal = tntext
// select = tnsel
function nDeselect(index) {
	document.getElementById("num" + index).className = 'tntext';
}
function nSelect(index) {
	document.getElementById("num" + index).className = 'tnsel';
}
