/*
<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);
	}
}