

	// the id of the slideshow container element
	var slideshowContainerId = 'slideshow';
	// specify a list of image paths to load or leave empty to use the images avavilable in the container element
	var slideshowImages = [
		'images/slideshow/bouten.jpg',
		'images/slideshow/makitaSlijper.jpg',
		'images/slideshow/borenGroot.jpg',
		'images/slideshow/bril.jpg',
		'images/slideshow/compressor.jpg',
		'images/slideshow/deelZaagbladen.jpg',
		'images/slideshow/festoolZaag.jpg',
		'images/slideshow/frezen.jpg',
		'images/slideshow/gatzaag.jpg',
		'images/slideshow/handschoenen.jpg',
		'images/slideshow/heftafel.jpg',
		'images/slideshow/kabelhaspel.jpg',
		'images/slideshow/panasonicBoor.jpg',
		'images/slideshow/popnagels.jpg',
		'images/slideshow/rolband.jpg',
		'images/slideshow/snij-ijzer.jpg',
		'images/slideshow/tengToolsKist.jpg'
	];
	// the time to display an image, in miliseconds
	var slideshowSpeed = 2500;

	// start onload
	if (!SlideMenu || typeof(SlideMenu.currentActiveMenuItem) != 'number')
	{
		window.addEventListener ? window.addEventListener("load", initializeSlideshow, false) : window.attachEvent("onload", initializeSlideshow);
	}
	// or when page loaded through ajax, start right away
	else initializeSlideshow();


	// prepare fade swap partner
	function initializeSlideshow()
	{
		var
			slideshowContainer = document.getElementById(slideshowContainerId),
			slideshowImage, slideshowImages = (preloadImages = window.slideshowImages.length > 0 ? window.slideshowImages : slideshowContainer.getElementsByTagName('img')),
			slideshowImagesCount = slideshowImages.length - 1,
			centerer, image, tempNode;

		// preload and inject images
		if (preloadImages)
		{
			for (var i = 0; slideshowImage = slideshowImages[i]; i++)
			{
				centerer = document.createElement('table');
				centerer.insertRow(0);
				centerer.getElementsByTagName('tr')[0].insertCell(0);
				centerer.setAttribute('cellspacing', 0);
				centerer.setAttribute('cellpadding', 0);
				centerer.style.width = '100%';
				centerer.style.height = slideshowContainer.offsetHeight + 'px';
				centerer.style.position = 'absolute';
				centerer.getElementsByTagName('td')[0].style.textAlign = 'center';
				centerer.getElementsByTagName('td')[0].style.verticalAlign = 'middle';
				setOpacity(centerer, 0);

				image = document.createElement('img');
				image.src = slideshowImage;
				image.style.margin = 'auto';

				centerer.getElementsByTagName('td')[0].appendChild(image);
				slideshowImages[i] = slideshowContainer.appendChild(centerer);
			}
		}

		// display first image
		slideshowContainer.currentSlide = 0;
		setOpacity(slideshowImages[0], 1);
		slideshowImages[0].style.display = 'block';

		// start the slideshow
		setInterval((function (slideshowContainer, slideshowImages) {
			return function()
			{

				var previousSlide = slideshowContainer.currentSlide;
				slideshowContainer.currentSlide++;
				if (slideshowContainer.currentSlide == slideshowImages.length) slideshowContainer.currentSlide = 0;

				fadeSlide(slideshowImages[previousSlide], slideshowImages[slideshowContainer.currentSlide], 1);

			}
		})(slideshowContainer, slideshowImages), window.slideshowSpeed);
	}


	// fade one element into another
	function fadeSlide(elementFrom, elementTo, fadeValue)
	{
		setOpacity(elementFrom, fadeValue - 0.05);
		setOpacity(elementTo, 1 - fadeValue);

		if (fadeValue >= 0)
		{
			setTimeout((function (elementFrom, elementTo, fadeValue) {
				return function()
				{
					fadeSlide(elementFrom, elementTo, fadeValue);
				}
			})(elementFrom, elementTo, fadeValue - 0.05), 50);
		}
		else
		{
			isFading = false;
		}
	}


	// set opacity of an element
	function setOpacity(element, opacity)
	{
		element.style.opacity = opacity;
		element.style.MozOpacity = opacity;
		element.style.filter = "alpha(opacity=" + (opacity * 100) + ")";
	}


