$(function () {
    //lastminute
    var lastminuteEnabled = true;
    var lastminuteTimeout = null;
    var lastminute = $('#rychlyklik-product-slider');
    lastminute.each(function () {
        displayNextLastminute.call(this, true);
    });
    lastminute.add($('#rychlyklik-prev')).add($('#rychlyklik-next')).hover(function () {
        lastminuteEnabled = false;
        window.clearTimeout(lastminuteTimeout);
    }, function () {
        lastminuteEnabled = true;
        lastminuteTimeout = window.setTimeout(function () {
            displayNextLastminute.call(lastminute);
        },5000);
    });
    $('#rychlyklik-prev').click(function () {
        displayNextLastminute.call(lastminute, false, true, true);
    });
    $('#rychlyklik-next').click(function () {
        displayNextLastminute.call(lastminute, false, true);
    });
    function displayNextLastminute(init, forceEnabled, prev) {
        var animationDuration = 500;
        var $banners = $(this);
        if ($banners.find('div.rychlyklik-product').length > 1) {
            if (lastminuteEnabled || forceEnabled) {
                //prave zobrazeny chip
                var bannerItemCur = $banners.find('div.rychlyklik-product:eq(0)');
                var duration = 0;
                if (init) {
                    duration = parseInt(bannerItemCur.find('input[name=duration]').val());
                    $('#rychlyklik-pcn').text(bannerItemCur.find('.pcn').text());
                } else {
                    var bannerContainer = bannerItemCur.parent();
                    if (prev) {
                        nextItem = $banners.find('div.rychlyklik-product:last');
                        bannerContainer.prepend(nextItem);
                        bannerContainer.css('marginLeft', -(nextItem.width()) + 'px');
                        //animacia
                        bannerContainer.animate({
                            marginLeft: 0
                        },{
                            duration: animationDuration
                        });
                    } else {
                        nextItem = $banners.find('div.rychlyklik-product:eq(1)');
                        //animacia
                        bannerContainer.animate({
                            marginLeft: -(bannerItemCur.width()) + 'px'
                        },{
                            duration: animationDuration,
                            complete: function () {
                                bannerContainer.append(bannerItemCur);
                                bannerContainer.css('marginLeft', 0);
                            }
                        });
                    }
                    //zobrazenie percenta
                    $('#rychlyklik-pcn').text(nextItem.find('.pcn').text());
                    duration = parseInt(nextItem.find('input[name=duration]').val());
                }
                if (!duration) {
                    duration = 5000;
                }
                if (lastminuteEnabled) {
                    lastminuteTimeout = window.setTimeout(function () {
                        displayNextLastminute.call($banners);
                    },duration + animationDuration);
                }
            }
        }
    }
    
    //animacia hlavnych bannerov
    //carousel animation
    var banners1Timeout = null;
    var banners1ActiveIdx = 0;
    $('#homebanners-xxl').each(function () {
        displayNextBanners1Item.call(this, true);
    });
    function displayNextBanners1Item(init, itemidx) {
        var $banners = $(this);
        var $bannerItems = $(this).find('li');
        var $progressbar = $('#homebanners-progressbar');
        var animationDuration = 1000;
        if ($bannerItems.length > 1) {
            var bannerItemCur = $banners.find('li').eq(banners1ActiveIdx);
            var duration = 0;
            if (init) {
                duration = parseInt(bannerItemCur.find('input[name=duration]').val());
                //vytvorime bodkovadlo
                var progressItem = null;
                for (var i = 0 ; i < $bannerItems.length ; i++) {
                    progressItem = $('<span></span>');
                    progressItem.addClass('item');
                    if (i == 0) {
                        progressItem.addClass('item-active');
                    }
                    progressItem.text(i+1);
                    progressItem.click(function () {
                        displayNextBanners1Item.call($banners, false, $(this).index());
                    });
                    $progressbar.append(progressItem);
                }
            } else {
                if (typeof(itemidx) == 'number') {
                    var nextItem = $bannerItems.eq(itemidx);
                    if (banners1Timeout) {
                        window.clearTimeout(banners1Timeout);
                        banners1Timeout = null;
                    }
                } else {
                    var nextItem = bannerItemCur.next('li');
                }
                if (nextItem.length == 0) {
                    nextItem = $banners.find('li:first');
                }
                banners1ActiveIdx = nextItem.index();
                bannerItemCur.fadeOut(animationDuration);
                nextItem.fadeIn(animationDuration);
                duration = parseInt(nextItem.find('input[name=duration]').val());
                //zobrazime bodku
                $progressbar.find('span.item')
                    .removeClass('item-active')
                    .eq(banners1ActiveIdx)
                        .addClass('item-active');
            }
            if (!duration) {
                duration = 5000;
            }
            banners1Timeout = window.setTimeout(function () {
                displayNextBanners1Item.call($banners[0]);
            },duration + animationDuration);
        }
    }
});
