﻿
var slideShows = {};

function slideShow(id, imageUrls, crossfadeDuration, slideShowSpeed)
{
	this.id = id;
	this.imageUrls = imageUrls;
	this.crossfadeDuration = crossfadeDuration;
	this.slideShowSpeed = slideShowSpeed;
	this.current = 0;
	this.length = imageUrls.length;
	this.timeout = null;
	slideShows[id] = this;
}

function runSlideShow(id) 
{
	var slideShow = slideShows[id];

	blendImage(id + '_div', id + '_img', slideShow.imageUrls[slideShow.current], slideShow.crossfadeDuration);
	slideShow.current++;
	if (slideShow.current > (slideShow.length - 1)) 
		slideShow.current = 0;
	this.timeout = setTimeout("runSlideShow('" + slideShow.id + "')", slideShow.slideShowSpeed);
}

function startSlideShows()
{
	for (var id in slideShows)
		runSlideShow(id);
}

function blendImage(divid, imageid, imageUrl, millisec) 
{ 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
    //set the current image as background 
    document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")"; 
    //make image transparent 
    changeOpac(0, imageid); 
    //make new image 
    document.getElementById(imageid).src = imageUrl; 
    //fade in image 
    for(i = 0; i <= 100; i++) { 
        setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed)); 
        timer++; 
    } 
} 

function changeOpac(opacity, id) 
{ 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
} 

window.onload = startSlideShows;
