// Browser Slide-Show script. With image cross fade effect for those browsers that support it.
// Script copyright (C) 2004-2011 www.cryer.co.uk.
// Script is free to use provided this copyright header is included.
			var FadeDurationMS=2000;
			function SetOpacity(object,opacityPct) {
			  // IE.
			  object.style.filter = 'alpha(opacity=' + opacityPct + ')';
			  // Old mozilla and firefox
			  object.style.MozOpacity = opacityPct/100;
			  // Everything else.
			  object.style.opacity = opacityPct/100;
			}
			function ChangeOpacity(id,msDuration,msStart,fromO,toO) {
				var element=document.getElementById(id);
				var msNow = (new Date()).getTime();
				var opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
				if (opacity>=100) {
					SetOpacity(element,100);
					element.timer = undefined;
				} else if (opacity<=0) {
					SetOpacity(element,0);
					element.timer = undefined;
				} else  {
					SetOpacity(element,opacity);
					element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",10);
				}
			}
			function FadeInImage(foregroundID,newImage,backgroundID) {
				var foreground=document.getElementById(foregroundID);
				if (foreground.timer) window.clearTimeout(foreground.timer);
				if (backgroundID) {
					var background=document.getElementById(backgroundID);
					if (background) {
						if (background.src) {
							foreground.src = background.src; 
							SetOpacity(foreground,100);
						}
						background.src = newImage;
						background.style.backgroundImage = 'url(' + newImage + ')';
						background.style.backgroundRepeat = 'no-repeat';
						var startMS = (new Date()).getTime();
						foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "'," + FadeDurationMS + "," + startMS + ",100,0)",10);
					}
				} else {
					foreground.src = newImage;
				}
			}
			var slideCache = new Array();
			function RunSlideShow(pictureID,backgroundID,imageFiles,displaySecs) {
				var imageSeparator = imageFiles.indexOf(";");
				var nextImage = imageFiles.substring(0,imageSeparator);
				if (slideCache[nextImage] && slideCache[nextImage].loaded) {
					FadeInImage(pictureID,nextImage,backgroundID);
					var futureImages = imageFiles.substring(imageSeparator+1,imageFiles.length) + ';' + nextImage;
					setTimeout("RunSlideShow('"+pictureID+"','"+backgroundID+"','"+futureImages+"',"+displaySecs+")",
					displaySecs*1000);
					// Identify the next image to cache.
					imageSeparator = futureImages.indexOf(";");
					nextImage = futureImages.substring(0,imageSeparator);
				} else {
					setTimeout("RunSlideShow('"+pictureID+"','"+backgroundID+"','"+imageFiles+"',"+displaySecs+")",displaySecs*500);
				}
				// Cache the next image to improve performance.
				if (slideCache[nextImage] == null) {
					slideCache[nextImage] = new Image;
					slideCache[nextImage].loaded = false;
					slideCache[nextImage].onload = function(){this.loaded=true};
					slideCache[nextImage].src = nextImage;
				}
			}
