var slideshow_preformat = function () {
	var slides = document.getElementById('slides').childNodes;
	
	for (var s = 0; s < slides.length; s++) {
		if (slides[s].nodeName != 'DIV') {
			document.getElementById('slides').removeChild(slides[s]);
		}
	}
};

var slideshow_hideall = function () {
	var slides = document.getElementById('slides').childNodes;
	
	for (var s = 0, slide; slide = slides[s]; s++) {
		slide.style.display = 'none';
	}
	
	var thumbnails = document.getElementById('thumbnails').getElementsByTagName('img');
	
	for (var t = 0, thumbnail; thumbnail = thumbnails[t]; t++) {
		thumbnail.className = '';
	}
};

var slideshow_current = function () {
	var slides = document.getElementById('slides').childNodes;
	
	for (var s = 0, slide; slide = slides[s]; s++) {
		if (slide.style.display == '') {
			return slide;
		}
	}
};

var slideshow_select = function (slide) {
	slide.style.display = '';
	
	var slide_img = slide.getElementsByTagName('img');
	slide_img = slide_img[0];
	
	var thumbnails = document.getElementById('thumbnails').getElementsByTagName('img');
	
	for (var t = 0, thumbnail; thumbnail = thumbnails[t]; t++) {
		if (thumbnail.src == slide_img.src) {
			thumbnail.className = 'active';
		}
	}
};

var slideshow_back = function (control) {
	if (control) {
		window.clearInterval(slideshow_interval);
	}
	
	var current = slideshow_current();
	slideshow_hideall();
	
	if (current.previousSibling) {
		slideshow_select(current.previousSibling);
	} else {
		slideshow_select(current.parentNode.lastChild);
	}
	
	if (control) {
		control.blur();
	}
	
	return false;
};

var slideshow_forward = function (control) {
	if (control) {
		window.clearInterval(slideshow_interval);
	}
	
	var current = slideshow_current();
	slideshow_hideall();
	
	if (current.nextSibling) {
		slideshow_select(current.nextSibling);
	} else {
		slideshow_select(current.parentNode.firstChild);
	}
	
	if (control) {
		control.blur();
	}
	
	return false;
};

var slideshow_goto = function (s, control) {
	if (control) {
		window.clearInterval(slideshow_interval);
	}
	
	slideshow_hideall();
	slideshow_select(document.getElementById('slide' + s));
	
	if (control) {
		control.blur();
	}
	
	return false;
};
