jQuery(document).ready(function($) {
var viewportWidth = window.innerWidth || document.documentElement.clientWidth;
var viewportHeight = window.innerHeight || document.documentElement.clientHeight;
// setTimeout(function() {
// $('.count-up-inview.active').countTo({
// onComplete: (
// $(this).find('.count-up-inview.active').removeClass('active')
// // setTimeout(function() {
// // module_parent.find('.badge_counter .circle').addClass('animated tada');
// // }, counter_completion)
// )
// });
// }, 5000);
// $('.count-up-inview.active').each(function(){
// var module_parent = $(this);
// var count_up_item = $(this);
// new Waypoint.Inview({
// element: count_up_item,
// entered: function(down) {
// setTimeout(function() {
// $('.count-up-inview.active').countTo({
// onComplete: (
// count_up_item.removeClass('active')
// )
// });
// }, 300);
// }
// });
// });
// remove class from product page hero graphics to animate in
$(window).load(function() {
// $('#hero .hero_graphic_item').each(function(i){
// var hero_item = $(this);
// setTimeout(function() {
// hero_item.removeClass('not_active');
// }, 200*i);
// setTimeout(function() {
// hero_item.removeClass('hero_graphic_item');
// }, 5000);
// });
// // show get 2 dollars back popup on page load
// // setTimeout(function() {
// $('body, html').addClass('popup-open');
// $('#popup-get_2_back.popup-overlay').addClass('popup-open');
// // }, 300);
});
// sort retailer list alphabeticallys
var select2_alphabetical_sorter = function(data) {
return data.sort(function(a,b){
a = a.text.toLowerCase();
b = b.text.toLowerCase();
if(a > b) {
return 1;
} else if (a < b) {
return -1;
}
return 0;
});
};
// initialize select dropdown search
$('.retailer_dropdown').select2({
sorter: select2_alphabetical_sorter,
placeholder: "*Enter Store Name",
allowClear: true,
selectOnClose: false,
dropdownCssClass: "select2_retailer_dropdown",
maximumSelectionLength: 1,
});
// open store locator / maps search on submit
$('form.retailer_form input[type="submit"]').click(function (e) {
e.preventDefault();
var link_url = $(this).closest('.retailer_form').find('.retailer_dropdown').attr('data-store-url');
var option_value = $(this).closest('.retailer_form').find('.retailer_dropdown').find(':selected').val();
var search_query = option_value.replace('\'', '').replace(' ', '+');
var search_query = 'https://maps.google.com/?q='+search_query+'';
window.open(search_query, '_blank');
// if(link_url && link_url.length > 0) {
// window.open(link_url, '_blank');
// } else {
// alert('This retailer does not have a website');
// }
});
// add html for youtube videos
$('#videos .video_youtube').each(function(){
var youtube_id = $(this).attr('data-attr-yt-id');
$(this).html('\
\
\
');
});
// hide poster image on click for youtube video
$('#videos .video_youtube .poster_thumbnail').click(function(e){
e.preventDefault();
$(this).hide();
var youtube_id = $(this).closest('.video_youtube').attr('data-attr-yt-id');
$(this).closest('.video_youtube').find('iframe').attr('src', 'https://www.youtube.com/embed/'+youtube_id+'?vq=hd1080&modestbranding=1&autohide=1&showinfo=0&controls=1&autoplay=1&rel=0enablejsapi=1&html5=1')
});
// // carousel before after photos
// var carousel_before_after = $(".carousel_before_after");
// carousel_before_after.owlCarousel({
// loop:true,
// margin:24,
// nav:true,
// dots:true,
// items: 2,
// slideBy: 1,
// mouseDrag: true,
// autoHeight: true,
// touchDrag: true,
// freeDrag: false,
// autoplay:true,
// URLhashListener:false,
// autoplayTimeout:4500,
// smartSpeed: 3000,
// autoplayHoverPause: false,
// responsiveClass:true,
// responsive:{
// 0:{
// items:1,
// },
// 520:{
// items:1,
// },
// 768:{
// items:2,
// }
// }
// });
// carousel videos
var carousel_videos = $(".carousel_videos");
carousel_videos.owlCarousel({
loop:false,
margin:0,
nav:true,
dots:true,
items: 1,
slideBy: 1,
mouseDrag: true,
autoHeight: false,
touchDrag: false,
freeDrag: false,
autoplay:false,
URLhashListener:false,
autoplayTimeout:6000,
smartSpeed: 700,
autoplayHoverPause: false
});
// carousel videos
var carousel_reviews = $(".carousel_reviews");
carousel_reviews.owlCarousel({
loop:true,
margin:5,
nav:false,
dots:true,
items: 2,
slideBy: 1,
mouseDrag: true,
autoHeight: false,
touchDrag: true,
freeDrag: false,
responsive:{
0:{
items:1
},
768:{
items:2
}
},
autoplay:true,
URLhashListener:false,
autoplayTimeout:6000,
smartSpeed: 700,
autoplayHoverPause: false
});
// carousel videos
var carousel_products = $(".carousel_products");
carousel_products.owlCarousel({
loop:false,
margin:15,
nav:true,
dots:true,
items: 2,
slideBy: 1,
mouseDrag: true,
autoHeight: true,
touchDrag: true,
freeDrag: false,
autoplay:false,
URLhashListener:false,
// autoplayTimeout:12000,
autoplayTimeout:10000,
smartSpeed: 700,
autoplayHoverPause: false,
rewind: true,
// afterMove: moved,
responsive:{
0:{
items:1
},
768:{
items:2
}
}
});
// function moved() {
// var owl_moved = $(".carousel_products").data('owl.carousel')
// if (owl_moved.currentItem + 1 === owl_moved.itemsAmount) {
// alert('THE END');
// $('.carousel_products').trigger('to.owl.carousel', [0, 100]);
// }
// }
$('#products').each(function(){
var this_item = $(this);
var appear_item_start = $('#products .carousel_wrapper');
new Waypoint.Inview({
element: appear_item_start,
enter: function(direction) {
$('.carousel_products').data('owl.carousel').options.autoplay = true;
$('.carousel_products').data('owl.carousel').options.autoplayTimeout = 10000;
$('.carousel_products').trigger( 'refresh.owl.carousel' );
// alert('enter carousel');
},
exit: function(direction) {
$('.carousel_products').trigger('to.owl.carousel', [0, 100]);
$('.carousel_products').data('owl.carousel').options.autoplayTimeout = 10000;
$('.carousel_products').data('owl.carousel').options.autoplay = false;
}
});
});
// owl.owlcarousel2_filter( '.blue' );
$( '#products .filter_wrapper .filter_inner' ).on( 'click', '.btn', function(e) {
e.preventDefault();
var $item = $(this);
var filter = $item.data( 'owl-filter' );
$item.addClass( 'active' ).siblings().removeClass( 'active' );
if (!$(this).hasClass('btn-all')) {
$(this).closest('.carousel_wrapper').addClass('hide-clones');
// $(this).closest('.carousel_wrapper').find('.owl-item.cloned').remove();
// carousel_products.trigger('change.owl.carousel', {
// loop: false
// });
// carousel_products.trigger('refresh.owl.carousel');
} else {
$(this).closest('.carousel_wrapper').removeClass('hide-clones');
// $(this).closest('.carousel_wrapper').find('.owl-item.cloned').remove();
// carousel_products.trigger('change.owl.carousel', {
// loop: false
// });
// carousel_products.trigger('refresh.owl.carousel');
}
// setTimeout(function() {
carousel_products.owlcarousel2_filter( filter );
// }, 300);
});
// carousel product mobile
var carousel_product_mobile = $(".carousel_product_mobile");
carousel_product_mobile.owlCarousel({
loop:true,
margin:0,
nav:true,
dots:true,
items: 1,
slideBy: 1,
mouseDrag: true,
autoHeight: false,
touchDrag: false,
freeDrag: false,
autoplay:true,
URLhashListener:false,
autoplayTimeout:6000,
smartSpeed: 700,
autoplayHoverPause: false
});
var howtouse_carousel = $("#how_to_use .steps_wrapper");
if (viewportWidth <= 767) {
start_howtouse_carousel();
}
$(window).on('resize', function(){
var win = $(this); //this = window
if (win.width() <= 767) {
start_howtouse_carousel();
} else {
stop_howtouse_carousel();
}
});
function start_howtouse_carousel(){
var howtouse_carousel = $("#how_to_use .steps_wrapper");
howtouse_carousel.owlCarousel({
loop:false,
margin:0,
nav:true,
dots:true,
items: 1,
slideBy: 1,
mouseDrag: true,
autoHeight: false,
touchDrag: true,
freeDrag: false,
autoplay:false,
URLhashListener:false,
autoplayTimeout:6000,
smartSpeed: 700,
autoplayHoverPause: false
});
}
function stop_howtouse_carousel() {
var howtouse_carousel = $("#how_to_use .steps_wrapper");
howtouse_carousel.trigger('destroy.owl.carousel');
howtouse_carousel.addClass('off');
}
// faq section question / answer accordion toggle
$('.questions_wrapper ul li .question').click(function (e) {
e.preventDefault();
// $(this).closest('ul').find('li .answer').toggle();
$(this).closest('li').find('> .answer').slideToggle(300);
});
// popup overlay trigger on link click
$('.popup_link_trigger').click(function(e) {
e.preventDefault();
var link_id = $(this).attr('href')
var link_id = link_id.replace('#', '')
$('body, html').addClass('popup-open');
$('.popup-overlay--video#'+link_id+'').addClass('popup-open');
});
// close popup window
$('.popup-overlay .close-button').click(function(e) {
e.preventDefault();
var target = $(e.target);
$('body, html').removeClass('popup-open');
$('.popup-overlay').removeClass('popup-open');
});
// scroll to anchor link on click
$('a.link_scrollto[href^="#"]').click(function(e){
e.preventDefault();
var link_anchor = $(this).attr('href');
// scroll to anchor link if section ID is visible and exists
if($(''+link_anchor+':visible').length > 0) {
$('html, body').animate({
scrollTop: $(''+link_anchor+'').offset().top + 0
}, 300);
}
// scroll to anchor link tab wrapper if hidden
else {
var current_tab = $(''+link_anchor+'').closest('.tab_wrapper');
// close all other tabs
$('.tab_wrapper').removeClass('open');
$('.tab_wrapper .tab_content').slideUp(300);
current_tab.addClass('open');
current_tab.find('.tab_content').slideDown(300);
setTimeout(function() {
$('html, body').animate({
scrollTop: current_tab.offset().top - 10
}, 300);
}, 300);
}
});
// // play video with custom icon
// $('a.play_video').click(function(e){
// e.preventDefault();
// if ($(this).closest('.responsive_video_wrapper.hosted_self').length > 0) {
// $(this).hide();
// $(this).closest('.responsive_video_wrapper.hosted_self').find('video').get(0).play();
// }
// });
// // hide video play icon on video controls click
// $('video').click(function() {
// if ($(this).get(0).paused) {
// // this.pause();
// $(this).closest('.responsive_video_wrapper').find('a.play_video').hide();
// // alert('video playing');
// }
// });
// waypoints scroll inview for sticky shop now button
$('#hero .sticky_shop_now').each(function(){
var this_item = $(this);
var appear_item_start = $('#intro');
// var appear_item_end = $('body.home .module-6');
new Waypoint.Inview({
element: appear_item_start,
enter: function(direction) {
this_item.addClass('entered')
},
exited: function(direction) {
if (direction == 'up') {
this_item.removeClass('entered')
}
}
});
var footer_item = $('#retailers');
new Waypoint.Inview({
element: footer_item,
// enter: function(down) {
// this_item.removeClass('entered')
// },
exited: function(direction) {
if (direction == 'up') {
this_item.addClass('entered')
}
}
});
});
// waypoints scroll inview for sticky shop now button
$('#hero .sticky_shop_now').click(function(){
var this_item = $(this);
$('#hero .sticky_shop_now').removeClass('entered');
});
// Devices without touch events
$('html.no-touchevents .tile').hover(function() {
$(this).addClass('hover');
}, function() {
$(this).removeClass('hover');
}
);
$('html.no-touchevents #product_before_after .photo_column .photo_column_inner').hover(function(e) {
e.stopPropagation();
// e.preventDefault();
// $(this).toggleClass('hover');
if ($(this).hasClass('hover')) {
$(this).removeClass('hover');
} else {
$(this).addClass('hover');
}
});
// Devices with touch events
$('html.touchevents #product_before_after .photo_column .photo_column_inner').click(function(e) {
e.stopPropagation();
// e.preventDefault();
// $(this).toggleClass('hover');
if ($(this).hasClass('hover')) {
$(this).removeClass('hover');
} else {
$(this).addClass('hover');
}
});
$(window).on('load', function(){
var site_header_height = $('#site_header').height();
$('#page_product').css({'padding-top':''+site_header_height+'px'});
});
$(window).on('resize', function(){
var win = $(this); //this = window
var site_header_height = $('#site_header').height();
$('#page_product').css({'padding-top':''+site_header_height+'px'});
// if (win.width() <= 767) {
// start_product_carousel();
// } else {
// stop_product_carousel();
// }
});
// add detailed title to each logo link
$('.tab_headline h3').each(function(){
var headline_copy = $(this).text();
$(this).closest('.tab_headline').attr('data-detailed-title', 'Tab - '+headline_copy+'')
});
// add detailed title to each logo link
$('.logo_column img').each(function(){
var logo_retailer_name = $(this).attr('alt');
$(this).closest('.logo_wrapper').attr('data-detailed-title', 'Shop - '+logo_retailer_name+'')
});
// add selected retailer to search button as detailed title
$('.retailer_dropdown').on('select2:select', function (e) {
var retailer_value = $(this).val();
var retailer_text = $(this).closest('.retailer_form').find('option:selected').text();
$(this).closest('.retailer_form').find('input[type="submit"]').attr('data-detailed-title', 'Shop - '+retailer_text+'')
// alert(retailer_text);
});
// mobile accordion tabs
$('.tab_wrapper .tab_headline').click(function (e) {
e.preventDefault();
var current_tab = $(this).closest('.tab_wrapper');
if ($(this).closest('.tab_wrapper').hasClass('open')) {
$(this).closest('.tab_wrapper').removeClass('open');
$(this).closest('.tab_wrapper').find('.tab_content').slideUp(300);
} else {
// close all other tabs
$('.tab_wrapper').removeClass('open');
$('.tab_wrapper .tab_content').slideUp(300);
$(this).closest('.tab_wrapper').addClass('open');
$(this).closest('.tab_wrapper').find('.tab_content').slideDown(300);
setTimeout(function() {
$('html, body').animate({
scrollTop: current_tab.offset().top - 10
}, 300);
}, 300);
}
});
// $(window).on('resize', function(){
// var win = $(this); //this = window
// if (win.width() <= 767) {
// } else {
// }
// });
// add classes to all shop links for tracking
$('\
a.logo_wrapper, \
#site_header .col_buttons .btn, \
.sticky_shop_now, \
.retailer_form input[type="submit"], \
.link_scrollto, \
.tab_headline, \
.cta_wrapper .btn, \
.logo_column .logo_wrapper \
').each(function () {
$(this).addClass('tracking_shop_link');
});
/*
// trigger pricespider popup from one single button with ps-widget class and ps-sku attribute (any link/button with ps_popup_link class)
$(function () {
const ps_popuplinkelements = document.getElementsByClassName("cs_popup_link")
for (let index = 0; index < ps_popuplinkelements.length; index++) {
const ele = ps_popuplinkelements [index]
ele.onclick = (e) => {
e.stopImmediatePropagation(); e.preventDefault(); document.getElementsByClassName("cswidget")[0].click()
}
}
});
*/
});