function changeOpac(opacity, id, divid)
{
        document.getElementById(divid).style.width = document.getElementById(id).width+'px';

        var object = document.getElementById(id).style;

        object.opacity = (opacity / 100);
        object.MozOpacity = (opacity / 100);
        object.KhtmlOpacity = (opacity / 100);
        object.filter = "alpha(opacity=" + opacity + ")";

}

function changeimage(divid, imageid, imagefile) {
        document.getElementById(imageid).src = imagefile;
        document.getElementById(divid).style.width = document.getElementById(imageid).width+'px';
}

function blendimage(divid, imageid, imagefile, millisec)
{
        var speed = Math.round(millisec / 10);
        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, divid);

        //make new image
        //document.getElementById(imageid).src = imagefile;
        setTimeout("changeimage('" + divid + "','" + imageid + "','" + imagefile + "')",100);

        //fade in image
        for(i = 0; i <= 100; i=i+10)
        {
                setTimeout("changeOpac(" + i + ",'" + imageid + "','" + divid + "')",(timer * speed/2 * 15)+200);
                timer++;
        }


}

var slideCache = new Array();

function RunSlideShow(divid,imageid,imageFiles,displaySecs)
{
        var imageSeparator = imageFiles.indexOf(";");
        var nextImage = imageFiles.substring(0,imageSeparator);

        changeOpac(0, imageid, divid);
        blendimage(divid,imageid,nextImage,100);

        var futureImages= imageFiles.substring(imageSeparator+1,imageFiles.length)+ ';' + nextImage;
        setTimeout("RunSlideShow('"+divid+"','"+imageid+"','"+futureImages+"',"+displaySecs+")",displaySecs*1000);

        // Cache the next image to improve performance.
        imageSeparator = futureImages.indexOf(";");
        nextImage = futureImages.substring(0,imageSeparator);
        if (slideCache[nextImage] == null)
        {
                slideCache[nextImage] = new Image;
                slideCache[nextImage].src = nextImage;
        }
}
