﻿// Coding for the banner rotator
// Delay and Fade Speed are listed in milliseconds
var rt_current = 0;
var rt_cImage;
var rt_images = Array();

function setOpacity(obj, opacity) {
    opacity = (opacity == 100) ? 99.999 : opacity;
    obj.style.filter = "alpha(opacity:" + opacity + ")"; // IE/Win
    obj.style.KHTMLOpacity = opacity / 100; // Safari<1.2, Konqueror
    obj.style.MozOpacity = opacity / 100; // Older Mozilla and Firefox
    obj.style.opacity = opacity / 100; // Safari 1.2, newer Firefox and Mozilla, CSS3
}

function crossFadeComplete(speedTime, delayTime) {
    setTimeout("gFader(" + speedTime + ", " + delayTime + ")", delayTime);
}

function crossFade(objFade, newImageIndex, opacity, speed, delay) {
    if (document.getElementById) {
        objIn = document.getElementById(objFade);
        if (opacity > 0) { // Fade in the next image
            if (opacity <= 100) {
                setOpacity(objIn, opacity);
                opacity += 10;
                window.setTimeout("crossFade('" + objFade + "','" + newImageIndex+ "', " + opacity + ", " + speed + ", " + delay + ")", speed);
            } else { // Next image is faded in, let's clean up
                crossFadeComplete(speed, delay);
            }
        } else { // Fade out the current image
            if (opacity >= -100) {
                setOpacity(objIn, 100 + opacity);
                opacity -= 10;
                window.setTimeout("crossFade('" + objFade + "','" + newImageIndex+ "', " + opacity + ", " + speed + ", " + delay + ")", speed);
            } else { // Image faded out, start to fade in the next image
                objIn.src = rt_images[newImageIndex].src;
                window.setTimeout("crossFade('" + objFade + "','" + newImageIndex+ "', " + 10 + ", " + speed + ", " + delay + ")", 1);
            }

        }
    }
}

function fadeIn(objId, opacity, speed) {
    if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity <= 100) {
            setOpacity(obj, opacity);
            opacity += 10;
            window.setTimeout("fadeIn('" + objId + "'," + opacity + ")", speed);
        }
    }
}
function fadeOut(objId, opacity, speed) {
    if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity > 0) {
            setOpacity(obj, opacity);
            opacity -= 10;
            window.setTimeout("fadeOut('" + objId + "'," + opacity + ")", speed);
        }
    }
}

function gFader(rt_speed, rt_delay) {
    var next = (rt_current + 1) % rt_images.length;

    crossFade("cImage", next, 0, rt_speed, rt_delay);
    rt_current = next;
}

function startFader(objId, delayTime, speedTime, bannerArray) {
    rt_cImage = document.getElementById(objId);

    if (document.images) {
        for (i = 0; i < bannerArray.length; i++) {
            rt_images[i] = new Image();
            rt_images[i].src = bannerArray[i];
        }
        rt_cImage.src = rt_images[0].src;
        setTimeout("gFader(" + speedTime + ", " + delayTime + ")", delayTime);
    }
}
