$(document).ready(function() {
    startAnimation();
});
var carrouselItems = [];
var subjects = {};

function startAnimation() {
    $.ajax({
        url: '/carrousel_items',
        dataType: "json",
				data: {language : (window.location.pathname.substr(0,3).indexOf('nl') > 0 ? "nl": "en")},
        success: function(items) {
            carrouselItems = items;
            if (carrouselItems.length > 0) {
                var carrouselItem = null;
                for (var i = 0; carrouselItem = carrouselItems[i]; i++) {
                    subjects[carrouselItem.slug] = "<img src='" + carrouselItem.image + "' alt='" + carrouselItem.title + "' title='" + carrouselItem.title + "' /><div class='arrow png'><h3>&quot;" + carrouselItem.leadtext + "&quot;</h3><div class='extra'>" + carrouselItem.description + "</div></div>";
                }
                if ($(".carroussel").length > 0) {
                    animateCarroussel();
                }
            }
        }
    });
}

var animating;
var timeout;
function animateCarroussel(item) {
    if (!item) {
        if ($(".carroussel .current").next("li").length) {
            item = $(".carroussel .current").next().children("a:first").attr("id");
        } else {
            item = $(".carroussel .current").siblings("li:first").children("a:first").attr("id");
        }
        animating = false;
        timeout = setTimeout(function() {
            hideArrow(item);
        }, 10000);
    } else {
        if (!animating) {
            hideArrow(item);
            clearTimeout(timeout);
        }
    }

    function hideArrow(item) {
        animating = true;
        $(".arrow").animate({
            top: "-300px"
        }, 1500, function() {
            fadeImage(item)
        });
    }

    function fadeImage(item) {
        $(".arrow").css({"visibility": "hidden"});
        $(".carroussel img").animate({
            opacity: 0.0
        }, 1500, function() {
            showImage(item);
            changeScope(item);
        });
    }

    function showImage(item) {
        jQuery("#carrousselitem").html(subjects[item]);
        $(".carroussel img").css({ "opacity" : "0.0" });
        $(".arrow").css({"top" : "300px"});
        $(".carroussel img").animate({
            opacity: 1.0
        }, 1500, function() {
            showArrow()
        });
    }

    function showArrow() {
        $(".arrow").css({"visibility": "visible"});
        $(".arrow").animate({
            top: "20px"
        }, 1500, function() {
            animateCarroussel();
        });
    }

    function changeScope(item) {
        $(".carroussel .current").removeClass("current");
        $(".last").removeClass("last");
        $("#" + item).parent().addClass("current");

        if ($(".overlay li:last").text() == $(".current").text()) {
            $(".overlay li:last").prev().addClass("last");
        } else {
            $(".overlay li:last").addClass("last");
        }
    }
}

function linkClicked(item) {
    animateCarroussel(item);
    //jQuery("#carrousselitem").html(subjects[item]);
}
