;(function($,window,document,undefined){var VariationForm=function($form){var self=this;self.$form=$form;self.$attributeFields=$form.find('.variations select');self.$singleVariation=$form.find('.single_variation');self.$singleVariationWrap=$form.find('.single_variation_wrap');self.$resetVariations=$form.find('.reset_variations');self.$product=$form.closest('.product');self.variationData=$form.data('product_variations');self.useAjax=false===self.variationData;self.xhr=false;self.loading=true;self.$singleVariationWrap.show();self.$form.off('.wc-variation-form');self.getChosenAttributes=self.getChosenAttributes.bind(self);self.findMatchingVariations=self.findMatchingVariations.bind(self);self.isMatch=self.isMatch.bind(self);self.toggleResetLink=self.toggleResetLink.bind(self);self.showNoMatchingVariationsMsg=self.showNoMatchingVariationsMsg.bind(self);$form.on('click.wc-variation-form','.reset_variations',{variationForm:self},self.onReset);$form.on('reload_product_variations',{variationForm:self},self.onReload);$form.on('hide_variation',{variationForm:self},self.onHide);$form.on('show_variation',{variationForm:self},self.onShow);$form.on('click','.single_add_to_cart_button',{variationForm:self},self.onAddToCart);$form.on('reset_data',{variationForm:self},self.onResetDisplayedVariation);$form.on('reset_image',{variationForm:self},self.onResetImage);$form.on('change.wc-variation-form','.variations select',{variationForm:self},self.onChange);$form.on('found_variation.wc-variation-form',{variationForm:self},self.onFoundVariation);$form.on('check_variations.wc-variation-form',{variationForm:self},self.onFindVariation);$form.on('update_variation_values.wc-variation-form',{variationForm:self},self.onUpdateAttributes);setTimeout(function(){$form.trigger('check_variations');$form.trigger('wc_variation_form',self);self.loading=false;},100);};VariationForm.prototype.onReset=function(event){event.preventDefault();event.data.variationForm.$attributeFields.val('').trigger('change');event.data.variationForm.$form.trigger('reset_data');};VariationForm.prototype.onReload=function(event){var form=event.data.variationForm;form.variationData=form.$form.data('product_variations');form.useAjax=false===form.variationData;form.$form.trigger('check_variations');};VariationForm.prototype.onHide=function(event){event.preventDefault();event.data.variationForm.$form.find('.single_add_to_cart_button').removeClass('wc-variation-is-unavailable').addClass('disabled wc-variation-selection-needed');event.data.variationForm.$form.find('.woocommerce-variation-add-to-cart').removeClass('woocommerce-variation-add-to-cart-enabled').addClass('woocommerce-variation-add-to-cart-disabled');};VariationForm.prototype.onShow=function(event,variation,purchasable){event.preventDefault();if(purchasable){event.data.variationForm.$form.find('.single_add_to_cart_button').removeClass('disabled wc-variation-selection-needed wc-variation-is-unavailable');event.data.variationForm.$form.find('.woocommerce-variation-add-to-cart').removeClass('woocommerce-variation-add-to-cart-disabled').addClass('woocommerce-variation-add-to-cart-enabled');}else{event.data.variationForm.$form.find('.single_add_to_cart_button').removeClass('wc-variation-selection-needed').addClass('disabled wc-variation-is-unavailable');event.data.variationForm.$form.find('.woocommerce-variation-add-to-cart').removeClass('woocommerce-variation-add-to-cart-enabled').addClass('woocommerce-variation-add-to-cart-disabled');} if(wp.mediaelement){event.data.variationForm.$form.find('.wp-audio-shortcode, .wp-video-shortcode').not('.mejs-container').filter(function(){return!$(this).parent().hasClass('mejs-mediaelement');}).mediaelementplayer(wp.mediaelement.settings);}};VariationForm.prototype.onAddToCart=function(event){if($(this).is('.disabled')){event.preventDefault();if($(this).is('.wc-variation-is-unavailable')){window.alert(wc_add_to_cart_variation_params.i18n_unavailable_text);}else if($(this).is('.wc-variation-selection-needed')){window.alert(wc_add_to_cart_variation_params.i18n_make_a_selection_text);}}};VariationForm.prototype.onResetDisplayedVariation=function(event){var form=event.data.variationForm;form.$product.find('.product_meta').find('.sku').wc_reset_content();form.$product.find('.product_weight, .woocommerce-product-attributes-item--weight .woocommerce-product-attributes-item__value').wc_reset_content();form.$product.find('.product_dimensions, .woocommerce-product-attributes-item--dimensions .woocommerce-product-attributes-item__value').wc_reset_content();form.$form.trigger('reset_image');form.$singleVariation.slideUp(200).trigger('hide_variation');};VariationForm.prototype.onResetImage=function(event){event.data.variationForm.$form.wc_variations_image_update(false);};VariationForm.prototype.onFindVariation=function(event,chosenAttributes){var form=event.data.variationForm,attributes='undefined'!==typeof chosenAttributes?chosenAttributes:form.getChosenAttributes(),currentAttributes=attributes.data;if(attributes.count&&attributes.count===attributes.chosenCount){if(form.useAjax){if(form.xhr){form.xhr.abort();} form.$form.block({message:null,overlayCSS:{background:'#fff',opacity:0.6}});currentAttributes.product_id=parseInt(form.$form.data('product_id'),10);currentAttributes.custom_data=form.$form.data('custom_data');form.xhr=$.ajax({url:wc_add_to_cart_variation_params.wc_ajax_url.toString().replace('%%endpoint%%','get_variation'),type:'POST',data:currentAttributes,success:function(variation){if(variation){form.$form.trigger('found_variation',[variation]);}else{form.$form.trigger('reset_data');attributes.chosenCount=0;if(!form.loading){form.showNoMatchingVariationsMsg();}}},complete:function(){form.$form.unblock();}});}else{form.$form.trigger('update_variation_values');var matching_variations=form.findMatchingVariations(form.variationData,currentAttributes),variation=matching_variations.shift();if(variation){form.$form.trigger('found_variation',[variation]);}else{form.$form.trigger('reset_data');attributes.chosenCount=0;if(!form.loading){form.showNoMatchingVariationsMsg();}}}}else{form.$form.trigger('update_variation_values');form.$form.trigger('reset_data');} form.toggleResetLink(attributes.chosenCount>0);};VariationForm.prototype.onFoundVariation=function(event,variation){var form=event.data.variationForm,$sku=form.$product.find('.product_meta').find('.sku'),$weight=form.$product.find('.product_weight, .woocommerce-product-attributes-item--weight .woocommerce-product-attributes-item__value'),$dimensions=form.$product.find('.product_dimensions, .woocommerce-product-attributes-item--dimensions .woocommerce-product-attributes-item__value'),$qty_input=form.$singleVariationWrap.find('.quantity input.qty[name="quantity"]'),$qty=$qty_input.closest('.quantity'),purchasable=true,variation_id='',template=false,$template_html='';if(variation.sku){$sku.wc_set_content(variation.sku);}else{$sku.wc_reset_content();} if(variation.weight){$weight.wc_set_content(variation.weight_html);}else{$weight.wc_reset_content();} if(variation.dimensions){$dimensions.wc_set_content($.parseHTML(variation.dimensions_html)[0].data);}else{$dimensions.wc_reset_content();} form.$form.wc_variations_image_update(variation);if(!variation.variation_is_visible){template=wp_template('unavailable-variation-template');}else{template=wp_template('variation-template');variation_id=variation.variation_id;} $template_html=template({variation:variation});$template_html=$template_html.replace('/**/','');form.$singleVariation.html($template_html);form.$form.find('input[name="variation_id"], input.variation_id').val(variation.variation_id).trigger('change');if(variation.is_sold_individually==='yes'){$qty_input.val('1').attr('min','1').attr('max','').trigger('change');$qty.hide();}else{var qty_val=parseFloat($qty_input.val());if(isNaN(qty_val)){qty_val=variation.min_qty;}else{qty_val=qty_val>parseFloat(variation.max_qty)?variation.max_qty:qty_val;qty_val=qty_val'),selected_attr_val=current_attr_select.val()||'',selected_attr_val_valid=true;if(!current_attr_select.data('attribute_html')){var refSelect=current_attr_select.clone();refSelect.find('option').removeAttr('attached').prop('disabled',false).prop('selected',false);current_attr_select.data('attribute_options',refSelect.find('option'+option_gt_filter).get());current_attr_select.data('attribute_html',refSelect.html());} new_attr_select.html(current_attr_select.data('attribute_html'));var checkAttributes=$.extend(true,{},currentAttributes);checkAttributes[current_attr_name]='';var variations=form.findMatchingVariations(form.variationData,checkAttributes);for(var num in variations){if(typeof(variations[num])!=='undefined'){var variationAttributes=variations[num].attributes;for(var attr_name in variationAttributes){if(variationAttributes.hasOwnProperty(attr_name)){var attr_val=variationAttributes[attr_name],variation_active='';if(attr_name===current_attr_name){if(variations[num].variation_is_active){variation_active='enabled';} if(attr_val){attr_val=$('
').html(attr_val).text();var $option_elements=new_attr_select.find('option');if($option_elements.length){for(var i=0,len=$option_elements.length;i0&&selected_attr_val&&selected_attr_val_valid&&('no'===show_option_none)){new_attr_select.find('option:first').remove();option_gt_filter='';} new_attr_select.find('option'+option_gt_filter+':not(.attached)').remove();current_attr_select.html(new_attr_select.html());current_attr_select.find('option'+option_gt_filter+':not(.enabled)').prop('disabled',true);if(selected_attr_val){if(selected_attr_val_valid){current_attr_select.val(selected_attr_val);}else{current_attr_select.val('').trigger('change');}}else{current_attr_select.val('');}});form.$form.trigger('woocommerce_update_variation_values');};VariationForm.prototype.getChosenAttributes=function(){var data={};var count=0;var chosen=0;this.$attributeFields.each(function(){var attribute_name=$(this).data('attribute_name')||$(this).attr('name');var value=$(this).val()||'';if(value.length>0){chosen++;} count++;data[attribute_name]=value;});return{'count':count,'chosenCount':chosen,'data':data};};VariationForm.prototype.findMatchingVariations=function(variations,attributes){var matching=[];for(var i=0;i'+'

'+ wc_add_to_cart_variation_params.i18n_no_matching_variations_text+'

'+'
').next('div').find('.wc-no-matching-variations').slideDown(200);};$.fn.wc_variation_form=function(){new VariationForm(this);return this;};$.fn.wc_set_content=function(content){if(undefined===this.attr('data-o_content')){this.attr('data-o_content',this.text());} this.text(content);};$.fn.wc_reset_content=function(){if(undefined!==this.attr('data-o_content')){this.text(this.attr('data-o_content'));}};$.fn.wc_set_variation_attr=function(attr,value){if(undefined===this.attr('data-o_'+attr)){this.attr('data-o_'+attr,(!this.attr(attr))?'':this.attr(attr));} if(false===value){this.removeAttr(attr);}else{this.attr(attr,value);}};$.fn.wc_reset_variation_attr=function(attr){if(undefined!==this.attr('data-o_'+attr)){this.attr(attr,this.attr('data-o_'+attr));}};$.fn.wc_maybe_trigger_slide_position_reset=function(variation){var $form=$(this),$product=$form.closest('.product'),$product_gallery=$product.find('.images'),reset_slide_position=false,new_image_id=(variation&&variation.image_id)?variation.image_id:'';if($form.attr('current-image')!==new_image_id){reset_slide_position=true;} $form.attr('current-image',new_image_id);if(reset_slide_position){$product_gallery.trigger('woocommerce_gallery_reset_slide_position');}};$.fn.wc_variations_image_update=function(variation){var $form=this,$product=$form.closest('.product'),$product_gallery=$product.find('.images'),$gallery_nav=$product.find('.flex-control-nav'),$gallery_img=$gallery_nav.find('li:eq(0) img'),$product_img_wrap=$product_gallery.find('.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder').eq(0),$product_img=$product_img_wrap.find('.wp-post-image'),$product_link=$product_img_wrap.find('a').eq(0);if(variation&&variation.image&&variation.image.src&&variation.image.src.length>1){var galleryHasImage=$gallery_nav.find('li img[data-o_src="'+variation.image.gallery_thumbnail_src+'"]').length>0;if(galleryHasImage){$form.wc_variations_image_reset();} var slideToImage=$gallery_nav.find('li img[src="'+variation.image.gallery_thumbnail_src+'"]');if(slideToImage.length>0){slideToImage.trigger('flexslider-click');$form.attr('current-image',variation.image_id);window.setTimeout(function(){$(window).trigger('resize');$product_gallery.trigger('woocommerce_gallery_init_zoom');},20);return;} $product_img.wc_set_variation_attr('src',variation.image.src);$product_img.wc_set_variation_attr('height',variation.image.src_h);$product_img.wc_set_variation_attr('width',variation.image.src_w);$product_img.wc_set_variation_attr('srcset',variation.image.srcset);$product_img.wc_set_variation_attr('sizes',variation.image.sizes);$product_img.wc_set_variation_attr('title',variation.image.title);$product_img.wc_set_variation_attr('data-caption',variation.image.caption);$product_img.wc_set_variation_attr('alt',variation.image.alt);$product_img.wc_set_variation_attr('data-src',variation.image.full_src);$product_img.wc_set_variation_attr('data-large_image',variation.image.full_src);$product_img.wc_set_variation_attr('data-large_image_width',variation.image.full_src_w);$product_img.wc_set_variation_attr('data-large_image_height',variation.image.full_src_h);$product_img_wrap.wc_set_variation_attr('data-thumb',variation.image.src);$gallery_img.wc_set_variation_attr('src',variation.image.gallery_thumbnail_src);$product_link.wc_set_variation_attr('href',variation.image.full_src);}else{$form.wc_variations_image_reset();} window.setTimeout(function(){$(window).trigger('resize');$form.wc_maybe_trigger_slide_position_reset(variation);$product_gallery.trigger('woocommerce_gallery_init_zoom');},20);};$.fn.wc_variations_image_reset=function(){var $form=this,$product=$form.closest('.product'),$product_gallery=$product.find('.images'),$gallery_nav=$product.find('.flex-control-nav'),$gallery_img=$gallery_nav.find('li:eq(0) img'),$product_img_wrap=$product_gallery.find('.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder').eq(0),$product_img=$product_img_wrap.find('.wp-post-image'),$product_link=$product_img_wrap.find('a').eq(0);$product_img.wc_reset_variation_attr('src');$product_img.wc_reset_variation_attr('width');$product_img.wc_reset_variation_attr('height');$product_img.wc_reset_variation_attr('srcset');$product_img.wc_reset_variation_attr('sizes');$product_img.wc_reset_variation_attr('title');$product_img.wc_reset_variation_attr('data-caption');$product_img.wc_reset_variation_attr('alt');$product_img.wc_reset_variation_attr('data-src');$product_img.wc_reset_variation_attr('data-large_image');$product_img.wc_reset_variation_attr('data-large_image_width');$product_img.wc_reset_variation_attr('data-large_image_height');$product_img_wrap.wc_reset_variation_attr('data-thumb');$gallery_img.wc_reset_variation_attr('src');$product_link.wc_reset_variation_attr('href');};$(function(){if(typeof wc_add_to_cart_variation_params!=='undefined'){$('.variations_form').each(function(){$(this).wc_variation_form();});}});var wc_variation_form_matcher={find_matching_variations:function(product_variations,settings){var matching=[];for(var i=0;i