var slideshow = {
	/* Tweakables */
	id: "banner", /*wrapper id containing only <img>s */
	wrapper: "slideshow",
	autoSpeed:  4000, /* length of time between fades */
	/* inits */
	initd: false,
	zDex: 100,
	currentlyVisible: 0,
	images: [],
	auto_i: '',
	/* go */
	init: function(){
		if(document.getElementById && document.getElementById(slideshow.id)){
			var container = document.getElementById(slideshow.id);
			var divs = container.getElementsByTagName('div');
			var i=0;
			for(z in divs){
				if (divs[z].style && divs[z].id){
					slideshow.images[i] = divs[z].id;
					if (divs[z].style.display == 'block'){
						slideshow.currentlyVisible = i;
						animate.show(divs[z].id);
					} else {
						animate.hide(divs[z].id);
					}
					i++;
				}
			}
			slideshow.auto();
			slideshow.initd = true;
		}
	},
	auto: function(){
		if(slideshow.auto_i){clearInterval(slideshow.auto_i)}
		slideshow.auto_i = setInterval("slideshow.switchItem('next')", slideshow.autoSpeed);
	},
	jumpto: function(n, stepto){
		if (!slideshow.initd){slideshow.init();}
		n = slideshow.nextprev(n);
		if(slideshow.currentlyVisible != n){
			if(slideshow.auto_i){clearInterval(slideshow.auto_i)}
			slideshow.switchItem(n, stepto);
		}
	},
	switchItem: function(n, stepto){
		var cur = Number(slideshow.currentlyVisible);
		n = slideshow.nextprev(n);
		slideshow.currentlyVisible = n;
	//	document.getElementById(slideshow.images[cur]+"_t").className = "";
	//	document.getElementById(slideshow.images[n]+"_t").className = "selected";
		document.getElementById(slideshow.images[n]).style.zIndex = slideshow.zDex;
		slideshow.zDex++;
		if (stepto) {
			animate.hide(slideshow.images[cur]);
			animate.show(slideshow.images[n]);
		} else {
			animate.fadeOut(slideshow.images[cur]);
			animate.fadeIn(slideshow.images[n]);
		}
	},
	nextprev: function(n){
		var ret = n;
		var cur = Number(slideshow.currentlyVisible);
		switch(n){
			case 'next':
				ret = cur == slideshow.images.length - 1 ? 0 : cur + 1;
			break;
			case 'prev':
				ret = cur == 0 ? slideshow.images.length - 1 : cur - 1;
			break;
		}
		return ret;
	}
}
/* from themaninblue, it works. :) */
function addLoadListener(fn){
	if (typeof window.addEventListener != 'undefined') {
		window.addEventListener('load', fn, false);
	} else if (typeof document.addEventListener != 'undefined') {
		document.addEventListener('load', fn, false);
	} else if (typeof window.attachEvent != 'undefined') {
		window.attachEvent('onload', fn);
	} else {
		return false;
	}
	return true;
};
function attachEventListener(target, eventType, functionRef, capture) {
    if (typeof target.addEventListener != "undefined") {
        target.addEventListener(eventType, functionRef, capture);
    } else if (typeof target.attachEvent != "undefined") {
        target.attachEvent("on" + eventType, functionRef);
    } else {
        return false;
    }
    return true;
};
addLoadListener(slideshow.init);
slideshow.init();
