$(function () {
    //lastminute
    var lastminuteEnabled = true;
    var lastminuteTimeout = null;
    var lastminute = $('#happyhour-product-slider');
    lastminute.each(function () {
        displayNextLastminute.call(this, true);
    });
    lastminute.add($('#happyhour-prev')).add($('#happyhour-next')).hover(function () {
        lastminuteEnabled = false;
        window.clearTimeout(lastminuteTimeout);
    }, function () {
        lastminuteEnabled = true;
        lastminuteTimeout = window.setTimeout(function () {
            displayNextLastminute.call(lastminute);
        },5000);
    });
    $('#happyhour-prev').click(function () {
        displayNextLastminute.call(lastminute, false, true, true);
    });
    $('#happyhour-next').click(function () {
        displayNextLastminute.call(lastminute, false, true);
    });
    function displayNextLastminute(init, forceEnabled, prev) {
        var animationDuration = 500;
        var $banners = $(this);
        var duration = 5000;
        if ($banners.find('div.happyhour-product').length > 1) {
            if (lastminuteEnabled || forceEnabled) {
                //prave zobrazeny chip
                var bannerItemCur = $banners.find('div.happyhour-product:eq(0)');
                if (init) {
                    if (lastminuteEnabled) {
                        lastminuteTimeout = window.setTimeout(function () {
                            displayNextLastminute.call($banners);
                        },duration + animationDuration);
                    }
                } else {
                    var bannerContainer = bannerItemCur.parent();
                    if (prev) {
                        nextItem = $banners.find('div.happyhour-product:last');
                        bannerContainer.prepend(nextItem);
                        bannerContainer.css('marginLeft', -(nextItem.width()) + 'px');
                        //animacia
                        bannerContainer.animate({
                            marginLeft: 0
                        },{
                            duration: animationDuration,
                            complete: function () {
                                if (lastminuteEnabled) {
                                    lastminuteTimeout = window.setTimeout(function () {
                                        displayNextLastminute.call($banners);
                                    },duration + animationDuration);
                                }
                            }
                        });
                    } else {
                        nextItem = $banners.find('div.happyhour-product:eq(1)');
                        var cenovka = nextItem.find('.cenovka');
                        //animacia
                        bannerContainer.animate({
                            marginLeft: -(bannerItemCur.width()) + 'px'
                        },{
                            duration: animationDuration,
                            complete: function () {
                                bannerContainer.append(bannerItemCur);
                                bannerContainer.css('marginLeft', 0);
                                if (lastminuteEnabled) {
                                    lastminuteTimeout = window.setTimeout(function () {
                                        displayNextLastminute.call($banners);
                                    },duration + animationDuration);
                                }
                            }
                        });
                    }
                }
            }
        }
    }
    
    //animacia hlavnych bannerov
    var banners1 = $('#homebanners-animation');
    var banners1Timeout = null;
    var banners1ActiveIdx = 0;
    var banners1Thumbs = $('#homebanners-thumbs li');
    function displayNextBanners1Item(init, itemidx) {
        if (banners1Timeout) {
            window.clearTimeout(banners1Timeout);
            banners1Timeout = null;
        }
        var $banners = $(this);
        var $bannerItems = $(this).find('li');
        var animationDuration = 1000;
        if ($bannerItems.length > 1) {
            var bannerItemCur = $banners.find('li').eq(banners1ActiveIdx);
            var duration = 5000;
            if (init) {
                banners1Timeout = window.setTimeout(function () {
                    displayNextBanners1Item.call($banners[0]);
                }, duration + animationDuration);
            } else {
                if (typeof(itemidx) == 'number') {
                    var nextItem = $bannerItems.eq(itemidx);
                } else {
                    var nextItem = bannerItemCur.next('li');
                }
                if (nextItem.length == 0) {
                    nextItem = $banners.find('li:first');
                }
                banners1ActiveIdx = nextItem.index();
                bannerItemCur.fadeOut(animationDuration);
                nextItem.fadeIn(animationDuration, function () {
                    banners1Timeout = window.setTimeout(function () {
                        displayNextBanners1Item.call($banners[0]);
                    },duration + animationDuration);
                });
                //zaktivnime nahlad
                banners1Thumbs.removeClass('active').eq(banners1ActiveIdx).addClass('active');
            }
        }
    }
    displayNextBanners1Item.call(banners1, true);
    banners1Thumbs.hover(function () {
        $(this).addClass('hover');
    }, function () {
        $(this).removeClass('hover');
    }).css('cursor', 'pointer').click(function () {
        displayNextBanners1Item.call(banners1, false, $(this).index());
    });
    
    var countdown = $('#countdown');
    if (countdown.length) {
        var timeleft = countdown.data('time');
        var digits = countdown.find('#countdown-h1, #countdown-h0, #countdown-m1, #countdown-m0, #countdown-s1, #countdown-s0');
        function displayCountdown(timeleft) {
            if (timeleft < 0) {
                timeleft = 0;
                digits.removeClass().addClass('digit-0');
                return;
            }
            var parsetime = {
                h: 0,
                m: 0,
                s: 0
            };
            parsetime.h = Math.floor(timeleft / 3600);
            parsetime.m = Math.floor((timeleft - (parsetime.h * 3600)) / 60);
            parsetime.s = timeleft - (parsetime.h * 3600) - (parsetime.m * 60);
            if (parsetime.h <= 9) {
                digits.eq(0).removeClass().addClass('digit-0');
                digits.eq(1).removeClass().addClass('digit-' + parsetime.h);
            } else {
                digits.eq(0).removeClass().addClass('digit-' + Math.min(Math.floor(parsetime.h / 10),9));
                digits.eq(1).removeClass().addClass('digit-' + (parsetime.h % 10));
            }
            if (parsetime.m <= 9) {
                digits.eq(2).removeClass().addClass('digit-0');
                digits.eq(3).removeClass().addClass('digit-' + parsetime.m);
            } else {
                digits.eq(2).removeClass().addClass('digit-' + Math.floor(parsetime.m / 10));
                digits.eq(3).removeClass().addClass('digit-' + (parsetime.m % 10));
            }
            if (parsetime.s <= 9) {
                digits.eq(4).removeClass().addClass('digit-0');
                digits.eq(5).removeClass().addClass('digit-' + parsetime.s);
            } else {
                digits.eq(4).removeClass().addClass('digit-' + Math.floor(parsetime.s / 10));
                digits.eq(5).removeClass().addClass('digit-' + (parsetime.s % 10));
            }
            //rekurzia
            window.setTimeout(function () {
                timeleft -= 1;
                displayCountdown(timeleft);
            }, 1000);
        }
        displayCountdown(timeleft);
    }
    
    $('#bestseller').productCarousel({
        itemMargin: 0,
        moveBy: 1
    });
});
