function setOpacity(el, opacity) {

	//  Which opacity method does this browser support?

	opacity /= 100;

	el.style.opacity = opacity;
	el.style.MozOpacity = opacity;
	el.style.filter = "alpha(opacity=" + (opacity*100) + ")";

}

function fadeImage(el, currentOpacity) {

	currentOpacity += 3;

	if (currentOpacity > 100) {
		setOpacity(el, 100);
		var prevEl = el.previousSibling ? el.previousSibling : el.parentNode.lastChild;
		prevEl.style.visibility = 'hidden';
		el.style.zIndex = 1;
		window.setTimeout(startFading, imageTimeout);
	}
	else {
		setOpacity(el, currentOpacity);
		window.setTimeout(function() { fadeImage(el, currentOpacity); }, 40);
	}

}


function startFading() {

	var el = document.getElementById('slideshow').childNodes[nextImage];

	el.style.visibility = 'visible';
	el.style.zIndex = 2;
	setOpacity(el, 0);
	fadeImage(el,0);

	nextImage = (nextImage < images.length-1) ? nextImage + 1 : 0;

}


function pageLoad() {
	
  var el = document.getElementById('slideshow');
  while (el.firstChild) { el.removeChild(el.firstChild); }

  el.style.width = imageWidth + 'px';
  el.style.height = imageHeight + 'px';

  for(var i=0; i<images.length; i++) {

    var t = document.createElement('IMG');
    t.setAttribute('src',images[i]);
    t.setAttribute('width',imageWidth);
    t.setAttribute('height',imageHeight);
    t.style.position = 'absolute';
    t.style.visibility = 'hidden';
    el.appendChild(t);

  }
  
  nextImage = Math.floor(Math.random() * (images.length-1));
  el.childNodes[nextImage].style.visibility = 'visible';
  nextImage = (nextImage < images.length-1) ? nextImage + 1 : 0;
  //el.firstChild.style.visibility = 'visible';

  window.setTimeout(startFading, imageTimeout);

}


window.onload = pageLoad;
