/*
| ----------------------------------------------------------------------------------
| TABLE OF CONTENT
| ----------------------------------------------------------------------------------
-Preloader
-Scroll Animation
-Scale images
-Chars Start
-Loader blocks
-Zoom Images
-Select customization
-Main slider
-Sliders
-Sliders with thumbnails
-Slider numbers
-Video player
-View catalog
*/
$(document).ready(function() {
"use strict";
/////////////////////////////////////////////////////////////////
// Preloader
/////////////////////////////////////////////////////////////////
var $preloader = $('#page-preloader'),
$spinner = $preloader.find('.spinner-loader');
$spinner.fadeOut();
$preloader.delay(50).fadeOut('slow');
/////////////////////////////////////
// Scroll Animation
/////////////////////////////////////
if ($('.scrollreveal').length) {
window.sr = ScrollReveal({
reset:true,
duration: 1000,
delay: 200
});
sr.reveal('.scrollreveal');
}
/////////////////////////////////////////////////////////////////
// Scale images
/////////////////////////////////////////////////////////////////
if ($('.img-scale').length) {
$(function () { objectFitImages('.img-scale') });
}
/////////////////////////////////////
// Chars Start
/////////////////////////////////////
if ($('body').length) {
$(window).on('scroll', function() {
var winH = $(window).scrollTop();
$('.b-progress-list').waypoint(function() {
$('.js-chart').each(function() {
CharsStart();
});
}, {
offset: '80%'
});
});
}
function CharsStart() {
$('.js-chart').easyPieChart({
barColor: false,
trackColor: false,
scaleColor: false,
scaleLength: false,
lineCap: false,
lineWidth: false,
size: false,
animate: 5000,
onStep: function(from, to, percent) {
$(this.el).find('.js-percent').text(Math.round(percent));
}
});
}
/////////////////////////////////////
// Loader blocks
/////////////////////////////////////
$( ".js-scroll-next" ).on( "click", function() {
var hiddenContent = $( ".js-scroll-next + .js-scroll-content") ;
$(".js-scroll-next").hide() ;
hiddenContent.show() ;
hiddenContent.addClass("animated");
hiddenContent.addClass("animation-done");
hiddenContent.addClass("bounceInUp");
});
/////////////////////////////////////
// Zoom Images
/////////////////////////////////////
if ($('.js-zoom-gallery').length) {
$('.js-zoom-gallery').each(function() { // the containers for all your galleries
$(this).magnificPopup({
delegate: '.js-zoom-gallery__item', // the selector for gallery item
type: 'image',
gallery: {
enabled:true
},
mainClass: 'mfp-with-zoom', // this class is for CSS animation below
zoom: {
enabled: true, // By default it's false, so don't forget to enable it
duration: 300, // duration of the effect, in milliseconds
easing: 'ease-in-out', // CSS transition easing function
// The "opener" function should return the element from which popup will be zoomed in
// and to which popup will be scaled down
// By defailt it looks for an image tag:
opener: function(openerElement) {
// openerElement is the element on which popup was initialized, in this case its tag
// you don't need to add "opener" option if this code matches your needs, it's defailt one.
return openerElement.is('img') ? openerElement : openerElement.find('img');
}
}
});
});
}
if ($('.js-zoom-images').length) {
$('.js-zoom-images').magnificPopup({
type: 'image',
mainClass: 'mfp-with-zoom', // this class is for CSS animation below
zoom: {
enabled: true, // By default it's false, so don't forget to enable it
duration: 300, // duration of the effect, in milliseconds
easing: 'ease-in-out', // CSS transition easing function
// The "opener" function should return the element from which popup will be zoomed in
// and to which popup will be scaled down
// By defailt it looks for an image tag:
opener: function(openerElement) {
// openerElement is the element on which popup was initialized, in this case its tag
// you don't need to add "opener" option if this code matches your needs, it's defailt one.
return openerElement.is('img') ? openerElement : openerElement.find('img');
}
}
});
}
if ($('.popup-youtube').length) {
$('.popup-youtube').magnificPopup({
disableOn: 700,
type: 'iframe',
mainClass: 'mfp-fade',
removalDelay: 160,
preloader: false,
fixedContentPos: false
});
}
/////////////////////////////////////
// Select customization
/////////////////////////////////////
if ($('.selectpicker').length) {
$('.selectpicker').selectpicker();
}
////////////////////////////////////////////
// Main slider
///////////////////////////////////////////
if ($('#main-slider').length) {
var sliderWidth = $("#main-slider").data("slider-width");
var sliderHeigth = $("#main-slider").data("slider-height");
var sliderArrows = $("#main-slider").data("slider-arrows");
var sliderButtons = $("#main-slider").data("slider-buttons");
$( '#main-slider' ).sliderPro({
width: sliderWidth,
height: sliderHeigth,
arrows: sliderArrows,
buttons: sliderButtons,
fade: true,
fullScreen: true,
touchSwipe: false,
autoplay: true
});
}
////////////////////////////////////////////
// Sliders
///////////////////////////////////////////
if ($('.js-slider').length) {
$('.js-slider').slick();
}
////////////////////////////////////////////
// Sliders with thumbnails
///////////////////////////////////////////
if ($('.js-slider-for').length) {
$('.js-slider-for').slick({
arrows: true,
fade: true,
asNavFor: '.js-slider-nav'
});
$('.js-slider-nav').slick({
slidesToShow: 5,
slidesToScroll: 1,
asNavFor: '.js-slider-for',
focusOnSelect: true
});
}
/////////////////////////////////////////////////////////////////
// Slider numbers
/////////////////////////////////////////////////////////////////
if ($('#filterPrice').length) {
var keypressSlider = document.getElementById('filterPrice');
var input0 = document.getElementById('input-with-keypress-0');
var input1 = document.getElementById('input-with-keypress-1');
var inputs = [input0, input1];
noUiSlider.create(keypressSlider, {
start: [5000, 35000],
connect: true,
step: 100,
format: wNumb({
decimals: 0,
prefix: '$',
thousand: ','
}),
range: {
'min': 1000,
'max': 50000
}
});
keypressSlider.noUiSlider.on('update', function (values, handle) {
inputs[handle].value = values[handle];
});
}
if ($('#sliderRange').length) {
var keypressSliderRange = document.getElementById('sliderRange');
var inputRange = document.getElementById('input-range');
var inputsRange = [inputRange];
noUiSlider.create(keypressSliderRange, {
start: 100,
connect: true,
step: 10,
format: wNumb({
decimals: 0,
prefix: 'within ',
suffix: 'km',
thousand: ','
}),
range: {
'min': 0,
'max': 200
}
});
keypressSliderRange.noUiSlider.on('update', function (values, handle) {
inputsRange[handle].value = values[handle];
});
}
/////////////////////////////////////
// Video player
/////////////////////////////////////
if ($('.player').length) {
$(".player").flowplayer();
}
////////////////////////////////////////////
// View catalog
///////////////////////////////////////////
$('.btns-switch__item').on( 'click', function() {
$('.btns-switch').find('.active').removeClass('active');
$( this ).addClass('active');
});
$('.js-view-th').on( 'click', function() {
$('.b-goods-group > .col-12').removeClass('col-12').addClass('col-lg-4 col-md-6');
$('.b-goods').removeClass('b-goods_list');
$('.b-filter-goods').addClass('b-filter-goods_brd');
});
$('.js-view-list').on( 'click', function() {
$('.b-goods-group > .col-lg-4').addClass('col-12').removeClass('col-lg-4 col-md-6');
$('.b-goods').addClass('b-goods_list');
$('.b-filter-goods').removeClass('b-filter-goods_brd');
});
$('.flip-btn').on( 'click', function() {
$( this ).parent().toggleClass('flip-active');
});
$('.flip-btn-hide').on( 'click', function() {
$(this).parents('.b-goods').removeClass('flip-active');
});
if ($(window).width() < 768) {
$('.b-goods-group > .col-12').removeClass('col-12').addClass('col-lg-4 col-md-6');
$('.b-goods').removeClass('b-goods_list');
}
});