
var interval = 6000;
var cols = 6;
// Duration of crossfade (seconds)
var crossFadeDuration = 3;
var random_display = 0;
var imageDir = "images/";
var new_id = "";
var UA = new String(navigator.userAgent);
var VR = new String(navigator.appVersion);
var thmPointer = 0;
var offset = 0;
var timerID;

var play_image = new Image();
play_image.src = "play.jpg";



function testUA() {
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		alert("NOT NS4!\nUA=" + UA + "\nVR=" + VR);
	} else {
		alert("NS4!\nUA=" + UA + "\nVR=" + VR);
	}
}

function non() {
}

function imageItem(image_id, image_dir, image_year, img_med) {
	this.image_item = new Image();
	this.image_item.src = "/photo/" + image_year + "/" + image_dir + "/" + image_id + img_med + ".jpg";
	this.image_item.id = image_id;
}

function get_ImageItemLocation(imageObj) {
	return(imageObj.image_item.src);
}

function get_ImageItemID(imageObj) {
	return(imageObj.image_item.id);
}

function randNum(x, y) {
	var range = y - x + 1;
	return Math.floor(Math.random() * range) + x;
}

function getNextNum() {
	if (random_display) {
		imageNum = randNum(0, totalImages-1);
	}
	else {
		imageNum = (imageNum+1) % totalImages;
	}
}

function getNextImage() {
	var new_image = get_ImageItemLocation(imageArray[imageNum][1]);
	return(new_image);
}

function getNextID() {
	var new_id = get_ImageItemID(imageArray[imageNum][1]);
	return(new_id);
}

function getPrevNum() {
	if (imageNum != 0) {
		imageNum = (imageNum-1) % totalImages;
	} else {
		imageNum = totalImages - 1;
	}
}

function getPrevImage() {
	getPrevNum();
	var new_image = get_ImageItemLocation(imageArray[imageNum][1]);
	return(new_image);
}

function getPrevID() {
	var new_id = get_ImageItemID(imageArray[imageNum][1]);
	return(new_id);
}

function prevImage(place) {
	var new_image = getPrevImage();	
	var old_id;
	if (totalImages <= (imageNum + 1)) {
		imageNum = totalImages - 1;
		old_id = get_ImageItemID(imageArray[0][1]);
	} else {
		old_id = get_ImageItemID(imageArray[imageNum+1][1]);	
	}	
	var new_id = getPrevID();	
	var navstring = navigator.userAgent;
	if ((document.all) && (navstring.indexOf("Opera") == -1)) {
		document.images.slideImg.style.filter="blendTrans(duration=2)";
		document.images.slideImg.style.filter="blendTrans(duration=crossFadeDuration)";
		document.images.slideImg.filters.blendTrans.Apply();
	}
	document[place].src = new_image;
	offset--;
	if ((document.all) && (navstring.indexOf("Opera") == -1)) {
		document.images.slideImg.filters.blendTrans.Play();
		var capt = setTimeout("change_caption();",1000);
		var cred = setTimeout("change_credit();",1000);
		var lnk = setTimeout("change_link();",1000);	
		var chthms = setTimeout("change_thumbs_back(offset);",1000);
	} else {
		change_caption();
		change_credit();
		change_link();
		change_thumbs_back(offset);
	}
	thmPointer++;
}

function placeImage(place) {
	var old_id = get_ImageItemID(imageArray[imageNum][1]);
	getNextNum();
	var new_id = getNextID();
	var new_image = getNextImage();
	var navstring = navigator.userAgent;
	if ((document.all) && (navstring.indexOf("Opera") == -1)) {
		document.images.slideImg.style.filter="blendTrans(duration=2)";
		document.images.slideImg.style.filter="blendTrans(duration=crossFadeDuration)";
		document.images.slideImg.filters.blendTrans.Apply();
	}
	document[place].src = new_image;
	if ((document.all) && (navstring.indexOf("Opera") == -1)) {
		document.images.slideImg.filters.blendTrans.Play();
		var capt = setTimeout("change_caption();",1000);
		var cred = setTimeout("change_credit();",1000);
		var lnk = setTimeout("change_link();",1000);
	} else {
		change_caption();
		change_credit();
		change_link();		
	}	
	thmPointer++;
	if (thmPointer >= totalImages) {
		thmPointer = 0;
	}
	var recur_call = "switchImage('"+place+"');";
	timerID = setTimeout(recur_call, interval);
}

function switchImage(place) {
	var old_id = get_ImageItemID(imageArray[imageNum][1]);
	getNextNum();
	var new_id = getNextID();
	var new_image = getNextImage();
	var navstring = navigator.userAgent;
	if ((document.all) && (navstring.indexOf("Opera") == -1)) {
		document.images.slideImg.style.filter="blendTrans(duration=2)";
		document.images.slideImg.style.filter="blendTrans(duration=crossFadeDuration)";
		document.images.slideImg.filters.blendTrans.Apply();
	}
	document[place].src = new_image;
	if ((document.all) && (navstring.indexOf("Opera") == -1)) {
		document.images.slideImg.filters.blendTrans.Play();
		var capt = setTimeout("change_caption();",1000);
		var cred = setTimeout("change_credit();",1000);
		var lnk = setTimeout("change_link();",1000);
		var chthms = setTimeout("change_thumbs(" + offset + ");",1000);		
	} else {
		change_caption();
		change_credit();
		change_link();
	 	change_thumbs(offset);		
	}
	offset++;

	thmPointer++;
	if (thmPointer >= totalImages) {
		thmPointer = 0;
	}
	var recur_call = "switchImage('"+place+"');";
	timerID = setTimeout(recur_call, interval);
}

