
// -----------------------   Copyright (C) sfaFinity Inc., 2005 -----------------------

//
// Support code for screen shot demos
//

var index = -1;
var slides = new Array();
var preloadImages = true;


if (document.all) {
    window.attachEvent ("onload", _initDemo);
} else {
    window.addEventListener ("load", _initDemo, false);
}


function _initDemo () {
    var divs = document.getElementsByTagName ("div");
    var selector = document.getElementById ("selector");
    for (var i = 0; i < divs.length; i++) {
        if (divs[i].className == "slide") {
            slides[slides.length] = divs[i];
            var captionDivs = divs[i].getElementsByTagName ("div");
            var caption =  (captionDivs && captionDivs.length > 0) ? captionDivs[0].innerHTML : "No caption";
            var opt = new Option (caption, i);
            selector.options[selector.options.length] = opt;

            if (preloadImages) {
                var imgs = divs[i].getElementsByTagName ("img");
                if (imgs && imgs.length) {
                    for (var j = 0; j < imgs.length; j++) {
                        var srcAtr = imgs[j].getAttribute ("alt_src");
                        if (srcAtr) imgs[j].src = "/public/screenShotDemos/" + window.demoName() + "/" + srcAtr;
                    }
                }
            }
            if (slides.length == 1) {
                // Cheat, so that the first slide is displayed while the rest are being loaded.
                showSlide (0);
            }
        }
    }
    if (divs.length <= 1) showSlide (0);
}

function showSlide (i) {
    if (i < 0 || i >= slides.length) return;
    if (index >= 0 && index != i) {
        slides[index].style.display = "none";
    }
    slides[i].style.display = "block";
    index = i;
    document.getElementById ("selector").selectedIndex = i;
    if (!preloadImages) {
        var imgs = slides[i].getElementsByTagName ("img");
        if (imgs && imgs.length) {
            for (var j = 0; j < imgs.length; j++) {
                var srcAtr = imgs[j].getAttribute ("alt_src");
                if (srcAtr) {
                    imgs[j].src = "/public/screenShotDemos/" + window.demoName() + "/" + srcAtr;
                    alert (imgs[j].src);
                }
            }
        }
    }
}

