addLoadListener = function(handler) {
	if (typeof window.addEventListener != 'undefined')
		window.addEventListener('load', handler, false);
	else if (typeof document.addEventListener != 'undefined')
		document.addEventListener('load', handler, false);
	else if (typeof window.attachEvent != 'undefined')
		window.attachEvent('onload', handler);
};

slideShow = (function(){

	/**
	 *
	 */
	var DOC = document, IMAGES = [], CURRENT = 0, FINTVAL = 3000, PINTVAL = 3000;

	/**
	 *
	 */
	function doFade() {
		cOpacity = IMAGES[CURRENT].xOpacity;
		nIndex = IMAGES[CURRENT+1] ? CURRENT+1 : 0;
		nOpacity = IMAGES[nIndex].xOpacity;
	
		cOpacity-=.05;
		nOpacity+=.05;
	
		IMAGES[nIndex].style.display = 'block';
		IMAGES[CURRENT].xOpacity = cOpacity;
		IMAGES[nIndex].xOpacity = nOpacity;
	
		setOpacity(IMAGES[CURRENT]);
		setOpacity(IMAGES[nIndex]);
	
		if(cOpacity <= 0) {
			IMAGES[CURRENT].style.display = 'none';
			CURRENT = nIndex;
			setTimeout(doFade, PINTVAL);
		} else {
			setTimeout(doFade, 50);
		}

	}

	/**
	 *
	 */
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}

		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = 'alpha(opacity=' + (obj.xOpacity * 100) + ')';
		obj.style.KhtmlOpacity = obj.xOpacity;
	}

	/**
	 *
	 */
	function preloadImages() {
		tmpImages = new Array();
		for (var i=0; i < arguments.length; i++){
			tmpImages[i] = new Image();
			tmpImages[i].src = arguments[i];
		}
	}


	// ENND PRIVATES

	return {

	setInterval: function(fintval, pintval) {
		FINTVAL = fintval;
		PINTVAL = pintval;
	},

	Execute: function() {
		if(!DOC.getElementById || !DOC.createElement)return;
	
		/*
		css = DOC.createElement('link');
		css.setAttribute('href','slideshow2.css');
		css.setAttribute('rel','stylesheet');
		css.setAttribute('type','text/css');
		DOC.getElementsByTagName('head')[0].appendChild(css);
		*/
	
		IMAGES = DOC.getElementById('rotator').getElementsByTagName('img');

		tmpImages = new Array();
		for(var j = 0; j < IMAGES.length; j++) {
			tmpImages.push(IMAGES[j].src);
		}
		preloadImages(tmpImages);

		for(var i = 1; i < IMAGES.length; i++) {
			IMAGES[i].xOpacity = 0;
		}

		IMAGES[0].style.display = 'block';
		IMAGES[0].xOpacity = .99;
		setTimeout(doFade, FINTVAL);
	}

	} // END RETURN

})();

function init() {
	slideShow.Execute();
}
addLoadListener(init);