/**
* Single Product Page
*/
var _single_loading = false;
var _single_remove_loading;
var _inited_gallery = false;
var _inited_gallery_key = 0;
var _prev_image_id = 0;
var _popstate_reload = true;
var _timeout_changed;
var touchstart = 0;
var touchend = 0;
var distance = 60;
var dataTransfer_img = new DataTransfer();
var dataTransfer_video = new DataTransfer();
var pswpHTML = '
';
var _timeout_invalid,
_timeout_notice;
var svg_alert = '';
if (typeof _single_variations === 'undefined') {
var _single_variations = [];
}
/**
* Document ready
*/
jQuery(document).ready(function($) {
"use strict";
if ($('#tmpl-nasa-pswpHTML').length) {
pswpHTML = $('#tmpl-nasa-pswpHTML').html();
}
$(window).on('pageshow', function() {
setTimeout(function() {
$('.button.loading').removeClass('loading');
if ($('input[name="nasa_buy_now"]').length) {
$('input[name="nasa_buy_now"]').val('');
}
}, 100);
});
$('body').on('nasa_render_next_prev', function() {
var _inMobile = $('body').hasClass('nasa-in-mobile') ? true : false;
var _mobileView = $('.nasa-check-reponsive.nasa-switch-check').length && $('.nasa-check-reponsive.nasa-switch-check').width() === 1 ? true : false;
if (!_inMobile && !_mobileView) {
if ($('.products-arrow .next-prev-buttons').length && $('.nasa-breadcrumb.style-single .breadcrumb-wrap').length) {
var _arrow = $('.products-arrow');
$('.nasa-breadcrumb.style-single .breadcrumb-wrap').append(_arrow);
if ($('.nasa-product-details-page .product-info .entry-title').length) {
$('.nasa-product-details-page .product-info .entry-title').addClass('nopadding');
}
} else {
$('.products-arrow').addClass('show');
}
} else {
$('.products-arrow').addClass('show');
}
});
$('body').trigger('nasa_render_next_prev');
/**
* Default init
*/
if ($('.nasa-product-details-page .nasa-gallery-variation-supported').length) {
var _df_main = $('.nasa-main-image-default-wrap').clone();
if ($(_df_main).find('.nasa-single-slider-arrows').length) {
$(_df_main).find('.nasa-single-slider-arrows').remove();
}
_single_variations[0] = {
'main_image': $(_df_main).html(),
'thumb_image': $('.nasa-thumbnail-default-wrap').html()
};
}
/**
* Crazy Loading
*/
if ($('.woocommerce-product-gallery__wrapper').length && !$('.woocommerce-product-gallery__wrapper').hasClass('crazy-loading') && $('#nasa-ajax-store.nasa-crazy-load').length) {
$('.woocommerce-product-gallery__wrapper').addClass('crazy-loading');
if (typeof _single_remove_loading !== 'undefined') {
clearInterval(_single_remove_loading);
}
setTimeout(function() {
$('body').trigger('nasa_product_gallery_remove_crazy');
}, 10);
}
if ($('.nasa-crazy-load.crazy-loading').length) {
$('.nasa-crazy-load.crazy-loading').removeClass('crazy-loading');
}
if ($('.woosb-wrap.woosb-bundled').find('.woosb-total .woocommerce-price-suffix').length) {
var _woosb_save = $('.woosb-wrap.woosb-bundled').find('.woosb-total .woocommerce-price-suffix').text();
var _nasa_before = $('.woosb-wrap.woosb-bundled').find('.nasa-before-woosb-tbl');
var text = _woosb_save.replace(/[()saved]/g, '');
if (text != '' && typeof text != 'undefined') {
$(_nasa_before).html($(_nasa_before).html().replace('${saved}', text));
$(_nasa_before).removeClass('hidden-tag');
}
}
/**
* Gallery remove Crazy Loading
*/
$('body').on('nasa_product_gallery_remove_crazy', function() {
setTimeout(function() {
if ($('.woocommerce-product-gallery__wrapper.crazy-loading').length) {
$('.woocommerce-product-gallery__wrapper.crazy-loading').removeClass('crazy-loading');
}
}, 50);
});
/**
* Lightbox image Single product page
*/
$('body').on('click', '.easyzoom-flyout', function() {
if (!$('body').hasClass('nasa-disable-lightbox-image')) {
var _click = $(this).parents('.easyzoom');
if ($(_click).length && $(_click).find('a.product-image').length) {
$(_click).find('a.product-image').trigger('click');
}
}
});
/**
* Change gallery for variation - single
*/
$('body').on('nasa_changed_gallery_variable_single', function() {
var _video = $('body').find('.nasa-item-main-video-wrap');
$('body').trigger('nasa_reload_single_product_slide');
if(typeof window.wp.mediaelement != 'undefined') {
$( window.wp.mediaelement.initialize );
}
if(_video) {
var _data_key = parseInt($(_video).parents('.item-wrap').prev().find('.nasa-item-main-image-wrap').attr('data-key')) + 1;
$(_video).attr('data-key',_data_key) ;
$('.nasa-wrap-item-thumb.ns-video-poster').attr('data-key',_data_key) ;
}
load_gallery_popup($);
$('body').trigger('nasa_compatible_jetpack');
setTimeout(function() {
$('.product-gallery').css({'min-height': 'auto'});
$(window).trigger('resize');
}, 100);
setTimeout(function() {
$(window).trigger('resize').trigger('scroll');
}, 1000);
});
/* Product Gallery Popup */
load_gallery_popup($);
/* Product reivew images */
load_reivew_images_popup($);
/**
* Single Product
* Variable change image
*/
nasa_single_product_found_variation($);
nasa_single_product_reset_variation_df($);
$('body').on('nasa_after_loaded_ajax_complete', function() {
/* Slider */
$('body').trigger('nasa_load_single_product_slide');
if (typeof window.wp.mediaelement != 'undefined') {
$( window.wp.mediaelement.initialize );
}
/* Product Gallery Popup */
load_gallery_popup($);
/* Product reivew images */
load_reivew_images_popup($);
if ($('.woocommerce-product-gallery__wrapper').length && !$('.woocommerce-product-gallery__wrapper').hasClass('crazy-loading')) {
$('.woocommerce-product-gallery__wrapper').addClass('crazy-loading');
}
/**
* Compatible UX variation
*/
var _forms = $('.nasa-product-details-page .variations_form');
if ($(_forms).length && typeof wc_add_to_cart_variation_params !== 'undefined') {
$(_forms).each(function() {
$(this).wc_variation_form();
});
/**
* Default init
*/
if ($('.nasa-product-details-page .nasa-gallery-variation-supported').length) {
var _df_main = $('.nasa-main-image-default-wrap').clone();
if ($(_df_main).find('.nasa-single-slider-arrows').length) {
$(_df_main).find('.nasa-single-slider-arrows').remove();
}
_single_variations[0] = {
'main_image': $(_df_main).html(),
'thumb_image': $('.nasa-thumbnail-default-wrap').html()
};
}
nasa_single_product_found_variation($);
nasa_single_product_reset_variation_df($);
}
setTimeout(function() {
$('body').trigger('before_init_variations_form');
$('body').trigger('nasa_init_ux_variation_form');
/**
* Fixed Single form add to cart
*/
if ($('.nasa-add-to-cart-fixed').length) {
$('.nasa-add-to-cart-fixed').remove();
}
load_sticky_add_to_cart($);
/**
* Init #Rating
*/
if($('#review_form_wrapper').length) {
$('body >#review_form_wrapper').remove();
}
$('.wc-tabs-wrapper, .woocommerce-tabs, #rating').trigger('init');
$('body').trigger('nasa-load-reviews-img');
if ($('.nasa-crazy-load.crazy-loading').length) {
$('.nasa-crazy-load.crazy-loading').removeClass('crazy-loading');
}
_single_loading = false;
}, 10);
$('.transparent-window').trigger('click');
$('body').trigger('nasa_product_gallery_remove_crazy');
/**
* Render Next Prev
*/
$('body').trigger('nasa_render_next_prev');
/**
* Comment form
*/
$('body').trigger('nasa_comment_media_form');
/**
* Compatible with Contact Form 7
*/
if (typeof wpcf7 !== 'undefined' && $('.wpcf7 > form').length) {
var _cf7_forms = document.querySelectorAll(".wpcf7 > form");
if (typeof _cf7_forms.forEach === 'function') {
_cf7_forms.forEach(function(e) {
return wpcf7.init(e);
});
}
}
/**
* Compatible Elementor
*/
if ($('.elementor-invisible').length) {
$('.elementor-invisible').removeClass('elementor-invisible');
}
});
/**
* Event click single product thumbnail
*/
$('body').on('click', '.nasa-single-product-slide .nasa-single-product-thumbnails .slick-slide', function() {
var _wrap = $(this).parents('.nasa-single-product-thumbnails');
var _speed = parseInt($(_wrap).attr('data-speed'));
_speed = !_speed ? 600 : _speed;
$(_wrap).append('');
setTimeout(function() {
$(_wrap).find('.nasa-slick-fog').remove();
}, _speed);
});
/**
* Product Gallery Popup
*/
$('body').on('click', '.product-lightbox-btn', function(e) {
if ($('.nasa-single-product-slide').length) {
$('.product-images-slider').find('.slick-current.slick-active a').trigger('click');
}
else if ($('.nasa-single-product-scroll').length) {
$('.nasa-wrap-item-thumb[data-key="0"] a').trigger('click');
}
e.preventDefault();
});
/**
* Product Video Popup
*/
$('body').on('click', "a.product-video-popup", function(e) {
var productVideo = $(this).attr('href');
var pswpElement;
var items =[];
if ($(".pswp[role='dialog']").length) {
pswpElement = $(".pswp[role='dialog']")[0];
} else {
pswpElement = $(pswpHTML).appendTo("body")[0];
}
var options = {
closeOnScroll: false,
mouseUsed: true,
history:false,
shareEl: false,
arrowEl: false,
closeOnVerticalDrag:false
};
$('body').trigger('nasa_media_all_pause');
if (productVideo) {
var embedUrl = nasa_ember_link(productVideo);
items.push({
html : '',
type: 'videourl'
});
var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
gallery.listen('close', function (index, item) {
$(pswpElement).remove();
});
gallery.init();
}
e.preventDefault();
});
/**
* Next Prev Single Product Slider
*/
$('body').on('click', '.nasa-single-arrow', function() {
var _this = $(this);
if (!$(_this).hasClass('nasa-disabled')) {
var _action = $(_this).attr('data-action');
var _wrap = $(_this).parents('.product-images-slider');
var _slides = $(_wrap).find('.nasa-single-product-main-image');
if ($(_slides).find('.slick-arrow.slick-' + _action).length) {
var _real = $(_slides).find('.slick-arrow.slick-' + _action);
if ($(_real).length) {
$(_real).trigger('click');
}
}
}
});
/**
* Next Prev Single Product Slider add class "nasa-disabled"
*/
$('body').on('nasa_after_single_product_slick_inited', function(ev, _thumbs, _num_ver) {
$('body').trigger('nasa_check_slick_disabled', [$('.nasa-single-product-slide .nasa-single-product-main-image')]);
$('.nasa-single-product-slide .nasa-single-product-main-image').on('afterChange', function() {
var _this = $(this);
$('body').trigger('nasa_check_slick_disabled', [_this]);
$('body').trigger('nasa_media_all_pause');
});
if (_thumbs) {
if ($(_thumbs).find('.slick-slide').length <= _num_ver && !$(_thumbs).hasClass('not-full-items')) {
$(_thumbs).addClass('not-full-items');
}
}
ev.preventDefault();
});
$('body').on('nasa_check_slick_disabled', function(ev, _slide) {
var _wrap = $(_slide).parents('.product-images-slider');
if ($(_wrap).find('.nasa-single-arrow').length) {
var _prev = $(_slide).find('.slick-prev');
var _next = $(_slide).find('.slick-next');
$(_wrap).find('.nasa-single-arrow').removeClass('nasa-disabled');
if ($(_prev).hasClass('slick-disabled')) {
$(_wrap).find('.nasa-single-arrow[data-action="prev"]').addClass('nasa-disabled');
}
if ($(_next).hasClass('slick-disabled')) {
$(_wrap).find('.nasa-single-arrow[data-action="next"]').addClass('nasa-disabled');
}
if ($(_prev).length <= 0 || $(_next).length <= 0) {
$(_wrap).find('.nasa-single-arrow').addClass('nasa-disabled');
}
}
});
/**
* Tab reviewes
*/
$('body').on('click', '.nasa-product-details-page .woocommerce-review-link', function() {
if (
$('.woocommerce-tabs .reviews_tab a').length ||
$('.woocommerce-tabs .nasa-accordion-reviews').length ||
$('.woocommerce-tabs .nasa-anchor[data-target="#nasa-anchor-reviews"].active').length ||
$('.woocommerce-tabs #nasa-scroll-reviews').length
) {
var _obj = $('.woocommerce-tabs .reviews_tab a');
if ($(_obj).length <= 0) {
_obj = $('.woocommerce-tabs .nasa-accordion-reviews');
}
if ($(_obj).length <= 0) {
_obj = $('.woocommerce-tabs .nasa-anchor[data-target="#nasa-anchor-reviews"].active');
}
if ($(_obj).length <= 0) {
_obj = $('.woocommerce-tabs #nasa-scroll-reviews');
}
if ($(_obj).length) {
$('body').trigger('nasa_animate_scroll_to_top', [$, _obj, 500]);
setTimeout(function() {
if (!$(_obj).hasClass('active')) {
$(_obj).trigger('click');
$(_obj).mousemove();
}
}, 500);
}
}
return false;
});
/**
* Scroll single product
*/
var _main_images = load_scroll_single_product($);
$(window).on('resize', function() {
var _responsive = $('.nasa-check-reponsive.nasa-switch-check').length && $('.nasa-check-reponsive.nasa-switch-check').width() === 1 ? true : false;
var _inMobile = $('body').hasClass('nasa-in-mobile') ? true : false;
if (!_responsive && !_inMobile) {
/* Fix scroll single product */
_main_images = load_scroll_single_product($);
$(window).trigger('scroll');
}
});
/**
* Click thumbnail scroll
*
* @type type
*/
var _timeOutThumbItem;
$('body').on('click', '.nasa-thumb-wrap .nasa-wrap-item-thumb', function() {
if (typeof _timeOutThumbItem !== 'undefined') {
clearTimeout(_timeOutThumbItem);
}
if ($(this).parents('.nasa-single-product-scroll').length) {
var _key = $(this).attr('data-key');
if ($('.nasa-item-main-image-wrap[data-key="' + _key + '"]').length) {
var _main = $('.nasa-item-main-image-wrap[data-key="' + _key + '"]');
var _topfix = 0;
if ($('.fixed-already').length) {
_topfix += $('.fixed-already').outerHeight();
}
if ($('#wpadminbar').length) {
_topfix += $('#wpadminbar').outerHeight();
}
var _pos_top = $(_main).offset().top - _topfix;
_timeOutThumbItem = setTimeout(function() {
$('html, body').animate({scrollTop: _pos_top - 10}, 300);
}, 100);
}
}
});
/**
* Sticky info and thumbnails
*
* @type Number|scrollTop
*/
var lastScrollTop = 0;
$(window).on('scroll', function() {
var scrollTop = $(this).scrollTop();
var _responsive = $('.nasa-check-reponsive.nasa-switch-check').length && $('.nasa-check-reponsive.nasa-switch-check').width() === 1 ? true : false;
var _inMobile = $('body').hasClass('nasa-in-mobile') ? true : false;
/**
* Scroll Sticky Info
*/
if (($('.nasa-single-product-scroll').length && $('.nasa-product-info-scroll').length) || $('.nasa-product-details-page').hasClass('nasa-layout-new-3')) {
var _info_scroll_wrap = $('.nasa-product-info-scroll').parents('.product-info');
if ($('.nasa-mobile-check').length && $('.nasa-mobile-check').width()) {
return false;
}
// _info_scroll_wrap = $('.nasa-product-details-page').hasClass('nasa-layout-new-3') ? $('.nasa-layout-new-3').find('.product-info') : _info_scroll_wrap;
_info_scroll_wrap = $('.nasa-product-details-page').hasClass('nasa-layout-new-3') && $('.nasa-product-details-wrap').hasClass('is-tab-small-accordion') ? $('.nasa-layout-new-3').find('.product-gallery') : _info_scroll_wrap;
if (!_responsive && !_inMobile && $(_info_scroll_wrap).length) {
var _hasThumbs = $('.nasa-single-product-thumbnails').length ? true : false,
_col_main = parseInt($('.nasa-single-product-scroll').attr('data-num_main')),
_bodyHeight = $(window).height(),
_down = scrollTop > lastScrollTop ? true : false,
_pos = $('.nasa-main-wrap').offset(),
_topfix = 0,
_info_height = $(_info_scroll_wrap).outerHeight(),
_thumb_height = _hasThumbs ? $('.nasa-single-product-thumbnails').outerHeight() : 0;
lastScrollTop = scrollTop;
if ($('.fixed-already').length === 1) {
var _fixed_height = $('.fixed-already').outerHeight();
_topfix += _fixed_height;
}
if ($('#wpadminbar').length === 1) {
var _admbar_height = $('#wpadminbar').outerHeight();
_topfix += _admbar_height;
}
var _higherInfo = true;
if (_info_height > (_bodyHeight - _topfix)) {
_higherInfo = false;
}
var _higherThumb = true;
if (_thumb_height > 0 && _thumb_height > (_bodyHeight - _topfix)) {
_higherThumb = false;
}
var _start_top = _pos.top - _topfix,
_topbar = scrollTop - _start_top;
if (_topbar >= -10) {
if (!$(_info_scroll_wrap).hasClass('ns-sticky-scroll-sidebar')) {
$(_info_scroll_wrap).addClass('ns-sticky-scroll-sidebar nasa-transition-700');
}
if (_down && !_higherInfo) {
$(_info_scroll_wrap).css({'top': _bodyHeight - _info_height + 10});
} else {
$(_info_scroll_wrap).css({'top': _topfix + 10});
}
} else {
// $(_info_scroll_wrap).removeClass('ns-sticky-scroll-sidebar').removeAttr('style');
}
/**
* Scroll Thumbnails
*/
if (_hasThumbs) {
if (_topbar >= 0) {
var _thumb_wrap = $('.nasa-single-product-thumbnails').parents('.nasa-thumb-wrap'),
_thump_active = $(_thumb_wrap).find('.nasa-wrap-item-thumb.nasa-active');
if (!$(_thumb_wrap).hasClass('ns-sticky-scroll-sidebar')) {
$(_thumb_wrap).addClass('ns-sticky-scroll-sidebar nasa-transition-700');
}
var _swap = false;
if ($(_thump_active).index() >= 3) {
_swap = true;
}
if (!_higherThumb && _swap) {
$(_thumb_wrap).css({'top': _topfix + 10 - ($(_thump_active).index()-3)*$(_thump_active).outerHeight(true)});
} else {
$(_thumb_wrap).css({'top': _topfix + 10});
}
} else {
$(_thumb_wrap).removeClass('ns-sticky-scroll-sidebar').removeAttr('style');
}
}
// Active image scroll
var i = _main_images.length;
if (i) {
for (i; i>0; i--) {
if (_main_images[i-1].pos <= scrollTop + _topfix + 50) {
var _key = _main_images[i-1].key;
$('.nasa-thumb-wrap .nasa-wrap-item-thumb').removeClass('nasa-active');
$('.nasa-thumb-wrap .nasa-wrap-item-thumb[data-key="' + _key + '"]').addClass('nasa-active');
if (_col_main % 2 === 0) {
var _before_key = (parseInt(_key) - 1).toString();
if ($('.nasa-thumb-wrap .nasa-wrap-item-thumb[data-key="' + _before_key + '"]').length) {
$('.nasa-thumb-wrap .nasa-wrap-item-thumb[data-key="' + _before_key + '"]').addClass('nasa-active');
}
}
break;
}
}
}
} else {
$('.nasa-product-info-scroll').removeAttr('style');
if (_hasThumbs) {
$('.nasa-single-product-thumbnails').removeAttr('style');
}
$('.nasa-thumb-wrap .nasa-wrap-item-thumb').removeClass('nasa-active');
$('.nasa-thumb-wrap .nasa-wrap-item-thumb[data-key="0"]').addClass('nasa-active');
}
}
/**
* Scroll sticky add to cart
*/
var _mobile_fixed_addToCart = 'no';
if ($('input[name="nasa_fixed_mobile_single_add_to_cart_layout"]').length) {
_mobile_fixed_addToCart = $('input[name="nasa_fixed_mobile_single_add_to_cart_layout"]').val();
}
var has_fixed = _inMobile && _mobile_fixed_addToCart === 'no' ? false : true;
has_fixed = $('.nasa-product-details-page').length && $('.nasa-product-details-page').hasClass('nasa-layout-new-3') ? false : has_fixed;
if (has_fixed) {
if ($('input[name="nasa_fixed_single_add_to_cart"]').length && $('.nasa-product-details-page button[type="submit"].single_add_to_cart_button').length) {
var _start_fixed = $('.nasa-product-details-page #nasa-single-product-tabs') || $('.nasa-product-details-page button[type="submit"].single_add_to_cart_button');
if ($('#nasa-start-fixed').length) {
_start_fixed = $('#nasa-start-fixed');
}
if ($(_start_fixed).length) {
var _offset = $(_start_fixed).offset();
if (scrollTop >= _offset.top) {
if (!$('body').hasClass('has-nasa-cart-fixed')) {
$('body').addClass('has-nasa-cart-fixed');
}
} else {
$('body').removeClass('has-nasa-cart-fixed');
}
}
}
}
var _nasa_scroll_titles_sticky = $('.woocommerce-tabs .nasa-scroll-titles');
if ($(_nasa_scroll_titles_sticky).length) {
var fix_top = $('#wpadminbar').length ? $('#wpadminbar').height() : 0;
var on_scrolling = $(_nasa_scroll_titles_sticky).hasClass('on-scrolling') ? true : false;
if (!$(_nasa_scroll_titles_sticky).hasClass('nasa-lock-pos')) {
$(_nasa_scroll_titles_sticky).attr({'data-offset-top':Math.round($(_nasa_scroll_titles_sticky).offset().top)});
}
var off_top = $(_nasa_scroll_titles_sticky).attr('data-offset-top') - Math.round(fix_top);
if (off_top >0) {
if (scrollTop >= off_top) {
$(_nasa_scroll_titles_sticky).addClass('nasa-lock-pos');
$('.fixed-already').addClass('nasa-box-shadow-none');
} else {
$(_nasa_scroll_titles_sticky).removeClass('nasa-lock-pos');
$('.fixed-already').removeClass('nasa-box-shadow-none');
}
}
if (fix_top > 0) {
$(_nasa_scroll_titles_sticky).css({ top: fix_top });
}
var id_item_active = $(_nasa_scroll_titles_sticky).find('.nasa-anchor-scroll-item.active').attr('data-target'),
scroll_item_active = $('.woocommerce-tabs.nasa-scroll-content').find(id_item_active),
_space = 100 + fix_top + $(_nasa_scroll_titles_sticky).outerHeight();
if ($(scroll_item_active).length && !on_scrolling) {
var scroll_item_active_pre = $(scroll_item_active).prev(),
scroll_item_active_next = $(scroll_item_active).next(),
_item_active_heght = $(scroll_item_active).outerHeight();
if ( Math.round(scrollTop) >= Math.round($(scroll_item_active).offset().top + _item_active_heght - _space) ) {
var id = $(scroll_item_active_next).attr('id');
$(_nasa_scroll_titles_sticky).find('.nasa-anchor-scroll-item[data-target="#' + id + '"]').addClass('active').siblings().removeClass('active');
}
if ( Math.round(scrollTop) <= Math.round($(scroll_item_active).offset().top - _space - 35) ) {
var id = $(scroll_item_active_pre).attr('id');
$(_nasa_scroll_titles_sticky).find('.nasa-anchor-scroll-item[data-target="#' + id + '"]').addClass('active').siblings().removeClass('active');
}
} else if ($(scroll_item_active).length <= 0) {
$(_nasa_scroll_titles_sticky).find('.nasa-anchor-scroll-item:first-child').addClass('active');
}
}
});
/**
* Fixed Single form add to cart
*/
if ($('input[name="nasa_fixed_single_add_to_cart"]').length && $('.nasa-product-details-page').length) {
setTimeout(function() {
load_sticky_add_to_cart($);
}, 1000);
}
/**
* Change Ux
*/
$('body').on('click', '.nasa-attr-ux', function() {
var _target = $(this).attr('data-target');
if ($(_target).length) {
var _wrap = $(_target).parents('.nasa-attr-ux_wrap-clone');
$(_wrap).find('.nasa-attr-ux-clone').removeClass('selected');
if ($(this).hasClass('selected')) {
$(_target).addClass('selected');
}
if ($('.nasa-fixed-product-btn').length) {
setTimeout(function() {
var _button_wrap = nasa_clone_add_to_cart($);
$('.nasa-fixed-product-btn').html(_button_wrap);
var _val = $('.nasa-product-details-page form.cart input[name="quantity"]').val();
$('.nasa-single-btn-clone input[name="quantity"]').val(_val);
}, 250);
}
setTimeout(function() {
if ($('.nasa-attr-ux').length) {
$('.nasa-attr-ux').each(function() {
var _this = $(this);
var _targetThis = $(_this).attr('data-target');
if ($(_targetThis).length) {
var _disable = $(_this).hasClass('nasa-disable') ? true : false;
if (_disable) {
if (!$(_targetThis).hasClass('nasa-disable')) {
$(_targetThis).addClass('nasa-disable');
}
} else {
$(_targetThis).removeClass('nasa-disable');
}
}
});
}
}, 250);
}
});
/**
* Change Ux clone
*/
$('body').on('click', '.nasa-attr-ux-clone', function() {
var _target = $(this).attr('data-target');
if ($(_target).length) {
$(_target).trigger('click');
}
});
/**
* Change select
*/
$('body').on('change', '.nasa-attr-select', function() {
var _this = $(this);
var _target = $(_this).attr('data-target');
var _value = $(_this).val();
if ($(_target).length) {
setTimeout(function() {
var _html = $(_this).html();
$(_target).html(_html);
$(_target).val(_value);
}, 100);
setTimeout(function() {
var _button_wrap = nasa_clone_add_to_cart($);
$('.nasa-fixed-product-btn').html(_button_wrap);
var _val = $('.nasa-product-details-page form.cart input[name="quantity"]').val();
$('.nasa-single-btn-clone input[name="quantity"]').val(_val);
if ($('.nasa-attr-ux').length) {
$('.nasa-attr-ux').each(function() {
var _this = $(this);
var _targetThis = $(_this).attr('data-target');
if ($(_targetThis).length) {
var _disable = $(_this).hasClass('nasa-disable') ? true : false;
if (_disable) {
if (!$(_targetThis).hasClass('nasa-disable')) {
$(_targetThis).addClass('nasa-disable');
}
} else {
$(_targetThis).removeClass('nasa-disable');
}
}
});
}
}, 250);
}
});
/**
* Change select clone
*/
$('body').on('change', '.nasa-attr-select-clone', function() {
var _target = $(this).attr('data-target');
var _value = $(this).val();
if ($(_target).length) {
$(_target).val(_value).trigger('change');
}
});
/**
* Reset variations
*/
$('body').on('click', '.nasa-product-details-page .reset_variations', function() {
if ($('.nasa-add-to-cart-fixed .nasa-wrap-content .selected').length) {
$('.nasa-add-to-cart-fixed .nasa-wrap-content .selected').removeClass('selected');
}
setTimeout(function() {
var _button_wrap = nasa_clone_add_to_cart($);
$('.nasa-fixed-product-btn').html(_button_wrap);
var _val = $('.nasa-product-details-page form.cart input[name="quantity"]').val();
$('.nasa-single-btn-clone input[name="quantity"]').val(_val);
if ($('.nasa-product-details-page .nasa-attr-ux').length) {
$('.nasa-product-details-page .nasa-attr-ux').each(function() {
var _this = $(this);
var _targetThis = $(_this).attr('data-target');
if ($(_targetThis).length) {
var _disable = $(_this).hasClass('nasa-disable') ? true : false;
if (_disable) {
if (!$(_targetThis).hasClass('nasa-disable')) {
$(_targetThis).addClass('nasa-disable');
}
} else {
$(_targetThis).removeClass('nasa-disable');
}
}
});
}
}, 250);
});
/**
* Plus, Minus button
*/
$('body').on('click', '.nasa-product-details-page .cart .quantity .plus, .nasa-product-details-page .cart .quantity .minus', function() {
if ($('.nasa-single-btn-clone input[name="quantity"]').length) {
var _val = $('.nasa-product-details-page .cart input[name="quantity"]').val();
$('.nasa-single-btn-clone input[name="quantity"]').val(_val);
}
});
/**
* Plus clone button
*/
$('body').on('click', '.nasa-single-btn-clone .plus', function() {
if ($('.nasa-product-details-page .cart .quantity .plus').length) {
$('.nasa-product-details-page .cart .quantity .plus').trigger('click');
}
});
/**
* Minus clone button
*/
$('body').on('click', '.nasa-single-btn-clone .minus', function() {
if ($('.nasa-product-details-page .cart .quantity .minus').length) {
$('.nasa-product-details-page .cart .quantity .minus').trigger('click');
}
});
/**
* Quantily input
*/
$('body').on('keyup', '.nasa-product-details-page form.cart input[name="quantity"]', function() {
var _val = $(this).val();
$('.nasa-single-btn-clone input[name="quantity"]').val(_val);
});
/**
* Quantily input clone
*/
$('body').on('keyup', '.nasa-single-btn-clone input[name="quantity"]', function() {
var _val = $(this).val();
$('.nasa-product-details-page .cart input[name="quantity"]').val(_val);
});
/**
* Add to cart click
*/
$('body').on('click', '.nasa-single-btn-clone button[type="submit"].single_add_to_cart_button', function() {
if ($('.nasa-product-details-page .cart button[type="submit"].single_add_to_cart_button').length) {
$('.nasa-product-details-page .cart button[type="submit"].single_add_to_cart_button').trigger('click');
}
});
$('body').on('nasa_before_click_single_add_to_cart', function() {
if ($('.nasa-single-btn-clone button[type="submit"].single_add_to_cart_button').length && !$('.nasa-single-btn-clone button[type="submit"].single_add_to_cart_button').hasClass('disabled')) {
if (!$('.nasa-single-btn-clone button[type="submit"].single_add_to_cart_button').hasClass('loading')) {
$('.nasa-single-btn-clone button[type="submit"].single_add_to_cart_button').addClass('loading');
}
}
});
$('body').on('added_to_cart', function() {
$('.nasa-single-btn-clone button[type="submit"].single_add_to_cart_button').removeClass('loading');
});
/**
* Buy Now click
*/
$('body').on('click', '.nasa-single-btn-clone .nasa-buy-now', function() {
if ($('.nasa-product-details-page .cart .nasa-buy-now').length) {
$('.nasa-product-details-page .cart .nasa-buy-now').trigger('click');
}
});
/**
* Toggle Select Options
*/
$('body').on('click', '.nasa-toggle-variation_wrap-clone', function() {
if ($('.nasa-fixed-product-variations-wrap').length) {
$('.nasa-fixed-product-variations-wrap').toggleClass('nasa-active');
$(this).toggleClass('active');
}
});
/**
* Toggle Woo Tabs in mobile
*/
$('body').on('click', '.nasa-toggle-woo-tabs', function() {
if ($('.mobile-tabs-off-canvas').length) {
$('.mobile-tabs-off-canvas').toggleClass('nasa-active');
}
});
/**
* Load Ajax single product
*
* @param {type} $
* @returns {String}
*/
$('body').on('click', '.nasa-ajax-call', function(e) {
if ($('#nasa-single-product-ajax').length) {
e.preventDefault();
if (!_single_loading) {
_single_loading = true;
var _this = $(this);
var _url = $(_this).attr('href');
var _data = {};
var $crazy_load = $('#nasa-ajax-store').length && $('#nasa-ajax-store').hasClass('nasa-crazy-load') ? true : false;
$.ajax({
url: _url,
type: 'get',
dataType: 'html',
data: _data,
cache: true,
beforeSend: function() {
$('body').trigger('nasa_before_load_ajax');
if (typeof _single_remove_loading !== 'undefined') {
clearInterval(_single_remove_loading);
}
if ($crazy_load && $('#nasa-ajax-store').length && !$('#nasa-ajax-store').hasClass('crazy-loading')) {
$('#nasa-ajax-store').addClass('crazy-loading');
}
if ($('.nasa-progress-bar-load-shop').length) {
$('.nasa-progress-bar-load-shop .nasa-progress-per').removeClass('nasa-loaded');
$('.nasa-progress-bar-load-shop').addClass('nasa-loading');
}
var _pos_obj = $('#nasa-ajax-store');
$('body').trigger('nasa_animate_scroll_to_top', [$, _pos_obj, 700]);
},
success: function (res) {
var $html = $.parseHTML(res);
var $mainContent = $('#nasa-ajax-store', $html);
if ($('#header-content').length) {
var $headContent = $('#header-content', $html);
/**
* Replace Header
*/
$('#header-content').replaceWith($headContent);
}
if ($('#nasa-breadcrumb-site').length) {
/**
* Replace Breadcrumb
*/
var $breadcrumb = $('#nasa-breadcrumb-site', $html);
$('#nasa-breadcrumb-site').replaceWith($breadcrumb);
} else if ($('#nasa-breadcrumb-site').length < 1 && $('#main-content .product-page').length) {
/**
* Appent Breadcrumb
*/
var $breadcrumb = $('#nasa-breadcrumb-site', $html);
if ($breadcrumb) {
$('#main-content').find('.product-page').prepend($breadcrumb);
}
}
/**
* Replace Archive
*/
$('#nasa-ajax-store').replaceWith($mainContent);
if ($('.nasa-product-360-degree').find('.nasa-threesixty').length) {
$('.nasa-product-360-degree').html('');
}
/**
* Replace Footer
*/
if ($('#nasa-footer').length) {
var $footContent = $('#nasa-footer', $html);
if ($footContent.find('.elementor-toggle').length <= 0) {
$('#nasa-footer').replaceWith($footContent);
}
}
/**
* Set viewed product
*/
if ($('#ns-viewed-wrap-cfg').length) {
var $viewed_cfg = $('#ns-viewed-wrap-cfg', $html);
$('#ns-viewed-wrap-cfg').replaceWith($viewed_cfg);
$('body').trigger('ns_viewed_product_init');
}
/**
* Title Page
*/
var matches = res.match(/(.*?)<\/title>/);
var _title = typeof matches[1] !== 'undefined' ? matches[1] : '';
if (_title) {
$('title').html(_title);
}
$('body').trigger('nasa_after_loaded_ajax_complete');
/**
* Fix lazy load
*/
setTimeout(function() {
if ($('img[data-lazy-src]').length) {
$('img[data-lazy-src]').each(function() {
var _img = $(this);
var _src_real = $(_img).attr('data-lazy-src');
var _srcset = $(_img).attr('data-lazy-srcset');
var _size = $(_img).attr('data-lazy-sizes');
$(_img).attr('src', _src_real);
$(_img).removeAttr('data-lazy-src');
if (_srcset) {
$(_img).attr('srcset', _srcset);
$(_img).removeAttr('data-lazy-srcset');
}
if (_size) {
$(_img).attr('sizes', _size);
$(_img).removeAttr('data-lazy-sizes');
}
});
}
}, 100);
},
error: function () {
$('#nasa-ajax-store').removeClass('crazy-loading');
if ($('.nasa-progress-bar-load-shop').length) {
$('.nasa-progress-bar-load-shop').removeClass('nasa-loading');
}
_single_loading = false;
}
});
window.history.pushState(_url, '', _url);
}
}
});
/**
* Compatible with FancyProductDesigner
*/
$('body').on('modalDesignerClose', function() {
setTimeout(function() {
if ($('.nasa-single-product-thumbnails .nasa-wrap-item-thumb').length) {
var _src = $('.woocommerce-product-gallery__image img').attr('src');
$('.nasa-single-product-thumbnails .nasa-wrap-item-thumb:first-child img').attr('src', _src);
$('.nasa-single-product-thumbnails .nasa-wrap-item-thumb:first-child img').removeAttr('srcset');
}
}, 100);
});
/**
* Change pagination comments
*/
$('body').on('click', '.woocommerce-Reviews a.page-numbers', function(e) {
e.preventDefault();
var _url = $(this).attr('href');
var layout = $('.nasa-change-layout-reviews.nasa-active');
layout = $(layout).length && $(layout).attr('data-type') != '' ? $(layout).attr('data-type') : 'list';
$.ajax({
url: _url,
type: 'get',
dataType: 'html',
data: {
reviews_layout:layout
},
cache: true,
beforeSend: function() {
$('body').trigger('nasa_before_load_comments');
if (!$('#comments').hasClass('nasa-loading')) {
$('#comments').addClass('nasa-loading');
}
},
success: function (res) {
var $html = $.parseHTML(res);
var $comments = $('#comments', $html);
$('#comments').replaceWith($comments);
$('body').trigger('nasa_animate_scroll_to_top', [$, '#reviews', 200]);
$('body').trigger('nasa_loaded_comments');
$('body').trigger('nasa_masonry_comments', [false, false]);
$('body').trigger('nasa-load-reviews-img');
},
error: function () {
$('#comments').removeClass('nasa-loading');
}
});
});
$('body').on('click', '.woocommerce-Reviews a.load-more-review-btn', function(e) {
e.preventDefault();
var _this = $(this);
var _url_ajax = $(this).attr('href');
var _url = new URL(window.location.href);
var review_sort = _url.searchParams.get('review_sort');
var reviews_layout = $('.nasa-change-layout-reviews.nasa-active');
reviews_layout = $(reviews_layout).length && $(reviews_layout).attr('data-type') != '' ? $(reviews_layout).attr('data-type') : 'list';
if (review_sort == '' || review_sort == null) {
var sort_type_a = $('.woocommerce-Reviews-ordering .sub-ordering .nasa-orderby.active');
var sort_type_b = $('.woocommerce-Reviews-ordering select.orderby');
review_sort = $(sort_type_a).length ? $(sort_type_a).attr('data-value') : $(sort_type_b).val();
}
$.ajax({
url: _url_ajax,
type: 'get',
dataType: 'html',
data: {
review_sort: review_sort,
reviews_layout: reviews_layout
},
cache: true,
beforeSend: function() {
$('body').trigger('nasa_before_load_comments');
if (!$(_this).hasClass('nasa-loading')) {
$(_this).addClass('nasa-loading');
}
},
success: function (res) {
var $html = $.parseHTML(res);
var $comment_wrap = $('.commentlist', $html);
var $link = $('.load-more-review-btn', $html);
var $title = $('.woocommerce-Reviews-title', $html);
if (reviews_layout != 'list') {
$('body').trigger('nasa_after_loaded_more_ajax_comments_insert', [$comment_wrap.html()]);
} else {
$('.commentlist').append($comment_wrap.html());
}
if ($link.length) {
$('.load-more-review-btn').replaceWith($link);
} else {
$('.load-more-review-btn').remove();
}
// $('body').trigger('nasa_animate_scroll_to_top', [$, '#reviews', 200]);
$('body').trigger('nasa_loaded_comments');
$('body').trigger('nasa-load-reviews-img');
$(_this).removeClass('nasa-loading');
$('.woocommerce-Reviews-title').replaceWith($title);
},
error: function () {
$(_this).removeClass('nasa-loading');
}
});
});
$('body').on('click', '.woocommerce-Reviews-ordering .nasa-ordering .nasa-orderby', function(e) {
e.preventDefault();
if (!$(this).hasClass('active')) {
var sort_type = $(this).attr('data-value') != '' ? $(this).attr('data-value') : 'date_DESC';
var _url = new URL(window.location.href);
$(this).siblings().removeClass('active');
$(this).addClass('active');
$(this).parents('.nasa-ordering').find('.nasa-current-orderby').text($(this).text());
_url.searchParams.set('review_sort', sort_type);
window.history.pushState(_url.href, '', _url.href);
$.ajax({
url: _url,
type: 'get',
dataType: 'html',
data: {},
cache: true,
beforeSend: function() {
$('body').trigger('nasa_before_load_comments');
if (!$('#comments').hasClass('nasa-loading')) {
$('#comments').addClass('nasa-loading');
}
},
success: function (res) {
var $html = $.parseHTML(res);
var $comments = $('#comments', $html);
$('#comments').replaceWith($comments);
$('body').trigger('nasa_animate_scroll_to_top', [$, '#reviews', 200]);
$('body').trigger('nasa_loaded_comments');
$('body').trigger('nasa-load-reviews-img');
$('body').trigger('nasa_masonry_comments', [false, false]);
},
error: function () {
$('#comments').removeClass('nasa-loading');
}
});
}
});
$('body').on('click', '.nasa-wrap-review-helpful .ns-vote', function () {
var _this = $(this),
_wrap = $(_this).parents('.nasa-wrap-review-helpful');
if (
typeof nasa_ajax_params !== 'undefined' &&
typeof nasa_ajax_params.wc_ajax_url !== 'undefined' &&
typeof nasa_vote_review_nonce.vote_review_nonce !== 'undefined' &&
!$(_wrap).hasClass('ns-loading')
) {
var _urlAjax = nasa_ajax_params.wc_ajax_url.toString().replace('%%endpoint%%', 'nasa_vote_review'),
data_vote = $(_this).hasClass('ns-dislike') ? false : true,
reviewID = $(_wrap).attr('data-id-comment'),
data = {
reviewID: reviewID,
upvote: data_vote,
security: nasa_vote_review_nonce.vote_review_nonce
};
$.ajax({
url: _urlAjax,
type: 'post',
dataType: 'json',
cache: false,
data: data,
beforeSend: function () {
$(_wrap).addClass('ns-loading');
},
success: function (res) {
$(_wrap).removeClass('ns-loading');
if (res.success) {
$('.nasa-wrap-review-helpful[data-id-comment="' + reviewID + '"]').html(res.data.html);
} else {
set_nasa_notice($, res.data.message);
if (typeof _timeout_notice !== 'undefined') {
clearTimeout(_timeout_notice);
}
_timeout_notice = setTimeout(function () {
if ($('.nasa-close-notice').length) {
$('.nasa-close-notice').trigger('click');
}
}, 3000);
}
},
error: function (xhr, status, error) {
$(_wrap).removeClass('ns-loading');
}
});
}
});
$('body').on('click','.woocommerce-Reviews-layout .nasa-change-layout-reviews', function () {
var _this = $(this);
if (!$(_this).hasClass('nasa-active')) {
var _url = new URL(window.location.href);
var data_class = $(_this).attr('data-class');
_url.searchParams.set('reviews_layout', $(_this).attr('data-type'));
window.history.pushState(_url.href, '', _url.href);
$(_this).siblings().removeClass('nasa-active');
$(_this).addClass('nasa-active');
$('.commentlist').attr('class',data_class);
if ($(_this).attr('data-type') == 'masonry') {
$('body').trigger('nasa_masonry_comments', [false, false]);
} else {
$('body').trigger('nasa_masonry_comments_destroy');
}
}
});
$('body').on('click','#comments .description .read-more', function () {
var _this = $(this);
var pa = $(_this).parents('.description');
if ( !$(pa).hasClass('read-more')) {
$(pa).addClass('read-more');
$('body').trigger('nasa_masonry_comments', [false, false, true]);
$(_this).remove();
}
});
/**
* Comment form
*/
$('body').on('nasa_comment_media_form', function() {
if ($('#nasa-comment-media[type="file"]').length) {
var _form = $('#nasa-comment-media[type="file"]').parents('form');
$(_form).attr('enctype', 'multipart/form-data');
}
}).trigger('nasa_comment_media_form');
/**
* Back url with Ajax Call
*
* @param {type} $
* @returns {String}
*/
$(window).on('popstate', function() {
if ($('#nasa-single-product-ajax').length && _popstate_reload) {
location.reload(true);
}
});
$('body').on('click','.item-wrap.slick-cloned .product-image',function(e){
var data_key = $(this).parents('.item-wrap.slick-cloned .nasa-item-main-image-wrap').attr('data-key');
$('body').find('.main-images .item-wrap:not(.slick-cloned) .nasa-item-main-image-wrap[data-key="' + data_key + '"] .product-image').trigger('click');
e.preventDefault();
});
$('body').on('click','.item-wrap.slick-cloned .mejs-overlay-play, .item-wrap.slick-cloned .mejs-mediaelement .wp-video-shortcode',function() {
var _this = this;
var _pa = $(_this).parents('.mejs-inner');
var _overlay_play = $(_pa).find('.mejs-overlay-play');
var _video = $(_pa).find('video.wp-video-shortcode');
if (!$(_overlay_play).hasClass('video-play')) {
$(_overlay_play).addClass('video-play');
$(_video).get(0).play();
} else {
$(_overlay_play).removeClass('video-play');
$(_video).get(0).pause();
}
});
/**
* Initialize woo lightbox galleries on page.
*/
$('body').on('click','.main_min_img, .woocommerce-product-gallery__wrapper .main-images a.product-image', function(e) {
if (! $('body').hasClass('nasa-disable-lightbox-image')) {
var _this = $(this);
var _image = $('.woocommerce-product-gallery__wrapper .main-images a.product-image');
var items =[];
var index = $(_image).index(_this);
var productVideo = $('.product-video-popup').attr('href');
var productVideoPost = $('video.wp-video-shortcode').attr('src');
var pswpElement;
if ($(".pswp[role='dialog']").length) {
pswpElement = $(".pswp[role='dialog']")[0];
} else {
pswpElement = $(pswpHTML).appendTo("body")[0];
}
var options = {
closeOnScroll: false,
mouseUsed: true,
history:false,
shareEl: false,
index: index,
closeOnVerticalDrag:false
};
$(_image).each(function(){
var _this = $(this);
items.push({
src: $(_this).attr("href"),
title: $(_this).attr("title"),
w: 0,
h: 0,
type: 'img'
});
});
if (productVideoPost) {
items.push({
html : '',
type: 'video'
});
}
if (productVideo) {
var embedUrl = nasa_ember_link(productVideo);
items.push({
html : '',
type: 'videourl'
});
}
var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
gallery.listen('imageLoadComplete', function (index, item) {
nasa_loadImg_woo_lightbox(index, item, gallery);
});
gallery.listen('gettingData', function (index, item) {
nasa_loadImg_woo_lightbox(index, item, gallery);
});
gallery.listen('afterChange', function() {
});
gallery.listen('beforeChange', function() {
$('body').trigger('nasa_media_all_pause');
});
gallery.listen('close', function (index, item) {
$('body').trigger('nasa_media_all_pause');
$(pswpElement).remove();
});
gallery.init();
}
e.preventDefault();
});
$('body').on('click','.nasa_reviewed_images .nasa-item-review-thumb', function(e) {
e.preventDefault();
var id_comment = $(this).attr('data-li-id');
var index = $(this).attr('data-index');
$('#'+id_comment).find('.nasa-item-review-thumb[data-index="'+ index +'"]').trigger('click');
});
$('body').on('click','.commentlist .nasa-wrap-review-thumb .nasa-item-review-thumb', function(e) {
e.preventDefault();
var _this = $(this);
var _reviews = $('#comments .commentlist').find('.nasa-wrap-review-thumb');
var _thump_pa = $(_this).parents('.nasa-wrap-review-thumb');
var _index = $(_reviews).index(_thump_pa);
var media_key = $(_this).attr('data-index');
$('.nasa-slide-popup-review').remove();
$('body').append('
');
$.each(_reviews, function( index, value ) {
var _container_pa = $(this).parents('.comment_container');
var _html_clone = $(_container_pa).clone();
var _thumb = $(_html_clone).find('.nasa-wrap-review-thumb');
var _images = JSON.parse($(_thumb).attr('data-img-review'));
var _id_coment = $(_html_clone).attr('id');
var auto_height = $('.nasa-mobile-check').length && $('.nasa-mobile-check').width() ? true : false;
$(_html_clone).find('.nasa-item-review-thumb').remove();
$(_html_clone).find('.meta').prependTo($(_html_clone).find('.comment-text'));
$(_html_clone).find('.avatar').prependTo($(_html_clone).find('.comment-text'));
$(_html_clone).find('.nasa-wrap-review-helpful').appendTo($(_html_clone).find('.comment-text'));
$(_html_clone).removeAttr('id').addClass('nasa-slider-wrap').append('');
$(_thumb).addClass('nasa-slick-slider nasa-slick-nav nasa-nav-radius slick-slider');
$(_thumb).attr({
'data-columns': '1',
'data-columns-tablet': '1',
'data-columns-small': '1',
'data-height-auto': auto_height,
'data-start': index == _index ? media_key : 0,
'data-disable-drag': true
}).removeAttr('id');
_images.forEach(function(url,i) {
var videoExtensions = ['mp4', 'avi', 'mpeg', 'mov', 'webm'];
var extension = url.split('.').pop().toLowerCase();
var media_html = '';
if (videoExtensions.includes(extension)) {
media_html = '';
} else {
var style= "background: url('"+url+"') center/cover;";
media_html = '';
}
$(_thumb).append('