/************** Thumbnail Functions *********************/

function make_thumbs(thmImageLength, imageArray) {
	var col_num = 0;
	document.writeln("<table border=\"0\" cellspacing=\"2\" summary=\"layout\">");
	document.writeln("<tr>");
	for (var i=0; i<thmImageLength; i++) {
		var thumb_id = get_ImageItemID(imageArray[i][1]);
		if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
			document.writeln("<td width=\"50\" align=\"center\"><img id=\"thm" + i + "\" name=\"thm" + i + "\" alt=\"" + thumb_id + "\" width=\"45\" height=\"45\" src=\"" + imageArray[i][5] + thumb_id + "_thm45.jpg\" class=\"thumb\" /></td>");			
		} else {
			document.writeln("<td width=\"50\" align=\"center\"><img id=\"thm" + i + "\" name=\"thm" + i + "\" alt=\"" + thumb_id + "\" width=\"45\" height=\"45\" src=\"" + imageArray[i][5] + thumb_id + "_thm45.jpg\" /></td>");	
		}
		col_num = (i+1) % cols;
		if (col_num == 0) {
			document.writeln("</tr><tr>");
		}
	}
	
	//fill in remaining cells
	while ((col_num % cols) != 0) {
		document.writeln("<td width=\"50\" align=\"center\"></td>");
		col_num++;
	}
	document.writeln("</tr>");	
	document.writeln("</table>");
}

function switchBorder(oid, nid) {
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		var o_id = oid;
		var n_id = nid;
		document.getElementById(o_id).className = "thumb";	
		document.getElementById(n_id).className = "thumb_border";
	}
}

function select_thumb(img_obj) {
	 clearTimeout(timerID);
	 for (j=0; j<imageArray.length; j++) {
	 	if (imageArray[j][1].image_item.id == img_obj.id) {
	 		var old_id = get_ImageItemID(imageArray[imageNum][1]);
	 		imageNum = j;
	 		var new_id = getNextID();
	 		//thmPointer++;
	 		change_caption();
	 		change_credit();
	 		change_link();
	 		var new_image = getNextImage();
	 		document["slideImg"].src = new_image;
	 	}
	 }
}

/***************Caption *******************************/

function change_caption() {
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		var text_element = document.getElementById("caption");
		for (var i = 0; i < imageArray.length; i++) {
				var oldChild = text_element.firstChild;
				var newChild = document.createTextNode(imageArray[imageNum][0]);
				text_element.replaceChild(newChild, oldChild);
		}
	}
}

/***************Change Thumbs*************************/

function change_thumbs(offset) {
	for (var i=0; i<thmImageLength; i++) {

		var q = i + offset;
		if (q < 0) {
			q = imageArray.length + offset + i;
		}		
		var thm_id = "thm" + i;
		var thm_element = document.getElementById(thm_id);
		var j = (q + 1) % (imageArray.length);
		//alert("q: " + q + "\nj: " + j);
	
		var thumb_id = get_ImageItemID(imageArray[j][1]);
		thm_element.src = imageArray[j][5] + thumb_id + "_thm45.jpg";
	}

}

/***************Change Thumbs Previous*************************/

function change_thumbs_back(offset) {
	for (i=0; i<thmImageLength; i++) {

		var q = i + offset;
		if (q < 0) {
			q = imageArray.length + offset + i;
		}
		var thm_id = "thm" + i;
		var thm_element = document.getElementById(thm_id);
		var j = (q) % (imageArray.length);
		//alert("q: " + q + "\nj: " + j);
	
		var thumb_id = get_ImageItemID(imageArray[j][1]);
		thm_element.src = imageArray[j][5] + thumb_id + "_thm45.jpg";
	}

}

/***************Credit *******************************/

function change_credit() {
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		var text_element = document.getElementById("credit");
		for (var i = 0; i < imageArray.length; i++) {
				var oldText = text_element.firstChild;
				var newText = document.createTextNode(imageArray[imageNum][2]);
				text_element.replaceChild(newText, oldText);			
		}
	}
}

/**************** Link ********************/

function change_link() {
	var mi;
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		mi = document.getElementById("more_info");
		mi.alt = imageArray[imageNum][5];	
	} else {
		mi = document.more_info;
		mi.alt = imageArray[imageNum][5];	
	}
}

/**************** Toggle ******************************/

function toggle_play(pp_img_obj) {
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		if (pp_img_obj.alt == "pause") {
			clearTimeout(timerID);
			pp_img_obj.src = "play.jpg";
			pp_img_obj.alt = "play";
		} else {
			switchImage('slideImg');
			pp_img_obj.src = "pause.jpg";
			pp_img_obj.alt = "pause";		
		}
	} else {
		if (document.frmMain.pp_flag.value == "pause") {
			clearTimeout(timerID);
			document.pause_play.src = "play.jpg";
			document.frmMain.pp_flag.value = "play";
		} else {
			switchImage('slideImg');
			document.pause_play.src = "pause.jpg";
			document.frmMain.pp_flag.value = "pause";		
		}	
	}
}

/**************** NS 4 functions **********************/

function switchCaption(cap_obj) {
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		document.getElementById(cap_obj).className = "objectname";
	}
}

function switchCredit(cred_obj) {
	if (!((UA.indexOf("Mozilla") != -1) && (VR.indexOf("4.") != -1) && (UA.indexOf("MSIE") == -1))) {
		document.getElementById(cred_obj).className = "capt";
	}
}