'use strict';
var woosq_ids=[], woosq_products=[];
(function ($){
$(function (){
$('.woosq-btn, .woosq-link').each(function (){
var id=$(this).attr('data-id');
var pid=$(this).attr('data-pid');
var product_id=$(this).attr('data-product_id');
if(typeof pid!==typeof undefined&&pid!==false){
id=pid;
}
if(typeof product_id!==typeof undefined&&product_id!==false){
id=product_id;
}
if(-1===$.inArray(id, woosq_ids)){
woosq_ids.push(id);
woosq_products.push({
src: woosq_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosq_quickview') + '&product_id=' + id,
});
}});
if(woosq_vars.quick_view > 0){
setTimeout(function (){
woosq_open(woosq_vars.quick_view);
}, 1000);
}});
$(document).on('click touch', '[href*="#woosq-"]', function (e){
var $this=$(this);
var href=$this.attr('href');
var reg=/#woosq-([0-9]+)/g;
var match=reg.exec(href);
if(match[1]!==undefined){
var id=match[1];
var effect=$this.attr('data-effect');
var context=$this.attr('data-context');
woosq_open(id, effect, context);
e.preventDefault();
}});
$(document).on('click touch', '.woosq-btn, .woosq-link', function (e){
e.preventDefault();
var $this=$(this);
var id=$this.attr('data-id');
var pid=$this.attr('data-pid');
var product_id=$this.attr('data-product_id');
var effect=$this.attr('data-effect');
var context=$this.attr('data-context');
if(typeof pid!==typeof undefined&&pid!==false){
id=pid;
}
if(typeof product_id!==typeof undefined&&product_id!==false){
id=product_id;
}
woosq_open(id, effect, context);
});
$(document).on('added_to_cart', function (){
if(woosq_vars.auto_close==='yes'){
if(woosq_vars.view==='popup'){
$.magnificPopup.close();
}
woosq_close();
}});
$(document).on('woosq_loaded', function (){
var form_variation=$('#woosq-popup').find('.variations_form');
form_variation.each(function (){
$(this).wc_variation_form();
});
woosq_init_content('loaded');
if(!$('#woosq-popup .woosq-redirect').length){
if((woosq_vars.cart_redirect==='yes') &&
(woosq_vars.cart_url!=='')){
$('#woosq-popup form').prepend('<input class="woosq-redirect" name="woosq-redirect" type="hidden" value="' +
woosq_vars.cart_url + '"/>');
}else{
$('#woosq-popup form').prepend('<input class="woosq-redirect" name="woosq-redirect" type="hidden" value="' +
window.location.href + '"/>');
}}
});
$(window).on('resize', function (){
woosq_init_content('resize');
});
$(document).on('found_variation', function (e, t){
if(!$(e['target']).closest('.woosb-product').length &&
!$(e['target']).closest('.woosg-product').length &&
!$(e['target']).closest('.woobt-product').length &&
!$(e['target']).closest('.woofs-product').length &&
$(e['target']).closest('#woosq-popup').length){
if(t['image_id']!==undefined){
if($('#woosq-popup .thumbnails .thumbnail').length > 1){
var $thumb=$(
'.thumbnail:not(.slick-cloned)[data-id="' + t['image_id'] + '"]');
if($thumb.length){
var pos=$('#woosq-popup .thumbnails .thumbnail').index($thumb);
var $images=$('#woosq-popup .thumbnails .images');
if((pos > 0)&&$images.hasClass('slick-initialized')){
setTimeout(function (){
$images.slick('slickGoTo', pos - 1);
}, 100);
}}
}}
}});
$(document).on('reset_data', function (e){
if($(e['target']).closest('#woosq-popup').length){
if(($('#woosq-popup .thumbnails .thumbnail').length > 1) &&
$('#woosq-popup .thumbnails .images').hasClass('slick-initialized')){
$('#woosq-popup .thumbnails .images').slick('slickGoTo', 0);
}}
});
if(woosq_vars.hashchange==='yes'){
$(window).on('hashchange', function (){
if(location.href.indexOf('#woosq') < 0){
if(woosq_vars.view==='popup'){
$.magnificPopup.close();
}
woosq_close();
}});
}
$(document).on('click touch', '.woosq-overlay, .woosq-close', function (){
woosq_close();
});
})(jQuery);
function woosq_open(id, effect, context){
jQuery('body').addClass('woosq-open');
if(woosq_vars.view==='sidebar'){
woosq_loading();
var data={
action: 'woosq_quickview',
product_id: id,
context: context,
nonce: woosq_vars.nonce,
};
jQuery.post(woosq_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosq_quickview'), data, function (response){
jQuery('.woosq-sidebar').html(response);
woosq_loaded();
jQuery(document.body).trigger('woosq_loaded', [id]);
});
}else{
if(-1===jQuery.inArray(id, woosq_ids)){
woosq_ids.push(id);
woosq_products.push({
src: woosq_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosq_quickview') + '&product_id=' + id,
});
}
var index=woosq_get_key(woosq_products, 'src',
woosq_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosq_quickview') + '&product_id=' + id);
var main_class='mfp-woosq';
if(typeof context!==typeof undefined&&context!==false){
main_class=main_class + ' mfp-woosq-' + context;
}
if(typeof effect!==typeof undefined&&effect!==false){
main_class=main_class + ' ' + effect;
}else{
main_class=main_class + ' ' + woosq_vars.effect;
}
jQuery.magnificPopup.open({
items: woosq_products,
type: 'ajax',
mainClass: main_class,
removalDelay: 160,
overflowY: 'scroll',
fixedContentPos: true,
tClose: woosq_vars.close,
gallery: {
tPrev: woosq_vars.prev,
tNext: woosq_vars.next,
enabled: woosq_vars.next_prev==='yes',
},
ajax: {
settings: {
type: 'GET', data: {
nonce: woosq_vars.nonce,
},
},
},
callbacks: {
open: function (){
if(woosq_vars.hashchange==='yes'){
location.href=location.href.split('#')[0] + '#woosq';
}}, ajaxContentAdded: function (){
jQuery(document.body).trigger('woosq_loaded', [id]);
}, close: function (){
if(woosq_vars.hashchange==='yes'){
if(location.hash) history.go(-1);
}}, afterClose: function (){
jQuery(document.body).trigger('woosq_close', [id]);
},
},
}, index);
}
jQuery(document.body).trigger('woosq_open', [id]);
}
function woosq_close(){
jQuery('body').removeClass('woosq-open');
jQuery(document.body).trigger('woosq_close');
}
function woosq_loading(){
jQuery('.woosq-sidebar').addClass('woosq-loading');
}
function woosq_loaded(){
jQuery('.woosq-sidebar').removeClass('woosq-loading');
}
function woosq_init_content(context){
if(context==='loaded'){
woosq_thumbnails_zoom();
woosq_thumbnails_slick();
woosq_related_slick();
}
if(woosq_vars.view==='sidebar'){
if(woosq_vars.scrollbar==='yes'){
jQuery('.woosq-product').perfectScrollbar('destroy').perfectScrollbar({theme: 'wpc'});
}}else{
if(woosq_vars.scrollbar==='yes'){
if(jQuery(window).width() < 1024){
jQuery('.woosq-product .summary-content').perfectScrollbar('destroy');
jQuery('.woosq-product').perfectScrollbar('destroy').perfectScrollbar({theme: 'wpc'});
}else{
jQuery('.woosq-product').perfectScrollbar('destroy');
jQuery('.woosq-product .summary-content').perfectScrollbar('destroy').perfectScrollbar({theme: 'wpc'});
}}
}}
function woosq_get_key(array, key, value){
for (var i=0; i < array.length; i++){
if(array[i][key]===value){
return i;
}}
return -1;
}
function woosq_thumbnails_zoom(){
if(woosq_vars.thumbnails_effect==='zoom'){
jQuery('#woosq-popup .thumbnails .images .thumbnail').each(function (){
var $this=jQuery(this);
var zoom_params=JSON.parse(woosq_vars.thumbnails_zoom_params);
zoom_params.url=$this.find('img').attr('data-src');
$this.trigger('zoom.destroy');
$this.zoom(zoom_params);
});
}}
function woosq_thumbnails_slick(){
if(jQuery('#woosq-popup .thumbnails .images .thumbnail').length > 1){
if(jQuery('#woosq-popup .thumbnails .images').hasClass('slick-initialized')){
jQuery('#woosq-popup .thumbnails .images').slick('unslick');
}
jQuery('#woosq-popup .thumbnails .images').slick(JSON.parse(woosq_vars.thumbnails_slick_params));
}}
function woosq_related_slick(){
if(jQuery('.woosq-related-products').hasClass('slick-initialized')){
jQuery('.woosq-related-products').slick('unslick');
}
if(jQuery('.woosq-related-product').length > 1){
jQuery('.woosq-related-products').slick(JSON.parse(woosq_vars.related_slick_params));
}};