jQuery(document).ready(function($){
var NectarQuickViewState={
ajaxLoaded: false,
sizeSet: false
};
$('body').on('click','ul.products li.product a.nectar_quick_view',function(e){
e.preventDefault();
var $quickViewBox=$('.nectar-quick-view-box');
var $product_id=$(this).data('product-id');
if(typeof $product_id==='undefined'){ return; }
quickView($(this).parents('li.product'), 'open');
$quickViewBox.find('.inner-content').empty();
$.ajax({
type: 'POST',
url: nectarLove.ajaxurl,
data: {
'action': 'nectar_woo_get_product',
'product_id':  $product_id
},
success: function(response){
NectarQuickViewState.ajaxLoaded=true;
$quickViewBox.find('.inner-content').html(response);
$vari_startingImage=($quickViewBox.find('.nectar-product-slider div.carousel-cell:first img').length > 0) ? $quickViewBox.find('.nectar-product-slider div.carousel-cell:first img').attr('src'):'';
if($('body[data-fancy-form-rcs="1"]').length > 0){
select2Init();
$select2_css='.select2-container { z-index: 99999; }';
var head=document.head||document.getElementsByTagName('head')[0];
var style=document.createElement('style');
style.type='text/css';
if(style.styleSheet){
style.styleSheet.cssText=$select2_css;
}else{
style.appendChild(document.createTextNode($select2_css));
}
$(style).attr('id','quickview-select-2-zindex');
head.appendChild(style);
}
if($('.nectar-quick-view-box[data-image-sizing="cropped"]').length > 0){
flickitySlideCover();
}
if(typeof wc_add_to_cart_variation_params!=='undefined'){
$('.variations_form').each(function(){
$(this).wc_variation_form();
});
}
quantityButtons();
var newWidthTimeout=(NectarQuickViewState.sizeSet==true) ? 0:200;
setTimeout(function(){
$('.nectar-quick-view-box').addClass('fully-open');
$('.nectar-quick-view-box-backdrop').addClass('visible');
$('.nectar-quick-view-box').addClass('animate-width').transition({
'left': productQV_Left+'px',
'width': productQV_Width+'px',
}, 550, 'cubic-bezier(.55,0,.1,1)' ,function(){
$pageDots=true;
if($('.nectar-quick-view-box .nectar-product-slider .carousel-cell').length==1){
$pageDots=false;
}
$carousel=$('.nectar-quick-view-box .nectar-product-slider').flickity({
contain: true,
lazyLoad: false,
imagesLoaded: true,
percentPosition: true,
prevNextButtons: false,
pageDots: $pageDots,
resize: true,
setGallerySize: true,
wrapAround: true,
accessibility: false
});
$('.nectar-quick-view-box .preview_image').hide();
$('.nectar-quick-view-box').addClass('add-content');
$('.nectar-quick-view-box').addClass('fixedPos');
});
$(window).trigger('nectar_quickview_init');
}, newWidthTimeout);
}});
});
$('body').on('click','.nectar-quick-view-box-backdrop, .nectar-quick-view-box .close',function(e){
e.preventDefault();
if($('.nectar-quick-view-box.fully-open').length > 0){
quickView($('.product.open-nectar-quick-view'),'close');
}});
var $startingImage, $carousel, productQV_Width, productQV_Left, newHeight;
function quickView(el,state){
NectarQuickViewState.ajaxLoaded=false;
NectarQuickViewState.sizeSet=false;
var viewportWidth=window.innerWidth;
var viewportHeight=window.innerHeight;
if(el.find('.background-color-expand').length==0 ||
state=='close' ||
(el.find('.background-color-expand').length > 0&&el.find('.background-color-expand').css('display')=='none')){
var topSelected=el.offset().top - $(window).scrollTop(),
leftSelected=el.offset().left,
widthSelected=el.find('img').width(),
heightSelected=el.find('img').height();
}else{
var expansionAmt=40;
if(nectarOptions&&nectarOptions.woo_minimal_product_effect&&nectarOptions.woo_minimal_product_effect==='image_zoom'){
expansionAmt=0;
}
var topSelected=el.offset().top - $(window).scrollTop() - (expansionAmt/2),
leftSelected=el.offset().left - (expansionAmt/2),
widthSelected=el.width() + expansionAmt,
heightSelected=el.height() + expansionAmt;
}
var aspectRatio=parseInt(el.find('.product-wrap img').height()) / parseInt(el.find('.product-wrap img').width());
var endingWidth=425;
if(aspectRatio < 1.1){ endingWidth=550; }
if(aspectRatio > 1.5){ endingWidth=350; }
newHeight=Math.floor(aspectRatio*endingWidth);
var endingTop=(viewportHeight - newHeight)/2;
var endingLeft=(viewportWidth - endingWidth)/2;
productQV_Width=endingWidth + 475;
productQV_Left=(viewportWidth - productQV_Width)/2;
if(state=='open'){
var productImg=el.find('.product-wrap img:first').clone();
$('.nectar-quick-view-box .preview_image').show().html(productImg);
if(el.find('.background-color-expand').length > 0&&el.find('.background-color-expand').css('display')!='none'){
$('.nectar-quick-view-box .preview_image').css({
"top": expansionAmt/2 + 'px',
"left": expansionAmt/2 + 'px',
"width": el.find('.product-wrap img').width(),
"height": el.find('.product-wrap img').height()
});
$('.nectar-quick-view-box .inner-wrap').css('background-color',el.find('.background-color-expand').css('background-color'));
}else{
$('.nectar-quick-view-box').addClass('box-shadow-trans');
}
$('.nectar-quick-view-box').css({
"position": 'fixed',
"transform": '',
'opacity': '1',
"top": topSelected,
"left": leftSelected,
"width": widthSelected,
"height": heightSelected
});
setTimeout(function(){
el.addClass('no-trans').addClass('open-nectar-quick-view');
el.trigger('mouseleave');
$('.nectar-quick-view-box').addClass('visible');
$('.nectar-quick-view-box-backdrop').css({'visibility': 'visible', 'z-index': '10000', 'pointer-events': 'all'});
},75);
setTimeout(function(){
$('.nectar-quick-view-box').addClass('loading-vis');
},575);
setTimeout(function(){
if(el.find('.background-color-expand').length > 0&&el.find('.background-color-expand').css('display')!='none'){
$('.nectar-quick-view-box .preview_image').transition({
"top": '-2px',
"left": '-2px',
"height": "calc(100% + 4px)"
}, 800, 'cubic-bezier(.55,0,.1,1)');
}
$('.nectar-quick-view-box').transition({
'top': endingTop+ 'px',
'left': endingLeft+'px',
'width': (endingWidth - 1) + 'px',
'height': newHeight + 'px'
}, 750, 'cubic-bezier(.55,0,.1,1)');
NectarQuickViewState.sizeSet=true;
},125);
}else{
$('.nectar-quick-view-box').removeClass('fully-open');
el.removeClass('no-trans');
$('.nectar-quick-view-box-backdrop').removeClass('visible');
if($('head #quickview-select-2-zindex').length > 0){
$('head #quickview-select-2-zindex').remove();
}
$('.nectar-quick-view-box').transition({
'scale': '0.85',
'opacity': '0'
}, 300, 'cubic-bezier(.2,.75,.5,1)', function(){
el.removeClass('open-nectar-quick-view');
$startingImage=($('.nectar-product-slider .flickity-slider .carousel-cell:first-child > img').length > 0) ? $('.nectar-product-slider .flickity-slider .carousel-cell:first-child > img').attr('src'):'';
$('.nectar-quick-view-box-backdrop').css({'visibility': 'hidden',  'z-index': '-1', 'pointer-events': 'none'});
$('.nectar-quick-view-box').removeClass('visible').removeClass('add-content').removeClass('loading-vis').removeClass('animate-width').removeClass('fixedPos');
});
}}
function resizePos(){
$('.nectar-quick-view-box.fixedPos').css({
'left': ($(window).width() - $('.nectar-quick-view-box').width())/2,
'top': ($(window).height() - $('.nectar-quick-view-box').height())/2
});
}
$(window).on('resize',resizePos);
function flickitySlideCover(){
$('.nectar-quick-view-box div.images img').css({
'height': (parseInt($('.nectar-quick-view-box').height()) + 4) + 'px'
});
$('.nectar-quick-view-box .carousel-cell').each(function(){
var $storedImgSrc=$(this).find('img').css('visibility','hidden').attr('src');
if(typeof newHeight!='undefined'){
$(this).find('img').css({
'height': newHeight + 4
});
}
$(this).css({
'background-image': 'url(' + $storedImgSrc + ')',
'background-size': 'cover',
'background-position': 'center'
});
});
}
var $vari_startingImage='';
$('body').on('blur','.nectar-quick-view-box select[name*="attribute_"]', function(){
var $that=$(this);
var attr_data=$('.variations_form').data('product_variations');
var $parent_quick_view=$(this).parents('.nectar-quick-view-box');
if($that.val().length > 0){
setTimeout(function(){
$(attr_data).each(function(i, el){
if(el.image&&el.image.src){
if(el.image.src==$parent_quick_view.find('.flickity-slider div.carousel-cell:first a > img').attr('src')){
if(el.image.url){
$parent_quick_view.find('.flickity-slider div.carousel-cell:first').css('background-image','url(' + el.image.src + ')');
$carousel.flickity('select', 0, true, false);
}}
}});
},30);
}else{
$parent_quick_view.find('.flickity-slider div.carousel-cell:first').css('background-image','url(' + $vari_startingImage + ')');
}});
$('body').on('change','.nectar-quick-view-box select[name*="attribute_"]', function(){
if($('.nectar-quick-view-box .product .product > .single_add_to_cart_button_wrap .single_add_to_cart_button').length > 0){
setTimeout(function(){
var addToCartClasses=$('.nectar-quick-view-box .summary-content .single_add_to_cart_button').attr('class');
$('.nectar-quick-view-box .product .product > .single_add_to_cart_button_wrap .single_add_to_cart_button').attr('class',addToCartClasses);
},290);
}});
function select2Init(){
$('.nectar-quick-view-box select').each(function(){
$(this).select2({
minimumResultsForSearch: 7,
width: '100%'
});
});
}
function quantityButtons(){
if($('.nectar-quick-view-box .plus').length==0){
$('.nectar-quick-view-box div.quantity:not(.buttons_added), .nectar-quick-view-box td.quantity:not(.buttons_added)').addClass('buttons_added').append('<input type="button" value="+" class="plus" />').prepend('<input type="button" value="-" class="minus" />');
}
setTimeout(function(){
var addToCartBtnText=$('.nectar-quick-view-box .summary-content .single_add_to_cart_button').text();
var addToCartBtnClasses=($('.nectar-quick-view-box .summary-content .single_add_to_cart_button[class]').length > 0) ? $('.nectar-quick-view-box .summary-content .single_add_to_cart_button').attr('class'):'';
var productViewFullBtn=$('.nectar-quick-view-box .nectar-full-product-link').clone();
$('.nectar-quick-view-box .product .product').append('<div class="single_add_to_cart_button_wrap" />');
$('.nectar-quick-view-box .product .product .single_add_to_cart_button_wrap').append('<a class="single_add_to_cart_button button"><span>'+ addToCartBtnText +'</span></a>').append(productViewFullBtn);
$('.nectar-quick-view-box .product .product .single_add_to_cart_button_wrap > .single_add_to_cart_button').attr('class',addToCartBtnClasses).on('click',function(e){
e.preventDefault(e);
if($('.nectar-quick-view-box .summary-content .single_add_to_cart_button.wc-variation-selection-needed').length==0){
$('.nectar-quick-view-box .summary-content .single_add_to_cart_button').last().trigger('click');
}});
},150);
}});