Files

3297 lines
124 KiB
JavaScript

/**
* 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 = '<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"><div class="pswp__bg"></div><div class="pswp__scroll-wrap"><div class="pswp__container"><div class="pswp__item"></div><div class="pswp__item"></div><div class="pswp__item"></div></div><div class="pswp__ui pswp__ui--hidden"><div class="pswp__top-bar"><div class="pswp__counter"></div><button class="pswp__button pswp__button--close" title="Close (Esc)"></button><button class="pswp__button pswp__button--share" title="Share"></button><button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button><button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button><div class="pswp__preloader"><div class="pswp__preloader__icn"><div class="pswp__preloader__cut"><div class="pswp__preloader__donut"></div></div></div></div></div><div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"><div class="pswp__share-tooltip"></div></div><button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button><button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button><div class="pswp__caption"><div class="pswp__caption__center"></div></div></div></div></div>';
var _timeout_invalid,
_timeout_notice;
var svg_alert = '<svg width="12" height="12" viewBox="0 0 12 13" fill="none"><path d="M6 0C2.67188 0 0 2.69531 0 6C0 9.32812 2.67188 12 6 12C9.30469 12 12 9.32812 12 6C12 2.69531 9.30469 0 6 0ZM6 10.875C3.30469 10.875 1.125 8.69531 1.125 6C1.125 3.32812 3.30469 1.125 6 1.125C8.67188 1.125 10.875 3.32812 10.875 6C10.875 8.69531 8.67188 10.875 6 10.875ZM6 7.125C6.30469 7.125 6.5625 6.89062 6.5625 6.5625V3.5625C6.5625 3.25781 6.30469 3 6 3C5.67188 3 5.4375 3.25781 5.4375 3.5625V6.5625C5.4375 6.89062 5.67188 7.125 6 7.125ZM6 7.92188C5.57812 7.92188 5.25 8.25 5.25 8.64844C5.25 9.04688 5.57812 9.375 6 9.375C6.39844 9.375 6.72656 9.04688 6.72656 8.64844C6.72656 8.25 6.39844 7.92188 6 7.92188Z" fill="currentColor"></path></svg>';
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('<div class="nasa-slick-fog"></div>');
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 : '<iframe class="ns-woo-popup-video ns-woo-popup-video-url" src="' + embedUrl + '" frameborder="0" allowfullscreen allow="autoplay *; fullscreen *"></iframe>',
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>(.*?)<\/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 : '<video class="ns-woo-popup-video" controls autoplay playsinline muted><source src="' + productVideoPost + '" type="video/mp4"></video>',
type: 'video'
});
}
if (productVideo) {
var embedUrl = nasa_ember_link(productVideo);
items.push({
html : '<iframe class="ns-woo-popup-video ns-woo-popup-video-url" src="' + embedUrl + '"></iframe>',
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('<div class="nasa-slide-popup-review nasa-slider-wrap"><div class="nasa-slick-slider nasa-slick-nav nasa-nav-radius slick-slider nasa-center-mode"></div></div>');
$.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('<a class="nasa-stclose close-review-slide-popup" href="javascript:void(0);" rel="nofollow"></a>');
$(_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 = '<video class="ns-video-review" controls playsInline autoplay muted>'+
'<source src="' + url + '" type="video/' + extension + '">'+
'</video>';
} else {
var style= "background: url('"+url+"') center/cover;";
media_html = '<span style="'+ style +'" class="ns-overlay"></span><img src="' + url + '" alt="' + _id_coment + '-'+ i + '" />';
}
$(_thumb).append('<div class="nasa-media-wrap">' + media_html + '</div>');
});
$('.nasa-slide-popup-review >.nasa-slick-slider').append('<div>' + $(_html_clone).prop('outerHTML') + '<span class="close-review-slide-popup-bg"></span></div>');
});
$('.nasa-slide-popup-review >.nasa-slick-slider').attr({
'data-columns': '1',
'data-columns-tablet': '1',
'data-columns-small': '1',
'data-height-auto': false,
'data-start': _index
})
$('body').addClass('ovhd');
$('body').trigger('nasa_media_all_pause');
$('body').trigger('nasa_reload_slick_slider_private', $('.nasa-slide-popup-review'));
$('.nasa-slide-popup-review').addClass('nasa-active');
// var _lm_btn = $('.load-more-review-btn');
// if ($(_lm_btn).length) {
// var _url_ajax = $(_lm_btn).attr('href');
// $('.nasa-slide-popup-review').addClass('nasa-active').attr('data-ajax-url',_url_ajax);
// }
$('.nasa-slide-popup-review >.nasa-slick-slider').on('beforeChange', function(event, slick, currentSlide) {
// var _videos = $('.nasa-slide-popup-review').find('.ns-video-review');
// _videos.each(function() {
// this.pause();
// });
$('body').trigger('nasa_media_all_pause');
// if ($(_lm_btn).length) {
// if (currentSlide >= slick.slideCount-2) {
// nasa_get_ajax_load_review_slide($,$('.nasa-slide-popup-review >.nasa-slick-slider'))
// }
// }
});
});
$('body').on('click','.nasa-slide-popup-review .close-review-slide-popup,.nasa-slide-popup-review .close-review-slide-popup-bg', function (e) {
e.preventDefault();
var _this = $(this);
var _pa = $(_this).parents('.nasa-slide-popup-review');
$('body').trigger('nasa_media_all_pause');
$('body').removeClass('ovhd');
$(_pa).fadeOut(300);
setTimeout(function() {
$(_pa).remove();
},300);
});
$('body').on('change','#review_form_wrapper .nasa-form-media #nasa-comment-media, #review_form_wrapper .nasa-form-media #nasa-comment-media-video', function(e) {
var _this = $(this),
pa = $(_this).parents('.nasa-form-media'),
media_show = $(pa).find('.nasa-form-media-show'),
_max_size = $(pa).attr('data-max-size'),
_max_file = $(pa).attr('data-max-file'),
_file_Input = $(_this)[0],
newFiles = e.target.files,
dataTransfer = new DataTransfer();
if ( $(_this).attr('id') == 'nasa-comment-media-video') {
dataTransfer = dataTransfer_video;
} else {
dataTransfer = dataTransfer_img;
}
$(pa).removeClass('nasa-invalid');
$.each(newFiles, function(index, file) {
var fileSize = file.size;
var fileSizeInKB = (fileSize / 1024).toFixed(2);
if (dataTransfer.files.length < _max_file && fileSizeInKB < parseInt(_max_size)) {
dataTransfer.items.add(file);
var reader = new FileReader();
reader.onload = function(e) {
if (file.type.startsWith('video/') && $(_this).attr('id') == 'nasa-comment-media-video') {
media_show.append('<span class="nasa-media-preview"><a name="' + file.name + '" class="nasa-stclose ns-remove-video" href="javascript:void(0);" rel="nofollow"></a><video src="' + e.target.result + '"></video></span>');
} else if (file.type.startsWith('image/') && $(_this).attr('id') == 'nasa-comment-media') {
media_show.append('<span class="nasa-media-preview"><a name="' + file.name + '" class="nasa-stclose ns-remove-img" href="javascript:void(0);" rel="nofollow"></a><img src="' + e.target.result + '" alt="comment-2847-0"></span>');
}
};
reader.readAsDataURL(file);
_file_Input.files = dataTransfer.files;
} else {
if (!$(pa).hasClass('nasa-invalid')) {
$(pa).addClass('nasa-invalid');
if (typeof _timeout_invalid !== 'undefined') {
clearTimeout(_timeout_invalid);
}
_timeout_invalid = setTimeout(function() {
$(pa).removeClass('nasa-invalid');
}, 3000);
}
}
});
if (dataTransfer.files.length > 0) {
$(pa).find('.ns-media-count').text(dataTransfer.files.length);
$(pa).addClass('nasa-uploaded');
if (dataTransfer.files.length == _max_file) {
$(pa).addClass('nasa-uploaded-full');
}
}
});
$('body').on('click','#review_form_wrapper .nasa-form-media-show .nasa-media-preview a',function() {
var _this = $(this),
name = $(_this).attr('name'),
pa = $(_this).parents('.nasa-form-media'),
_file_Input = $(pa).find('input[type="file"]')[0],
_deleted = false,
old_dataTransfer = new DataTransfer(),
newDataTransfer = new DataTransfer();
if ( $(_this).hasClass('ns-remove-video') ) {
old_dataTransfer = dataTransfer_video;
} else {
old_dataTransfer = dataTransfer_img;
}
$.each(old_dataTransfer.files, function(index, file) {
if (file.name != name || _deleted) {
newDataTransfer.items.add(file);
} else {
_deleted = true;
}
});
_file_Input.files = newDataTransfer.files;
if ($(_this).hasClass('ns-remove-video')) {
dataTransfer_video = newDataTransfer;
} else {
dataTransfer_img = newDataTransfer;
}
$('.nasa-form-media').removeClass('nasa-invalid');
$(_this).parents('.nasa-media-preview').remove();
$(pa).find('.ns-media-count').text(_file_Input.files.length);
$(pa).removeClass('nasa-uploaded-full');
if (_file_Input.files.length <= 0) {
$(pa).removeClass('nasa-uploaded');
}
});
/**
* NEW REVIEW
*/
$('body').on('click', '.btn-add-new-review', function() {
if ($('#review_form_wrapper').length) {
var _form = $('#review_form_wrapper');
if (!$('body').hasClass('nasa-in-mobile') && !$('body').hasClass('nasa-mobile-app')) {
$(_form).appendTo($('body'));
}
if (!$(_form).hasClass('ns-show')) {
$('.black-window').fadeIn(200).addClass('desk-window');
if (!$('body').hasClass('ovhd')) {
$('body').addClass('ovhd');
}
if ($('.nasa-single-product-in-mobile').length) {
$(_form).addClass('ns-show');
} else {
$(_form).show();
setTimeout(function() {
$(_form).addClass('ns-show');
},50);
}
}
}
});
/**
* Form Close event
*/
$('body').on('click', '.ns-form-close.close-review-form', function() {
var _form = $(this).parents('#review_form_wrapper');
$('.black-window').fadeOut(400).removeClass('desk-window');
$('body').removeClass('ovhd');
if ($('.nasa-single-product-in-mobile').length) {
$(_form).removeClass('ns-show');
} else {
$(_form).addClass('ns-left-to-right');
setTimeout(function() {
$(_form).hide();
$(_form).removeClass('ns-show ns-left-to-right');
},400);
}
});
$('body').on('nasa-load-reviews-img', function() {
var _reviews = $('#comments .commentlist').find('.nasa-wrap-review-thumb').slice(0, 8);
var _target = $('.nasa_reviewed_images_wrap .nasa_reviewed_images');
$(_target).html('');
if ($(_reviews).length) {
$(_target).show();
if (!$('#reviews').hasClass('nasa-rv-has-media')) {
$('#reviews').addClass('nasa-rv-has-media');
}
$.each(_reviews, function( index, value ) {
var _html_clone = $(this).clone();
$(_html_clone).removeAttr('data-img-review id');
$(_html_clone).removeClass('nasa-flex');
$(_html_clone).find('.nasa-item-review-thumb:not(.nasa-first-media-review)').remove();
$(_html_clone).find('.nasa-first-media-review .ns-review-img-count').remove();
$(_html_clone).appendTo($(_target));
});
} else {
setTimeout(function(){
$(_target).hide();
$('#reviews').removeClass('nasa-rv-has-media')
},100);
}
nasa_check_review_MediaLoaded($,$('.nasa-rv-has-media'));
}).trigger('nasa-load-reviews-img');
/**
* Form submit event
*/
$('body').on('click', '#commentform .form-submit #nasa-submit', function(e) {
e.preventDefault();
var _form = $('#commentform'),
_submit_btn = $(_form).find('input[type="submit"]'),
_item = $(_form).find('.nasa-field-required');
$(_submit_btn).removeClass('nasa-disabled');
$(_item).each(function(index) {
var _val = $.trim($(this).val());
var pa_item = $(this).parent();
if (_val === '') {
if (!$(_submit_btn).hasClass('nasa-disabled')) {
$(_submit_btn).addClass('nasa-disabled');
}
$(pa_item).addClass('nasa-required');
}
if ($(pa_item).hasClass('nasa-invalid')) {
if (!$(_submit_btn).hasClass('nasa-disabled')) {
$(_submit_btn).addClass('nasa-disabled');
}
}
});
if (!$(this).hasClass('nasa-disabled')) {
var _mes_wrap_e = (_form).siblings('.nasa-error');
var _mes_wrap_s = (_form).siblings('.nasa-success');
var _urlAjax = $(_form).attr('action');
var formdata = $(_form)[0];
var _data = new FormData(formdata);
var _url = new URL(window.location.href);
$.ajax({
url: _urlAjax,
type: 'post',
dataType: 'json',
cache: false,
contentType: false,
processData: false,
data: _data,
beforeSend: function () {
if (!$(_form).hasClass('nasa-processing')) {
$(_form).addClass('nasa-processing');
}
(_mes_wrap_e).removeClass('nasa-active').html('');
(_mes_wrap_s).removeClass('nasa-active').html('');
},
success: function (response) {
$(_form).removeClass('nasa-processing');
$(_form).find('.nasa-required').removeClass('nasa-required');
if (response.code == 'success') {
var _html = $(response.html);
var _comments = $('#comments', _html);
if ($(_comments).length) {
$('#comments').replaceWith(_comments);
}
_url.searchParams.set('review_sort', 'date_DESC');
window.history.pushState(_url.href, '', _url.href);
if (_url.searchParams.get('reviews_layout') == 'masonry') {
$('body').trigger('nasa_masonry_comments', [false, false]);
}
$(_mes_wrap_s).html(response.message).addClass('nasa-active');
$(_mes_wrap_s).html('');
$('body').trigger('nasa-load-reviews-img');
$('body').trigger('nasa_confetti_init');
$('body').trigger('nasa_confetti_restart', [2500]);
$('#review_form_wrapper').addClass('submitted_sucess');
setTimeout(function () {
$('.ns-form-close.close-review-form').trigger('click');
$('body').trigger('nasa_after_submitted_review',[$(_form)]);
$('#review_form_wrapper').removeClass('submitted_sucess');
},3000);
} else {
$(_mes_wrap_e).html(response.message).addClass('nasa-active');
}
},
error: function(error) {
$(_form).removeClass('nasa-processing');
if (error.responseJSON.message) {
$(_mes_wrap_e).html(error.responseJSON.message).addClass('nasa-active');
$(_form).parents('#respond').animate({ scrollTop: 0 }, 400);
}
}
});
}
});
$('body').on('input delete change', '#commentform input[type="email"], #commentform input[type="text"], #commentform textarea', function() {
var _this = $(this),
pa = $(_this).parent(),
_val = $.trim($(_this).val());
if ($('#respond .nasa-message').length && $('#respond .nasa-message').hasClass('nasa-active')) {
$('#respond .nasa-message').removeClass('nasa-active').html('');
}
if ($(pa).length) {
if (_val != '') {
$(pa).addClass('nasa-inputing');
} else {
$(pa).removeClass('nasa-inputing');
}
}
if ($(_this).attr('type') == 'email') {
var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (_val != '') {
if (!emailRegex.test(_val)) {
$(pa).addClass('nasa-invalid');
} else {
$(pa).removeClass('nasa-invalid');
}
} else {
$(pa).removeClass('nasa-invalid');
}
}
});
$('body').on('blur', '#commentform textarea', function() {
var _this = $(this),
pa = $(_this).parent();
if ($(pa).length) {
$(pa).addClass('nasa-textarea-blur');
}
});
$('body').on('blur', '#commentform input, #commentform textarea', function() {
var _this = $(this);
var pa_item = $(_this).parent();
var _val = $.trim($(_this).val());
if (_val === '' && $(_this).hasClass('nasa-field-required')) {
if (!$(pa_item).hasClass('nasa-required') && $(pa_item).hasClass('nasa-active')) {
$(pa_item).addClass('nasa-required');
}
}
});
$('body').on('focus', '#commentform input, #commentform textarea', function() {
var _this = $(this),
pa = $(_this).parent(),
// id = $(_this).attr('id'),
_form = $('#commentform'),
_item = $(_form).find('.nasa-field-required');
if ($(_item).length) {
$(_item).each(function(index) {
var pa_item = $(this).parent();
var _val = $.trim($(this).val());
if (_val === '') {
if (!$(pa_item).hasClass('nasa-required') && $(pa_item).hasClass('nasa-active')) {
$(pa_item).addClass('nasa-required');
}
} else {
$(pa_item).removeClass('nasa-active');
}
});
if (!$(pa).hasClass('nasa-active')) {
$(pa).addClass('nasa-active');
}
$(pa).removeClass('nasa-required nasa-textarea-blur');
}
});
$('body').on('click', '#commentform .comment-form-rating .stars a', function() {
var rating_pa = $('.comment-form-rating');
$(rating_pa).removeClass('nasa-required');
});
$('body').on('nasa_after_submitted_review', function(ev,_form) {
ev.preventDefault();
var _item = $(_form).find('input[type="text"], input[type="email"], input[type="file"], textarea, select');
dataTransfer_img = new DataTransfer();
dataTransfer_video = new DataTransfer();
if ($(_item).length) {
$(_item).val('');
$(_item).parent().find('.ns-media-count').text('0');
$(_item).parent().removeClass('nasa-active nasa-inputing nasa-required nasa-uploaded');
$('.stars.selected').removeClass('selected').find('a.active').removeClass('active');
$('.nasa-form-media-show').find('.nasa-media-preview').remove();
}
});
/* End Document Ready */
});
/**
******************************
* Functions ******************
******************************
*/
function nasa_check_review_MediaLoaded($,_container) {
var _mediaItems = $(_container).find('.crazy-loading .nasa-review-media');
var totalItems = $(_mediaItems).length;
var loadedItems = 0;
$(_mediaItems).each(function() {
var _this = $(this);
var _pa = $(_this).parents('.nasa-item-review-thumb');
if ($(_this).is('img')) {
if (this.complete) {
loadedItems++;
$(_pa).removeClass('crazy-loading');
} else {
$(_this).on('load', function() {
loadedItems++;
$(_pa).removeClass('crazy-loading');
});
}
}
if ($(_this).is('video')) {
if (this.readyState === 4) {
loadedItems++;
$(_pa).removeClass('crazy-loading');
} else {
$(_this).on('loadeddata', function() {
loadedItems++;
$(_pa).removeClass('crazy-loading');
});
}
}
});
setTimeout(function() {
if (loadedItems < totalItems) {
nasa_check_review_MediaLoaded($,_container);
}
},300);
}
// function nasa_get_ajax_load_review_slide($,_slick) {
// var _pa = $(_slick).parents('.nasa-slide-popup-review');
// var _url_ajax = $(_pa).attr('data-ajax-url');
// var auto_height = $('.nasa-mobile-check').length && $('.nasa-mobile-check').width() ? true : false;
// if (_url_ajax == '' || _url_ajax == null || _url_ajax == 'undefined') {
// return false;
// }
// if (!$(_pa).hasClass('nasa-loading')) {
// $(_pa).addClass('nasa-loading');
// $.ajax({
// url: _url_ajax,
// type: 'get',
// dataType: 'html',
// data: {},
// cache: true,
// beforeSend: function() {
// },
// success: function (res) {
// var $html = $.parseHTML(res);
// var $link = $('.load-more-review-btn', $html);
// var $reviews = $('.nasa-wrap-review-thumb', $html);
// if ($link.length) {
// $(_pa).attr('data-ajax-url',$link.attr('href'));
// } else {
// $(_pa).attr('data-ajax-url','');
// }
// $(_pa).removeClass('nasa-loading');
// if ($reviews.length) {
// $.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');
// $(_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).removeAttr('id').addClass('nasa-slider-wrap ns-slide-add-new').append('<a class="nasa-stclose close-review-slide-popup" href="javascript:void(0);" rel="nofollow"></a>');
// $(_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': 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 = '<span style="background: #000;" class="ns-overlay"></span>'+
// '<video controls playsInline autoplay muted>'+
// '<source src="' + url + '" type="video/' + extension + '">'+
// '</video>';
// } else {
// var style= "background: url('"+url+"') center/cover;";
// media_html = '<span style="'+ style +'" class="ns-overlay"></span><img src="' + url + '" alt="' + _id_coment + '-'+ i + '" />';
// }
// $(_thumb).append('<div class="nasa-media-wrap">' + media_html + '</div>');
// });
// $(_slick).slick('slickAdd','<div>' + $(_html_clone).prop('outerHTML') + '<span class="close-review-slide-popup-bg"></span></div>');
// $('body').trigger('nasa_reload_slick_slider_private', $(_pa).find('.ns-slide-add-new'));
// $(_pa).find('.ns-slide-add-new').removeClass('ns-slide-add-new');
// });
// } else {
// nasa_get_ajax_load_review_slide($,_slick);
// }
// },
// error: function () {
// $(_pa).removeClass('nasa-loading');
// }
// });
// }
// }
function nasa_loadImg_woo_lightbox(index, item, gallery) {
if (item.w == 0 && item.h == 0 && item.type == 'img') {
var imgpreload = new Image();
imgpreload.onload = function () {
item.w = this.width;
item.h = this.height;
item.needsUpdate = true;
gallery.updateSize(true);
};
imgpreload.src = item.src;
}
}
function nasa_ember_link(link) {
var videoId = '';
if (nasa_checkVideoPlatform(link) == 'youtube') {
if (link.indexOf('embed/') !== -1) {
return link;
}
if (link.indexOf('v=') !== -1) {
// Full link eg: https://www.youtube.com/watch?v=videoId
videoId = link.split('v=')[1];
var ampersandPosition = videoId.indexOf('&');
if (ampersandPosition !== -1) {
videoId = videoId.substring(0, ampersandPosition);
}
} else if (link.indexOf('youtu.be/') !== -1) {
// Short link eg: https://youtu.be/videoId
videoId = link.split('youtu.be/')[1];
var questionMarkPosition = videoId.indexOf('?');
if (questionMarkPosition !== -1) {
videoId = videoId.substring(0, questionMarkPosition);
}
} else {
return '#error-link-youtube';
}
var startIndex = link.indexOf('t=');
var startTime = '';
if (startIndex !== -1) {
startTime = link.substring(startIndex + 2);
}
var embedUrl = 'https://www.youtube.com/embed/' + videoId + '?autoplay=1&enablejsapi=1';
if (startTime) {
embedUrl += '&start=' + startTime;
}
} else if (nasa_checkVideoPlatform(link) == 'vimeo') {
videoId = link.split('vimeo.com/')[1];
var embedUrl = 'https://player.vimeo.com/video/' + videoId;
} else {
return link;
}
return embedUrl;
}
function nasa_checkVideoPlatform(link) {
var youtubeRegex = /(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:watch\?v=|embed\/)|youtu\.be\/)([\w\-]+)/;
var vimeoRegex = /(?:https?:\/\/)?(?:www\.)?vimeo\.com\/(\d+)/;
if (youtubeRegex.test(link)) {
return 'youtube';
} else if (vimeoRegex.test(link)) {
return 'vimeo';
} else {
return 'invalid';
}
}
/**
* clone add to cart button fixed
*
* @param {type} $
* @returns {String}
*/
function nasa_clone_add_to_cart($) {
var _ressult = '';
if ($('.nasa-product-details-page').length) {
var _wrap = $('.nasa-product-details-page');
/**
* Variations
*/
if ($(_wrap).find('.single_variation_wrap').length) {
var _price = $(_wrap).find('.single_variation_wrap .woocommerce-variation .woocommerce-variation-price').length && $(_wrap).find('.single_variation_wrap .woocommerce-variation').css('display') !== 'none' ? $(_wrap).find('.single_variation_wrap').find('.woocommerce-variation-price').html() : '';
/**
* Clone form
*/
var _addToCart = $(_wrap).find('.single_variation_wrap').find('.woocommerce-variation-add-to-cart').clone();
/**
* Remove Buy Now
*/
if ($(_addToCart).find('.nasa-buy-now').length && !$(_addToCart).find('.nasa-buy-now').hasClass('has-sticky-in-desktop')) {
$(_addToCart).find('.nasa-buy-now').remove();
}
/**
* Remove tags not use in sticky
*/
if ($(_addToCart).find('.nasa-not-in-sticky').length) {
$(_addToCart).find('.nasa-not-in-sticky').remove();
}
/**
* Remove Wapo
*/
if ($(_addToCart).find('#yith-wapo-container').length) {
$(_addToCart).find('#yith-wapo-container').remove();
}
/**
* Remove WooCommerce Product Bundle
*/
if ($(_addToCart).find('.bundled_products, .extendons_table_bundle').length) {
$(_addToCart).find('.bundled_products, .extendons_table_bundle').remove();
}
/**
* Remove Yith WooCommerce Bundle
*/
if ($(_addToCart).find('.yith-wcpb-product-bundled-items').length) {
$(_addToCart).find('.yith-wcpb-product-bundled-items').remove();
}
/**
* Remove Product Addons for Woocommerce
*/
if ($(_addToCart).find('.wcpa_form_outer').length) {
$(_addToCart).find('.wcpa_form_outer').remove();
}
/**
* Compatible with Uni CPO/Rangeslider.ion Plugin
*/
if ($(_addToCart).find('.uni-builderius-container').length) {
$(_addToCart).find('.uni-builderius-container').remove();
}
/**
* Remove Checkout Plugins - Stripe for WooCommerce
*/
if ($(_addToCart).find('.cpsw-payment-request-main-wrapper').length) {
$(_addToCart).find('.cpsw-payment-request-main-wrapper').remove();
}
/**
* Remove WC - Stripe for WooCommerce
*/
if ($(_addToCart).find('[class^="wc-stripe-"], [class*=" wc-stripe-"]').length) {
$(_addToCart).find('[class^="wc-stripe-"], [class*=" wc-stripe-"]').remove();
}
/**
* Remove id
*/
$(_addToCart).find('*').removeAttr('id');
/**
* Remove Style
*/
if ($(_addToCart).find('.single_add_to_cart_button').length) {
$(_addToCart).find('.single_add_to_cart_button').removeAttr('style');
}
var _btn = $(_addToCart).html();
var _disable = $(_wrap).find('.single_variation_wrap').find('.woocommerce-variation-add-to-cart-disabled').length ? ' nasa-clone-disable' : '';
_ressult = '<div class="nasa-single-btn-clone single_variation_wrap-clone' + _disable + '">' + _price + '<div class="woocommerce-variation-add-to-cart-clone">' + _btn + '</div></div>';
}
/**
* Simple
*/
else if ($(_wrap).find('.cart').length) {
/**
* Clone form
*/
var _addToCart = $(_wrap).find('.cart').clone();
/**
* Remove Buy Now
*/
if ($(_addToCart).find('.nasa-buy-now').length && !$(_addToCart).find('.nasa-buy-now').hasClass('has-sticky-in-desktop')) {
$(_addToCart).find('.nasa-buy-now').remove();
}
/**
* Remove tags not use in sticky
*/
if ($(_addToCart).find('.nasa-not-in-sticky').length) {
$(_addToCart).find('.nasa-not-in-sticky').remove();
}
/**
* Remove Wapo
*/
if ($(_addToCart).find('#yith-wapo-container').length) {
$(_addToCart).find('#yith-wapo-container').remove();
}
/**
* Remove WooCommerce Product Bundle
*/
if ($(_addToCart).find('.bundled_products, .extendons_table_bundle').length) {
$(_addToCart).find('.bundled_products, .extendons_table_bundle').remove();
}
/**
* Remove Yith WooCommerce Bundle
*/
if ($(_addToCart).find('.yith-wcpb-product-bundled-items').length) {
$(_addToCart).find('.yith-wcpb-product-bundled-items').remove();
}
/**
* Compatible with Uni CPO/Rangeslider.ion Plugin
*/
if ($(_addToCart).find('.uni-builderius-container').length) {
$(_addToCart).find('.uni-builderius-container').remove();
}
/**
* Remove Checkout Plugins - Stripe for WooCommerce
*/
if ($(_addToCart).find('.cpsw-payment-request-main-wrapper').length) {
$(_addToCart).find('.cpsw-payment-request-main-wrapper').remove();
}
/**
* Remove WC - Stripe for WooCommerce
*/
if ($(_addToCart).find('[class^="wc-stripe-"], [class*=" wc-stripe-"]').length) {
$(_addToCart).find('[class^="wc-stripe-"], [class*=" wc-stripe-"]').remove();
}
/**
* Remove id
*/
$(_addToCart).find('*').removeAttr('id');
/**
* Remove Style
*/
if ($(_addToCart).find('.single_add_to_cart_button').length) {
$(_addToCart).find('.single_add_to_cart_button').removeAttr('style');
}
var _btn = $(_addToCart).html();
_ressult = '<div class="nasa-single-btn-clone">' + _btn + '</div>';
}
}
return _ressult;
}
/**
* Lightbox image single product page
*
* @param {type} $
* @returns {undefined}
*/
function load_gallery_popup($) {
// if ($('.main-images').length) {
// if (!$('body').hasClass('nasa-disable-lightbox-image') && !$('body').hasClass('nasa-woo-lightbox-image')) {
// $('body').trigger('ns_magnific_popup_init', ['.main-images', {
// delegate: '.item-wrap:not(.slick-cloned) a.product-image',
// type: 'image',
// fixContentPos: true,
// tLoading: '<div class="nasa-loader"></div>',
// removalDelay: 300,
// closeOnContentClick: true,
// closeMarkup: '<a class="nasa-mfp-close nasa-stclose" href="javascript:void(0);" title="' + $('input[name="nasa-close-string"]').val() + '"></a>',
// gallery: {
// enabled: true,
// navigateByImgClick: false,
// preload: [0,1],
// tCounter: '<div class="mfp-counter">%curr% / %total%</div>'
// },
// image: {
// verticalFit: false,
// tError: '<a href="%url%">The image #%curr%</a> could not be loaded.'
// },
// callbacks: {
// beforeOpen: function() {
// var productVideo = $('.product-video-popup').attr('href');
// var productVideoPost = $('video.wp-video-shortcode').attr('src');
// this.st.mainClass += ' nasa-left-to-right';
// setTimeout(function (){
// $('.mfp-wrap').addClass('ns-active');
// },100);
// if (productVideoPost && !$('body').hasClass('nasa-mobile-app')) {
// // Add product video post to gallery
// this.st.mainClass += ' has-product-video';
// var galeryPopup = $.magnificPopup.instance;
// galeryPopup.items.push({
// src: productVideoPost,
// type: 'iframe'
// });
// galeryPopup.updateItemHTML();
// }
// if (productVideo && !$('body').hasClass('nasa-mobile-app')) {
// // Add product video to gallery popup
// this.st.mainClass += ' has-product-video';
// var galeryPopup = $.magnificPopup.instance;
// galeryPopup.items.push({
// src: productVideo,
// type: 'iframe'
// });
// galeryPopup.updateItemHTML();
// }
// // this.st.mainClass = this.st.mainClass + ' ' + mainClass;
// },
// open: function() {
// $('html').removeAttr('style');
// if (!$('body').hasClass('ovhd')) {
// $('body').addClass('ovhd');
// }
// },
// beforeClose: function() {
// this.st.removalDelay = 500;
// },
// afterClose: function() {
// $('body').removeClass('ovhd');
// $('body').removeClass('m-ovhd');
// }
// }
// }]);
// }
// }
// /**
// * Disable lightbox image
// */
// else {
// $('body').on('click', '.main-images a.woocommerce-additional-image, .main-images a.product-image', function() {
// return false;
// });
// }
}
/**
* Lightbox image single product page
*
* @param {type} $
* @returns {undefined}
*/
function load_reivew_images_popup($) {
// if ($('.nasa-wrap-review-thumb').length) {
// if (! $('body').hasClass('nasa-disable-lightbox-image') && !$('body').hasClass('nasa-woo-lightbox-image')) {
// $('.nasa-wrap-review-thumb').each(function() {
// var _wrap = $(this);
// $('body').trigger('ns_magnific_popup_init', [_wrap, {
// delegate: 'a',
// type: 'image',
// tLoading: '<div class="nasa-loader"></div>',
// removalDelay: 300,
// closeOnContentClick: true,
// closeMarkup: '<a class="nasa-mfp-close nasa-stclose" href="javascript:void(0);" title="' + $('input[name="nasa-close-string"]').val() + '"></a>',
// gallery: {
// enabled: true,
// navigateByImgClick: false,
// preload: [0,1],
// tCounter: '<div class="mfp-counter">%curr% / %total%</div>'
// },
// image: {
// verticalFit: false,
// tError: '<a href="%url%">The image #%curr%</a> could not be loaded.'
// },
// callbacks: {
// beforeOpen: function() {
// this.st.mainClass = this.st.mainClass + ' ' + 'nasa-left-to-right';
// setTimeout(function (){
// $('.mfp-wrap').addClass('ns-active');
// }, 100);
// },
// open: function() {
// },
// beforeClose: function() {
// this.st.removalDelay = 500;
// }
// }
// }]);
// });
// }
// /**
// * Disable lightbox image
// */
// else {
// $('body').on('click', '.nasa-wrap-review-thumb a', function() {
// return false;
// });
// }
// }
}
/**
* Gallery for variation of Single Product
*
* @param {type} $
* @param {type} _form
* @param {type} variation
* @returns {undefined}
*/
function change_gallery_variable_single_product($, _form, variation) {
var _crazy = false;
if ($('body').hasClass('nasa-crazy-load')) {
_crazy = true;
if (_prev_image_id && variation && variation.image_id) {
_crazy = _prev_image_id === variation.image_id ? false : true;
}
}
var _video = $('body').find('.nasa-item-main-video-wrap').parents('.item-wrap:not(.slick-cloned)');
var _video_thumb = $('body').find('.nasa-wrap-item-thumb.ns-video-poster');
if (variation && variation.image && variation.image.src && variation.image.src.length > 1) {
var _countSelect = $(_form).find('.variations .value select').length;
var _selected = 0;
if (_countSelect) {
$(_form).find('.variations .value select').each(function() {
if ($(this).val() !== '') {
_selected++;
}
});
}
if (_countSelect && _selected === _countSelect) {
_inited_gallery = false;
_inited_gallery_key = 1;
var _data = {
'variation_id': variation.variation_id,
'main_id': (variation.image_id ? variation.image_id : 0),
'gallery': variation.nasa_gallery_variation
};
if (typeof _single_variations[variation.variation_id] === 'undefined') {
if (
typeof nasa_ajax_params !== 'undefined' &&
typeof nasa_ajax_params.wc_ajax_url !== 'undefined'
) {
var _urlAjax = nasa_ajax_params.wc_ajax_url.toString().replace('%%endpoint%%', 'nasa_get_gallery_variation');
$.ajax({
url: _urlAjax,
type: 'post',
dataType: 'json',
cache: false,
data: {
data: _data
},
beforeSend: function () {
if (!$(_form).hasClass('nasa-processing')) {
$(_form).addClass('nasa-processing');
}
if (_crazy && !$('.nasa-product-details-page').hasClass('crazy-loading')) {
$('.nasa-product-details-page').addClass('crazy-loading');
}
$('.product-gallery').css({'min-height': $('.product-gallery').outerHeight()});
},
success: function (result) {
$(_form).removeClass('nasa-processing');
if (_crazy) {
$('.nasa-product-details-page').removeClass('crazy-loading');
}
_single_variations[variation.variation_id] = result;
/**
* Main image
*/
if (typeof result.main_image !== 'undefined') {
$('.nasa-main-image-default').replaceWith(result.main_image);
if(_video) {
$('.nasa-main-image-default').append(_video);
}
}
/**
* Thumb image
*/
if ($('.nasa-thumbnail-default').length && typeof result.thumb_image !== 'undefined') {
$('.nasa-thumbnail-default').replaceWith(result.thumb_image);
if ($('.nasa-thumb-clone img').length && $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').length) {
$('.nasa-thumb-clone img').attr('src', $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').attr('src'));
}
if(_video_thumb) {
$('.nasa-thumbnail-default').append(_video_thumb);
}
} else if ($('.nasa-thumb-clone img').length && typeof result.main_image !== 'undefined') {
$('.nasa-thumb-clone img').attr('src', $('.main-images .item-wrap.first img').attr('src'));
}
/**
* Trigger after changed Gallery for Single product
*/
$('body').trigger('nasa_changed_gallery_variable_single');
},
error: function() {
$(_form).removeClass('nasa-processing');
$('.nasa-product-details-page').removeClass('crazy-loading');
}
});
}
} else {
var result = _single_variations[variation.variation_id];
/**
* Main image
*/
if (typeof result.main_image !== 'undefined') {
// if (_crazy && !$('.nasa-product-details-page').hasClass('crazy-loading')) {
// $('.nasa-product-details-page').addClass('crazy-loading');
// }
$('.product-gallery').css({'min-height': $('.product-gallery').outerHeight()});
$('.nasa-main-image-default').replaceWith(result.main_image);
if(_video) {
$('.nasa-main-image-default').append(_video);
}
if (typeof _timeout_changed !== 'undefined') {
clearTimeout(_timeout_changed);
}
_timeout_changed = setTimeout(function() {
$('.nasa-product-details-page .product-gallery').find('.nasa-loader, .nasa-loading').remove();
$('.nasa-product-details-page').removeClass('crazy-loading');
$('.product-gallery').css({'min-height': 'auto'});
}, 200);
}
/**
* Thumb image
*/
if ($('.nasa-thumbnail-default').length && typeof result.thumb_image !== 'undefined') {
$('.nasa-thumbnail-default').replaceWith(result.thumb_image);
if ($('.nasa-thumb-clone img').length && $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').length) {
$('.nasa-thumb-clone img').attr('src', $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').attr('src'));
}
if(_video_thumb) {
$('.nasa-thumbnail-default').append(_video_thumb);
}
} else if ($('.nasa-thumb-clone img').length && typeof result.main_image !== 'undefined') {
$('.nasa-thumb-clone img').attr('src', $('.main-images .item-wrap.first img').attr('src'));
}
/**
* Trigger after changed Gallery for Single product
*/
$('body').trigger('nasa_changed_gallery_variable_single');
}
}
}
/**
* Default
*/
else {
if (!_inited_gallery) {
_inited_gallery = true;
var result = _single_variations[0];
if ($('.nasa-detail-product-deal-countdown').length) {
$('.nasa-detail-product-deal-countdown').removeClass('nasa-show').html('');
}
if ($('.nasa-detail-product-deal-countdown-label').length && !$('.nasa-detail-product-deal-countdown-label').hasClass('hidden-tag')) {
$('.nasa-detail-product-deal-countdown-label').addClass('hidden-tag');
}
/**
* Main image
*/
if (typeof result.main_image !== 'undefined') {
$('.nasa-main-image-default').replaceWith(result.main_image);
}
/**
* Thumb image
*/
if (typeof result.thumb_image !== 'undefined') {
$('.nasa-thumbnail-default').replaceWith(result.thumb_image);
if ($('.nasa-thumb-clone img').length && $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').length) {
$('.nasa-thumb-clone img').attr('src', $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').attr('src'));
}
}
/**
* Trigger after changed Gallery for Single product
*/
$('body').trigger('nasa_changed_gallery_variable_single');
}
}
_prev_image_id = variation && variation.image_id ? variation.image_id : null;
/**
* Deal time
*/
if ($('.nasa-detail-product-deal-countdown').length) {
$('.nasa-detail-product-deal-countdown').html('');
$('.nasa-detail-product-deal-countdown').removeClass('nasa-show');
if ($('.nasa-detail-product-deal-countdown-label').length && !$('.nasa-detail-product-deal-countdown-label').hasClass('hidden-tag')) {
$('.nasa-detail-product-deal-countdown-label').addClass('hidden-tag');
}
if (variation && variation.variation_id && variation.is_in_stock && variation.is_purchasable) {
var now = Date.now();
if (typeof variation.deal_time !== 'undefined' && variation.deal_time && variation.deal_time.html && variation.deal_time.to > now && (typeof variation.deal_time.from === 'undefined' || variation.deal_time.from < now)) {
$('.nasa-detail-product-deal-countdown').html(variation.deal_time.html);
$('body').trigger('nasa_load_countdown');
if (!$('.nasa-detail-product-deal-countdown').hasClass('nasa-show')) {
$('.nasa-detail-product-deal-countdown').addClass('nasa-show');
}
$('.nasa-detail-product-deal-countdown-label').removeClass('hidden-tag');
}
}
}
}
/**
* Change image variable Single product
*
* @param {type} $
* @param {type} _form
* @param {type} variation
* @returns {undefined}
*/
function change_image_variable_single_product($, _form, variation) {
/**
* Trigger Easy Zoom
*/
$('body').trigger('nasa_before_changed_src_main_img');
/**
* Change gallery for single product variation
*/
if (variation && variation.image && variation.image.src && variation.image.src.length > 1) {
var _countSelect = $(_form).find('.variations .value select').length;
var _selected = 0;
if (_countSelect) {
$(_form).find('.variations .value select').each(function() {
if ($(this).val() !== '') {
_selected++;
}
});
}
if (_countSelect && _selected === _countSelect) {
var src_thumb = false;
/**
* Support Bundle product
*/
if ($('.nasa-product-details-page .woosb-product').length) {
if (variation.image.thumb_src !== 'undefined' || variation.image.gallery_thumbnail_src !== 'undefined') {
src_thumb = variation.image.gallery_thumbnail_src ? variation.image.gallery_thumbnail_src : variation.image.thumb_src;
}
if (src_thumb) {
$(_form).parents('.woosb-product').find('.woosb-thumb-new').html('<img src="' + src_thumb + '" />');
$(_form).parents('.woosb-product').find('.woosb-thumb-ori').hide();
$(_form).parents('.woosb-product').find('.woosb-thumb-new').show();
}
}
else {
var _src_large = typeof variation.image_single_page !== 'undefined' ?
variation.image_single_page : variation.image.url;
$('.main-images .nasa-item-main-image-wrap[data-key="0"] img').attr('src', _src_large);
$('.main-images .nasa-item-main-image-wrap[data-key="0"] a').attr('href', variation.image.url);
/**
* Trigger Easy Zoom
*/
$('body').trigger('nasa_after_changed_src_main_img', [_src_large, variation.image.url]);
$('.main-images .nasa-item-main-image-wrap[data-key="0"] img').removeAttr('srcset');
/**
* For thumnail
*/
if ($('.product-thumbnails').length) {
if (variation.image.thumb_src !== 'undefined') {
src_thumb = variation.image.thumb_src;
} else {
var thumb_wrap = $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"]');
if (typeof $(thumb_wrap).attr('data-thumb_org') === 'undefined') {
$(thumb_wrap).attr('data-thumb_org', $(thumb_wrap).find('img').attr('src'));
}
src_thumb = $(thumb_wrap).attr('data-thumb_org');
}
if (src_thumb) {
$('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').attr('src', src_thumb).removeAttr('srcset');
if ($('body').hasClass('nasa-focus-main-image')) {
if ($('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"]').length) {
$('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"]').trigger('click');
}
}
if ($('.nasa-thumb-clone img').length) {
$('.nasa-thumb-clone img').attr('src', src_thumb);
}
}
}
else if ($('.nasa-thumb-clone img').length && _src_large) {
$('.nasa-thumb-clone img').attr('src', _src_large);
}
if ($('body').hasClass('nasa-focus-main-image') && $('.product-thumbnails').length <= 0) {
var _main_slide = $('.main-images');
$('body').trigger('slick_go_to_0', [_main_slide]);
}
}
}
} else {
/**
* Support Bundle product
*/
if ($('.nasa-product-details-page .woosb-product').length) {
$(_form).parents('.woosb-product').find('.woosb-thumb-ori').show();
$(_form).parents('.woosb-product').find('.woosb-thumb-new').hide();
} else {
var image_link = typeof $('.nasa-product-details-page .woocommerce-main-image').attr('data-full_href') !== 'undefined' ?
$('.nasa-product-details-page .woocommerce-main-image').attr('data-full_href') :
$('.nasa-product-details-page .woocommerce-main-image').attr('data-o_href');
var image_large = $('.nasa-product-details-page .woocommerce-main-image').attr('data-o_href');
$('.main-images .nasa-item-main-image-wrap[data-key="0"] img').attr('src', image_large).removeAttr('srcset');
$('.main-images .nasa-item-main-image-wrap[data-key="0"] a').attr('href', image_link);
/**
* Trigger Easy Zoom
*/
$('body').trigger('nasa_after_changed_src_main_img', [image_large, image_link]);
if ($('.product-thumbnails').length) {
var thumb_wrap = $('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"]');
if (typeof $(thumb_wrap).attr('data-thumb_org') === 'undefined') {
$(thumb_wrap).attr('data-thumb_org', $(thumb_wrap).find('img').attr('src'));
}
var src_thumb = $(thumb_wrap).attr('data-thumb_org');
if (src_thumb) {
$('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').attr('src', src_thumb);
if ($('body').hasClass('nasa-focus-main-image')) {
if ($('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"]').length) {
$('.product-thumbnails .nasa-wrap-item-thumb[data-key="0"]').trigger('click');
}
}
if ($('.nasa-thumb-clone img').length) {
$('.nasa-thumb-clone img').attr('src', src_thumb);
}
}
} else if ($('.nasa-thumb-clone img').length && image_large) {
$('.nasa-thumb-clone img').attr('src', image_large);
}
if ($('body').hasClass('nasa-focus-main-image') && $('.product-thumbnails').length <= 0) {
var _main_slide = $('.main-images');
$('body').trigger('slick_go_to_0', [_main_slide]);
}
}
}
/**
* Deal time
*/
if ($('.nasa-detail-product-deal-countdown').length) {
$('.nasa-detail-product-deal-countdown').html('');
$('.nasa-detail-product-deal-countdown').removeClass('nasa-show');
if ($('.nasa-detail-product-deal-countdown-label').length && !$('.nasa-detail-product-deal-countdown-label').hasClass('hidden-tag')) {
$('.nasa-detail-product-deal-countdown-label').addClass('hidden-tag');
}
if (variation && variation.variation_id && variation.is_in_stock && variation.is_purchasable) {
var now = Date.now();
if (typeof variation.deal_time !== 'undefined' && variation.deal_time && variation.deal_time.html && variation.deal_time.to > now && (typeof variation.deal_time.from === 'undefined' || variation.deal_time.from < now)) {
$('.nasa-detail-product-deal-countdown').html(variation.deal_time.html);
$('body').trigger('nasa_load_countdown');
if (!$('.nasa-detail-product-deal-countdown').hasClass('nasa-show')) {
$('.nasa-detail-product-deal-countdown').addClass('nasa-show');
}
$('.nasa-detail-product-deal-countdown-label').removeClass('hidden-tag');
}
}
}
}
/**
* Found variation
*
* @param {type} $
* @returns {undefined}
*/
function nasa_single_product_found_variation($) {
$('.nasa-product-details-page .variations_form').on('found_variation', function(e, variation) {
var _form = $(this);
if ($('.nasa-product-details-page .nasa-gallery-variation-supported').length) {
change_gallery_variable_single_product($, _form, variation);
} else {
setTimeout(function() {
load_gallery_popup($);
change_image_variable_single_product($, _form, variation);
}, 10);
}
/**
* Badge Out-of-stock
*/
if ($('.focus-info .out-of-stock-label').length) {
if ($('.woocommerce-variation-availability .out-of-stock').length <= 0) {
$('.focus-info .out-of-stock-label').hide();
} else {
$('.focus-info .out-of-stock-label').show();
}
}
});
}
/**
* Found variation
*
* @param {type} $
* @returns {undefined}
*/
function nasa_single_product_reset_variation_df($) {
$('.nasa-product-details-page form.variations_form').on('reset_data', function() {
var _form = $(this);
if ($('.nasa-product-details-page .nasa-gallery-variation-supported').length) {
change_gallery_variable_single_product($, _form, null);
} else {
setTimeout(function() {
load_gallery_popup($);
change_image_variable_single_product($, _form, null);
}, 10);
}
/**
* Badge Out-of-stock
*/
if ($('.focus-info .out-of-stock-label').length) {
$('.focus-info .out-of-stock-label').show();
}
});
}
/**
* Scroll Single Product sticky info and thumbnails
*
* @param {type} $
* @returns {Array|load_scroll_single_product._main_images}
*/
function load_scroll_single_product($) {
var _main_images = [];
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 && $('.nasa-single-product-scroll').length) {
$('.nasa-item-main-image-wrap').each(function() {
var p = {
key: $(this).attr('data-key'),
pos: $(this).offset().top
};
_main_images.push(p);
});
}
return _main_images;
}
/**
* Sticky Add to cart
*
* @param {type} $
* @returns {undefined}
*/
function load_sticky_add_to_cart($) {
if (
$('input[name="nasa_fixed_single_add_to_cart"]').length &&
$('.nasa-product-details-page').length
) {
var _nasa_in_mobile = $('body').hasClass('nasa-in-mobile') ? true : false;
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 _can_render = true;
if (_nasa_in_mobile && (_mobile_fixed_addToCart === 'no' || _mobile_fixed_addToCart === 'btn')) {
_can_render = false;
$('body').addClass('nasa-cart-fixed-desktop');
}
if (_mobile_fixed_addToCart === 'btn') {
$('body').addClass('nasa-cart-fixed-mobile-btn');
if ($('.nasa-buy-now').length) {
$('body').addClass('nasa-has-buy-now');
}
}
if (_nasa_in_mobile && _mobile_fixed_addToCart === 'no') {
$('body').removeClass('has-nasa-cart-fixed');
}
/**
* Render in desktop
*/
if (_can_render && $('.nasa-add-to-cart-fixed').length <= 0 && !$('.nasa-product-details-page').hasClass('nasa-layout-new-3')) {
$('body').append('<div class="nasa-add-to-cart-fixed"><div class="nasa-wrap-content-inner"><div class="nasa-wrap-content"></div></div></div>');
if (_mobile_fixed_addToCart === 'no') {
$('.nasa-add-to-cart-fixed').addClass('nasa-not-show-mobile');
$('body').addClass('nasa-cart-fixed-desktop');
}
var _addToCartWrap = $('.nasa-add-to-cart-fixed .nasa-wrap-content');
/**
* Main Image clone
*/
$(_addToCartWrap).append('<div class="nasa-fixed-product-info"></div>');
var _src = '';
if ($('.nasa-product-details-page .product-thumbnails').length) {
_src = $('.nasa-product-details-page .product-thumbnails .nasa-wrap-item-thumb[data-key="0"]').attr('data-thumb_org') || $('.nasa-product-details-page .product-thumbnails .nasa-wrap-item-thumb[data-key="0"] img').attr('src');
} else {
_src = $('.nasa-product-details-page .main-images .item-wrap.first a.product-image').attr('data-o_href') || $('.nasa-product-details-page .main-images .item-wrap.first img').attr('src');
}
if (_src !== '') {
$('.nasa-fixed-product-info').append('<div class="nasa-thumb-clone"><img src="' + _src + '" /></div>');
}
/**
* Title clone
*/
if ($('.nasa-product-details-page .product-info .product_title').length) {
var _title = $('.nasa-product-details-page .product-info .product_title').html();
$('.nasa-fixed-product-info').append('<div class="nasa-title-clone"><h3>' + _title +'</h3></div>');
}
/**
* Price clone
*/
if ($('.nasa-product-details-page .product-info .price.nasa-single-product-price').length) {
var _price = $('.nasa-product-details-page .product-info .price.nasa-single-product-price').html();
if ($('.nasa-title-clone').length) {
$('.nasa-title-clone').append('<span class="price">' + _price + '</span>');
}
else {
$('.nasa-fixed-product-info').append('<div class="nasa-title-clone"><span class="price">' + _price + '</span></div>');
}
}
var _options_txt = $('input[name="nasa_select_options_text"]').length ? $('input[name="nasa_select_options_text"]').val() : 'Select options';
if ($('.nasa-fixed-product-info').find('.nasa-toggle-variation_wrap-clone').length <= 0) {
$('.nasa-fixed-product-info').append('<div class="nasa-toggle-variation_wrap"><a class="nasa-toggle-variation_wrap-clone" href="javascript:void(0);">' + _options_txt + '<svg width="25" height="25" viewBox="0 0 32 32" fill="currentColor"><path d="M16.767 12.809l-0.754-0.754-6.035 6.035 0.754 0.754 5.281-5.281 5.256 5.256 0.754-0.754-3.013-3.013z"></path></svg></a></div>');
}
/**
* Variations clone
*/
if ($('.nasa-product-details-page .variations_form').length) {
$(_addToCartWrap).append('<div class="nasa-fixed-product-variations-wrap"><div class="nasa-fixed-product-variations"></div></div>');
/**
* Variations
*
* @type type
*/
var _k = 1,
_item = 1;
$('.nasa-product-details-page .variations_form .variations .value').each(function() {
var _this = $(this);
var _classWrap = 'nasa-attr-wrap-' + _k.toString();
var _type = $(_this).find('select').attr('data-attribute_name') || $(_this).find('select').attr('name');
if ($(_this).find('.nasa-attr-ux_wrap').length) {
$('.nasa-fixed-product-variations').append('<div class="nasa-attr-ux_wrap-clone ' + _classWrap + '"></div>');
$(_this).find('.nasa-attr-ux').each(function() {
var _obj = $(this);
var _classItem = 'nasa-attr-ux-' + _item.toString();
var _classItemClone = 'nasa-attr-ux-clone-' + _item.toString();
var _classItemClone_target = _classItemClone;
if ($(_obj).hasClass('nasa-attr-ux-image')) {
_classItemClone += ' nasa-attr-ux-image-clone';
}
if ($(_obj).hasClass('nasa-attr-ux-color')) {
_classItemClone += ' nasa-attr-ux-color-clone';
}
if ($(_obj).hasClass('nasa-attr-ux-label')) {
_classItemClone += ' nasa-attr-ux-label-clone';
}
var _selected = $(_obj).hasClass('selected') ? ' selected' : '';
var _contentItem = $(_obj).html();
$(_obj).addClass(_classItem);
$(_obj).attr('data-target', '.' + _classItemClone_target);
$('.nasa-attr-ux_wrap-clone.' + _classWrap).append('<a href="javascript:void(0);" class="nasa-attr-ux-clone' + _selected + ' ' + _classItemClone + ' nasa-' + _type + '" data-target=".' + _classItem + '">' + _contentItem + '</a>');
_item++;
});
} else {
$('.nasa-fixed-product-variations').append('<div class="nasa-attr-select_wrap-clone ' + _classWrap + '"></div>');
var _obj = $(_this).find('select');
var _label = $(_this).find('.label').length ? $(_this).find('.label').html() : '';
var _classItem = 'nasa-attr-select-' + _item.toString();
var _classItemClone = 'nasa-attr-select-clone-' + _item.toString();
var _contentItem = $(_obj).html();
$(_obj).addClass(_classItem).addClass('nasa-attr-select');
$(_obj).attr('data-target', '.' + _classItemClone);
$('.nasa-attr-select_wrap-clone.' + _classWrap).append(_label + '<select name="' + _type + '" class="nasa-attr-select-clone ' + _classItemClone + ' nasa-' + _type + '" data-target=".' + _classItem + '">' + _contentItem + '</select>');
_item++;
}
_k++;
});
}
/**
* Class wrap simple product
*/
else {
$(_addToCartWrap).addClass('nasa-fixed-single-simple');
}
/**
* Add to cart button
*/
setTimeout(function() {
var _button_wrap = nasa_clone_add_to_cart($);
$(_addToCartWrap).append('<div class="nasa-fixed-product-btn"></div>');
$('.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');
}
}
});
}
}, 550);
}
}
}