﻿
// Constants
var blendIterval = 7000;
var blendDelay = 50;
var blendStep = 5;

var g_isRunning = true;
var g_interval;
var g_i = 0;
var g_arr = [
    { src: "/img/animation/winter/02_feldberg.jpg", image: undefined, description: "Großer Feldberg, Schmitten im Taunus", href: "/angebote/felsen-und-klippen/grosser-feldberg" },
    { src: "/img/animation/winter/03_oberreiffenberg.jpg", image: undefined, description: "Oberreifenberg, Schmitten im Taunus", href: "/angebote/wintersport/rodelstrecke-an-der-jugendherberge" },
    { src: "/img/animation/winter/04_wm_bad_vilbel.jpg", image: undefined, description: "Weihnachtsmarkt, Bad Vilbel", href: "/de/staedte-und-ortschaften/bad-vilbel.aspx" },
    { src: "/img/animation/winter/05_hattsteinweiher.jpg", image: undefined, description: "Hattsteinweiher, Usingen", href: "/angebote/erlebnispfade/hattsteinweiher" },
    { src: "/img/animation/winter/06_feldberg_lll.jpg", image: undefined, description: "Großer Feldberg, Schmitten im Taunus", href: "/angebote/felsen-und-klippen/grosser-feldberg" },
    { src: "/img/animation/winter/07_7.jpg", image: undefined, description: "Unionskirche, Idstein", href: "/angebote/kirchen/evangelische-unionskirche-idstein" },
    { src: "/img/animation/winter/08_feldberg_X.jpg", image: undefined, description: "Großer Feldberg, Schmitten im Taunus", href: "/angebote/felsen-und-klippen/grosser-feldberg" },
    { src: "/img/animation/winter/10_schmitten_treisberg.jpg", image: undefined, description: "Treisberg, Schmitten im Taunus", href: "/angebote/wintersport/rodelhang-am-treisberg" },
    { src: "/img/animation/winter/11_4.jpg", image: undefined, description: "Amtshof, Bad Camberg", href: "/de/staedte-und-ortschaften/bad-camberg.aspx" },
    { src: "/img/animation/winter/12_feldberg_Vl.jpg", image: undefined, description: "Großer Feldberg, Schmitten im Taunus", href: "/angebote/felsen-und-klippen/grosser-feldberg" },
    { src: "/img/animation/winter/13_11.jpg", image: undefined, description: "Burgruine, Königstein im Taunus", href: "/angebote/burgen-und-schloesser/burgruine-koenigstein" }
];

// Preload images
for (var i = 0; i < g_arr.length; i++) {
    g_arr[i].image = new Image();
    g_arr[i].image.src = g_arr[i].src;
}

function getNextImage() {
    if (++g_i >= (g_arr.length - 1)) {
        g_i = 0;
    }

    return g_arr[g_i];
}

function setImage(img) {

    // Set image as background image
    if ($("#galleryImage").get(0).src) {
        $("#animatable").css("background-image", "url(" + $("#galleryImage").get(0).src + ")");
    }

    var imageNode = $("#galleryImage").get(0);

    imageNode.src = img.src;

    $("#galleryImage").css("visibility", "visible");
    $("#galleryDetail").text(img.description);
    $("#galleryDetail").attr("href", img.href);

    if (typeof (g_blendObj[imageNode]) == "undefined")
    // Blend to new image
        jWDBlendTo(imageNode, 100, 0, blendStep, blendDelay);
    //else
    // Blending still in progreass - introduce delay
    //    setTimeout(function () { setImage(img); }, 1000);
}

function fadeNext() {
    // Get next image
    setImage(getNextImage());
};

function start() {

    if (!g_isRunning) {
        g_interval = window.setInterval(function () { fadeNext(); }, blendIterval);

        $("#controlPause").attr("src", "/img/animation_pause-trans.png");
        $("#controlStart").attr("src", "/img/animation_start_pressed-trans.png");
    }

    g_isRunning = true;
}

function stop() {

    if (g_isRunning) {
        window.clearInterval(g_interval);

        $("#controlPause").attr("src", "/img/animation_pause_pressed-trans.png");
        $("#controlStart").attr("src", "/img/animation_start-trans.png");
    }

    g_isRunning = false;
}

$(window).load(function () {

    $("#animatable").css("background-image", "url(" + g_arr[0].src + ")");
    $("#galleryDetail").text(g_arr[0].description);
    $("#galleryDetail").attr("href", g_arr[0].href);

    g_interval = setInterval(function () { fadeNext(); }, blendIterval);
});
