/*
<b>StoryImages.js</b>
Written by Matthew Martin 03/2005

<b>What does it do?</b>
Provides functions to cycle through multiple images on a story page.

<b>How do I use it?</b>
*/

var imageIds = new Array();
var currentImage = 0;
var totalImages = 0;
					
function ChangeImage(direction) {
	if ((direction == "+") || (direction == "1")) {
		currentImage++;
		if (currentImage > totalImages) {
			currentImage = 0;
		}
	} else if (direction == "-") {
		currentImage--;
		if (currentImage < 0) {
			currentImage = totalImages;
		}
	}		
	for (var imageNumber = 0; imageNumber <= totalImages; imageNumber++) {
		document.getElementById(imageIds[imageNumber]).style.display = 'none';
	}
	document.getElementById(imageIds[currentImage]).style.display = 'block';
	ReplaceContent("ImageNumber",currentImage + 1);
}
					
function InitializeImages() {
	var all = document.all ? document.all : document.getElementsByTagName('div');
	for (var elementNumber = 0; elementNumber < all.length; elementNumber++) {
		if (all[elementNumber].className == "ImageDiv") {
   			imageIds[totalImages] = all[elementNumber].id;
   			totalImages++;
   		}
	}
	totalImages--;
			
	var imageHeight = 0;
	for (var imageNumber = 0; imageNumber <= totalImages; imageNumber++) {
		if (document.getElementById(imageIds[imageNumber]).offsetHeight > imageHeight) {
			imageHeight = document.getElementById(imageIds[imageNumber]).offsetHeight;
		}
		document.getElementById(imageIds[imageNumber]).style.display = 'none';
	}	
	if (imageIds[0]) {
		document.getElementById(imageIds[0]).style.display = 'block';
		document.getElementById("ImageBox").style.height = imageHeight + "px";
		if (totalImages >= 1) {
			document.getElementById("ImageControl").style.display = 'block';
			ReplaceContent("ImageNumber","1");
			ReplaceContent("TotalImages",totalImages + 1);
		}
		document.getElementById("ImageBox").style.visibility = 'visible';
	}
}
	
function ReplaceContent(elementId,content) {	
	if (document.all) {
		document.getElementById(elementId).innerHTML = content;
	} else {
		var element = document.getElementById(elementId);
		while (element.hasChildNodes()) { element.removeChild(element.lastChild); }
		var range = document.createRange();
		range.setStartAfter(element);
		var fragment = range.createContextualFragment(content);
		element.appendChild(fragment);
	}
}

window.onload = InitializeImages;