if ($.cookie("theme_csspath")) {
    $('link#theme-stylesheet')
        .attr("href", $.cookie("theme_csspath"));
}
if ($.cookie("theme_layout")) {
    $('body')
        .addClass($.cookie("theme_layout"));
}
$(
    function() {
        sliderHomepage();
        sliders();
        fullScreenContainer();
        productDetailGallery(4000);
        menuSliding();
        productDetailSizes();
        utils();
        animations();
        counters();
        demo();
    }
);
/* for demo purpose only - can be deleted */
function demo() {
    if ($.cookie("theme_csspath")) {
        $('link#theme-stylesheet')
            .attr("href", $.cookie("theme_csspath"));
    }
    $("#colour")
        .change(
            function() {
                if ($(this)
                        .val() !== '') {
                    var theme_csspath = 'css/style.' + $(this)
                            .val() + '.css';
                    $('link#theme-stylesheet')
                        .attr("href", theme_csspath);
                    $.cookie(
                        "theme_csspath", theme_csspath, {
                            expires: 365,
                            path: '/'
                        }
                    );
                }
                return false;
            }
        );
    $("#layout")
        .change(
            function() {
                if ($(this)
                        .val() !== '') {
                    var theme_layout = $(this)
                        .val();
                    $('body')
                        .removeClass('wide');
                    $('body')
                        .removeClass('boxed');
                    $('body')
                        .addClass(theme_layout);
                    $.cookie(
                        "theme_layout", theme_layout, {
                            expires: 365,
                            path: '/'
                        }
                    );
                }
                return false;
            }
        );
}
/* slider homepage */
function sliderHomepage() {
    if ($('#slider').length) {
        var owl = $("#slider");
        $("#slider")
            .owlCarousel(
                {
                    autoPlay: 3000,
                    items: 4,
                    itemsDesktopSmall: [
                        900,
                        3
                    ],
                    itemsTablet: [
                        600,
                        3
                    ],
                    itemsMobile: [
                        500,
                        2
                    ]
                }
            );
    }
}
/* sliders */
function sliders() {
    if ($('.owl-carousel').length) {
        $(".customers")
            .owlCarousel(
                {
                    items: 6,
                    itemsDesktopSmall: [
                        990,
                        4
                    ],
                    itemsTablet: [
                        768,
                        2
                    ],
                    itemsMobile: [
                        480,
                        1
                    ]
                }
            );
        $(".testimonials")
            .owlCarousel(
                {
                    items: 4,
                    itemsDesktopSmall: [
                        990,
                        3
                    ],
                    itemsTablet: [
                        768,
                        2
                    ],
                    itemsMobile: [
                        480,
                        1
                    ]
                }
            );
        $('.project')
            .owlCarousel(
                {
                    navigation: true, // Show next and prev buttons
                    navigationText: [
                        "",
                        ""
                    ],
                    slideSpeed: 300,
                    paginationSpeed: 400,
                    autoPlay: true,
                    stopOnHover: true,
                    singleItem: true,
                    afterInit: '',
                    lazyLoad: true
                }
            );
        $('.homepage')
            .owlCarousel(
                {
                    navigation: false, // Show next and prev buttons
                    navigationText: [
                        "",
                        ""
                    ],
                    slideSpeed: 2000,
                    paginationSpeed: 1000,
                    autoPlay: true,
                    stopOnHover: true,
                    singleItem: true,
                    lazyLoad: false,
                    addClassActive: true,
                    afterInit: function() {
                        //animationsSlider();
                    },
                    afterMove: function() {
                        //animationsSlider();
                    }
                }
            );
    }
}
/* menu sliding */
function menuSliding() {
    $('.dropdown')
        .on(
            'show.bs.dropdown', function(e) {
                if ($(window)
                        .width() > 750) {
                    $(this)
                        .find('.dropdown-menu')
                        .first()
                        .stop(true, true)
                        .slideDown();
                } else {
                    $(this)
                        .find('.dropdown-menu')
                        .first()
                        .stop(true, true)
                        .show();
                }
            }
        );
    $('.dropdown')
        .on(
            'hide.bs.dropdown', function(e) {
                if ($(window)
                        .width() > 750) {
                    $(this)
                        .find('.dropdown-menu')
                        .first()
                        .stop(true, true)
                        .slideUp();
                } else {
                    $(this)
                        .find('.dropdown-menu')
                        .first()
                        .stop(true, true)
                        .hide();
                }
            }
        );
}
/* animations */
function animations() {
    delayTime = 0;
    $('[data-animate]')
        .css({opacity: '0'});
    $('[data-animate]')
        .waypoint(
            function(direction) {
                delayTime += 150;
                $(this)
                    .delay(delayTime)
                    .queue(
                        function(next) {
                            $(this)
                                .toggleClass('animated');
                            $(this)
                                .toggleClass(
                                    $(this)
                                        .data('animate')
                                );
                            delayTime = 0;
                            next();
                            //$(this).removeClass('animated');
                            //$(this).toggleClass($(this).data('animate'));
                        }
                    );
            }, {
                offset: '90%',
                triggerOnce: true
            }
        );
    $('[data-animate-hover]')
        .hover(
            function() {
                $(this)
                    .css({opacity: 1});
                $(this)
                    .addClass('animated');
                $(this)
                    .removeClass(
                        $(this)
                            .data('animate')
                    );
                $(this)
                    .addClass(
                        $(this)
                            .data('animate-hover')
                    );
            }, function() {
                $(this)
                    .removeClass('animated');
                $(this)
                    .removeClass(
                        $(this)
                            .data('animate-hover')
                    );
            }
        );
}
function animationsSlider() {
    var delayTimeSlider = 400;
    $('.owl-item:not(.active) [data-animate-always]')
        .each(
            function() {
                $(this)
                    .removeClass('animated');
                $(this)
                    .removeClass(
                        $(this)
                            .data('animate-always')
                    );
                $(this)
                    .stop(true, true, true)
                    .css({opacity: 0});
            }
        );
    $('.owl-item.active [data-animate-always]')
        .each(
            function() {
                delayTimeSlider += 500;
                $(this)
                    .delay(delayTimeSlider)
                    .queue(
                        function(next) {
                            $(this)
                                .addClass('animated');
                            $(this)
                                .addClass(
                                    $(this)
                                        .data('animate-always')
                                );
                            console.log(
                                $(this)
                                    .data('animate-always')
                            );
                        }
                    );
            }
        );
}
/* counters */
function counters() {
    $('.counter')
        .counterUp(
            {
                delay: 10,
                time: 1000
            }
        );
}
/* picture zoom */
function pictureZoom() {
    $('.product .image, .post .image, .photostream div')
        .each(
            function() {
                var imgHeight = $(this)
                    .find('img')
                    .height();
                $(this)
                    .height(imgHeight);
            }
        );
}
/* full screen intro */
function fullScreenContainer() {
    var screenWidth = $(window)
                          .width() + "px";
    if ($(window)
            .height() > 500) {
        var screenHeight = $(window)
                               .height() + "px";
    } else {
        var screenHeight = "500px";
    }
    $("#intro, #intro .item")
        .css(
            {
                width: screenWidth,
                height: screenHeight
            }
        );
}
function utils() {
    /* tooltips */
    $('[data-toggle="tooltip"]')
        .tooltip();
    /* click on the box activates the radio */
    $('#checkout')
        .on(
            'click', '.box.shipping-method, .box.payment-method', function(e) {
                var radio = $(this)
                    .find(':radio');
                radio.prop('checked', true);
            }
        );
    /* click on the box activates the link in it */
    $('.box.clickable')
        .on(
            'click', function(e) {
                window.location = $(this)
                    .find('a')
                    .attr('href');
            }
        );
    /* external links in new window*/
    $('.external')
        .on(
            'click', function(e) {
                e.preventDefault();
                window.open(
                    $(this)
                        .attr("href")
                );
            }
        );
    /* animated scrolling */
    $('.scroll-to, .scroll-to-top')
        .click(
            function(event) {
                var full_url = this.href;
                var parts = full_url.split("#");
                if (parts.length > 1) {
                    scrollTo(full_url);
                    event.preventDefault();
                }
            }
        );
    function scrollTo(full_url) {
        var parts = full_url.split("#");
        var trgt = parts[ 1 ];
        var target_offset = $("#" + trgt)
            .offset();
        var target_top = target_offset.top - 100;
        if (target_top < 0) {
            target_top = 0;
        }
        $('html, body')
            .animate(
                {
                    scrollTop: target_top
                }, 1000
            );
    }
}
/* product detail gallery */
function productDetailGallery(confDetailSwitch) {
    $('.thumb:first')
        .addClass('active');
    timer = setInterval(autoSwitch, confDetailSwitch);
    $(".thumb")
        .click(
            function(e) {
                switchImage($(this));
                clearInterval(timer);
                timer = setInterval(autoSwitch, confDetailSwitch);
                e.preventDefault();
            }
        );
    $('#mainImage')
        .hover(
            function() {
                clearInterval(timer);
            }, function() {
                timer = setInterval(autoSwitch, confDetailSwitch);
            }
        );
    function autoSwitch() {
        var nextThumb = $('.thumb.active')
            .closest('div')
            .next('div')
            .find('.thumb');
        if (nextThumb.length == 0) {
            nextThumb = $('.thumb:first');
        }
        switchImage(nextThumb);
    }
    function switchImage(thumb) {
        $('.thumb')
            .removeClass('active');
        var bigUrl = thumb.attr('href');
        thumb.addClass('active');
        $('#mainImage img')
            .attr('src', bigUrl);
    }
}
/* product detail sizes */
function productDetailSizes() {
    $('.sizes a')
        .click(
            function(e) {
                e.preventDefault();
                $('.sizes a')
                    .removeClass('active');
                $('.size-input')
                    .prop('checked', false);
                $(this)
                    .addClass('active');
                $(this)
                    .next('input')
                    .prop('checked', true);
            }
        );
}
$.fn.alignElementsSameHeight = function() {
    $('.same-height-row')
        .each(
            function() {
                var maxHeight = 0;
                var children = $(this)
                    .find('.same-height');
                children.height('auto');
                if ($(window)
                        .width() > 768) {
                    children.each(
                        function() {
                            if ($(this)
                                    .innerHeight() > maxHeight) {
                                maxHeight = $(this)
                                    .innerHeight();
                            }
                        }
                    );
                    children.innerHeight(maxHeight);
                }
                maxHeight = 0;
                children = $(this)
                    .find('.same-height-always');
                children.height('auto');
                children.each(
                    function() {
                        if ($(this)
                                .height() > maxHeight) {
                            maxHeight = $(this)
                                .innerHeight();
                        }
                    }
                );
                children.innerHeight(maxHeight);
            }
        );
}
$(window)
    .load(
        function() {
            windowWidth = $(window)
                .width();
            $(this)
                .alignElementsSameHeight();
            pictureZoom();
        }
    );
$(window)
    .resize(
        function() {
            newWindowWidth = $(window)
                .width();
            if (windowWidth !== newWindowWidth) {
                setTimeout(
                    function() {
                        $(this)
                            .alignElementsSameHeight();
                        fullScreenContainer();
                        pictureZoom();
                    }, 205
                );
                windowWidth = newWindowWidth;
            }
        }
    );