var bannerInterval, bannerSecondsToChange, bannerSecondsToFade, interval, undefined;

jQuery(document).ready(function ($) {
    bannerSecondsToChange = 5000;
    bannerSecondsToFade = 500;
    loadbannerElements();
    $('.bannerRotation .navigation > a').click(function () {
        if (!$(this).hasClass('active')) {
            activatebanner($(this));
        }
        return false;
    });
    $('.bannerRotation .navigation > a, .bannerRotation .items > .item').mouseover(function () {
        clearTimer(bannerInterval);
    });
    $('.bannerRotation .navigation > a, .bannerRotation .items > .item').mouseleave(function () {
        bannerCounter();
    });
});

var clearTimer = function (intervalToClear) {
    clearInterval(intervalToClear);
    delete intervalToClear;
}

var fadeout = function (sender) {
    clearTimer(interval);
    interval = self.setInterval(function () {
        if ($.browser.msie && $.browser.version < 9) {
            sender.hide();
        }
        else {
            sender.fadeOut(200);
        }
        sender.prev().removeClass('active');
    }, 500);
}

var loadbannerElements = function () {
    if ($('.bannerRotation').length > 0) {
        var bannerElements = $('.bannerRotation > .items > .item').length;
        var bannerNavigation = $('.bannerRotation > .navigation');
	bannerNavigation.empty();
        $('.bannerRotation > .items > .item:first').addClass('active');
        for (i = 0; i < bannerElements; i++) {
            var newlink = document.createElement('a');
            $(newlink).attr('href', '');
            if (i == 0) {
                $(newlink).addClass('active');
            }
            $(newlink).appendTo(bannerNavigation);
        }
        bannerCounter();
    }
}
var bannerCounter = function () {
    clearTimer(bannerInterval);
    bannerInterval = self.setInterval(function () {
        var banner;
        if (($('.bannerRotation > .navigation > a.active').index() + 1) == $('.bannerRotation > .navigation > a').length) {
            banner = $('.bannerRotation > .navigation > a:first');
        }
        else {
            banner = $('.bannerRotation > .navigation > a.active').next();
        }
        activatebanner(banner);
    }, bannerSecondsToChange);
}
var activatebanner = function (sender) {
    var activebanner = $('.bannerRotation .navigation a.active');
    chosenbannerIndex = sender == undefined ? activebanner.index() : sender.index();
    $('.bannerRotation .navigation a').removeClass('active');
    $('.bannerRotation .items .item.active').animate({
        opacity: 0
    }, bannerSecondsToFade, function () {
        $(this).removeClass('active');
    });
    $('.bannerRotation .items .item:nth-child(' + (chosenbannerIndex + 1) + ')').animate({
        opacity: 1
    }, bannerSecondsToFade, function () {
        $(this).addClass('active')
    });
    sender.addClass('active');
    bannerCounter();
} 
