// The version that works with multiple slideshows on a page.
var cvhSlides = {
	init : function() {
		divs = document.getElementsByTagName("div");
		cvhSlides.slideshows = new Array();
		for(var i = 0; i < divs.length; i++) {
			if(divs[i].className == "infobox_slideshow") {
				slideshow = {cont : divs[i]};
				index = cvhSlides.slideshows.push(slideshow) - 1;
				cvhSlides.slideshows[index].index = index;
				cvhSlides.process(cvhSlides.slideshows[index]);
			}
		}
	},
	process : function(slideshow) {
	// Processes each slideshow.
		imgs = slideshow.cont.getElementsByTagName("img");
		slideshow.main = imgs[0];
		slideshow.clickable = false;
		if(slideshow.main.parentNode.nodeName.toLowerCase() == "a") slideshow.clickable = true;
		if(slideshow.clickable) {
			slideshow.main_link = slideshow.main.parentNode;
		}
		slideshow.capt = slideshow.cont.getElementsByTagName("p")[0].firstChild;
		contDivs = slideshow.cont.getElementsByTagName("div");
		for(var i = 0; i < contDivs.length; i++) {
			switch(contDivs[i].className) {
				case "slideshowbk":
					slideshow.bk = contDivs[i].getElementsByTagName("img")[0];
					break;
				case "slideshowtns":
					slideshow.tns = contDivs[i].getElementsByTagName("img");
					break;
				case "slideshowfw":
					slideshow.fw = contDivs[i].getElementsByTagName("img")[0];
			}
		}
		for(var i = 0; i < slideshow.tns.length; i++) {
			slideshow.tns[i].myName = slideshow.tns[i].className;
			slideshow.tns[i].className = slideshow.tns[i].myName + " " + "not_current";
		}
		slideshow.goThumb = function(e) {
			var targ;
			if(!e) var e = window.event;
			if(e.target) targ = e.target;
			else if (e.srcElement) targ = e.srcElement;
			if (targ.nodeType == 3) targ = parentNode;
			var thumb = targ.myName.substring(targ.myName.lastIndexOf("_")+1);
			cvhSlides.update(cvhSlides.slideshows[index], thumb);
			return false;
		}
		slideshow.goLeft = function() {
			cvhSlides.goLeft(cvhSlides.slideshows[index]);
			return false;
		}
		slideshow.goRight = function() {
			cvhSlides.goRight(cvhSlides.slideshows[index]);
			return false;
		}
		for(var i = 0; i < slideshow.tns.length; i++) {
			slideshow.tns[i].onclick = cvhSlides.slideshows[slideshow.index].goThumb;
			slideshow.tns[i].style.cursor = "pointer";
		}
		if(slideshow.bk) {
			slideshow.bk.onclick = cvhSlides.slideshows[slideshow.index].goLeft;
			slideshow.bk.style.cursor = "pointer";
		}
		if(slideshow.fw) {
			slideshow.fw.onclick = cvhSlides.slideshows[slideshow.index].goRight;
			slideshow.fw.style.cursor = "pointer";
		}
		slideshow.current = 0;
		slideshow.tns[0].className = slideshow.tns[0].myName+" "+"current";
	},
	update : function(slideshow, slide) {
		slideshow.current = parseInt(slide);
		for(var i = 0; i < slideshow.tns.length; i++) {
			//this not_current nonsense is so that IE can have a specific class to simulate transparent borders with.
			slideshow.tns[i].className = slideshow.tns[i].myName+" "+"not_current";
		}
		var src = slideshow.tns[slide].src.replace(/-t\.jpg/, "-m.jpg");
		//this is so safari doesn't jack up the image dimensions.
		slideshow.main.src = "/images/author/upload.gif";
		slideshow.main.src = src;
		slideshow.capt.nodeValue = slideshow.tns[slide].title;
		if(slideshow.clickable) {
			slideshow.main_link.href = src.replace(/-m\.jpg/, "-l.jpg");
			slideshow.main_link.title = slideshow.tns[slide].title;
		}
		slideshow.tns[slide].className = slideshow.tns[slide].myName + " " + "current";
	},
	goLeft : function(slideshow) {
		var count = slideshow.current-1;
		if(count < 0) count = 0;
		cvhSlides.update(slideshow, count);
	},
	goRight : function(slideshow) {
		var count = slideshow.current+1;
		if(count > (slideshow.tns.length-1)) count = slideshow.tns.length-1;
		cvhSlides.update(slideshow, count);
	},
	zoom : function(e) {
		var targ;
		if(!e) var e = window.event;
		if(e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) targ = parentNode;
		var src = targ.src.replace(/-m\.jpg/, "-l.jpg");
		slide_big_box = document.createElement("div");
		slide_big_box.className = "slide_big";
		slide_big = document.createElement("img");
		slide_big.src = src;
		slide_big_box.appendChild(slide_big);
		body = document.getElementsByTagName("body")[0]
		body.insertBefore(slide_big_box, body.childNodes[0]);
		return false;
	}
}
cvhSlides.init();
