!function(y,n,i){"use strict";function r(t,a,i,e,r){var o=this;o.field=a,o.currentCart=i,o.variableProductContainers=e,o.epoObject=r,o.$form=t,o.$wrap=t.closest(".tc-epo-element-product-container-wrap"),o.$attributeFields=t.find(".tc-epo-variable-product-selector"),o.$singleVariation=t.find(".tc-epo-element-single-variation"),o.$resetVariations=t.find(".tc-epo-element-variable-reset-variations"),o.variationData=t.data("product_variations"),o.useAjax=!1===o.variationData,o.xhr=!1,o.loading=!0,o.variationId=t.closest(".tc-epo-element-product-li-container").find(".tc-epo-element-product-container-variation-id input.product-variation-id"),o.getChosenAttributes=o.getChosenAttributes.bind(o),o.findMatchingVariations=o.findMatchingVariations.bind(o),o.isMatch=o.isMatch.bind(o),o.toggleResetLink=o.toggleResetLink.bind(o),t.on("click.tc-variation-form",".tc-epo-element-variable-reset-variations",{variationForm:o},o.onReset),t.on("tc_hide_variation",{variationForm:o},o.onHide),t.on("tc_show_variation",{variationForm:o},o.onShow),t.on("tc_reset_data",{variationForm:o},o.onResetDisplayedVariation),t.on("tc_reset_image",{variationForm:o},o.onResetImage),t.on("change.tc-variation-form",".tc-epo-variable-product-selector",{variationForm:o},o.onChange),t.on("tc_found_variation.tc-variation-form",{variationForm:o},o.onFoundVariation),t.on("tc_check_variations.tc-variation-form",{variationForm:o},o.onFindVariation),t.on("tc_update_variation_values.tc-variation-form",{variationForm:o},o.onUpdateAttributes),t.on("refresh.tc-variation-form",{variationForm:o},o.onRefreshContainer),t.on("update_field.tc-variation-form",{variationForm:o},o.onUpdateField),o.variationId.val(""),setTimeout(function(){t.trigger("refresh"),t.trigger("tc_variation_form"),o.loading=!1},100)}function l(t){var a=i.getElementById("tmpl-"+t).textContent;return/<#\s?data\./.test(a)||/{{{?\s?data\.(?!variation\.).+}}}?/.test(a)||/{{{?\s?data\.variation\.[\w-]*[^\s}]/.test(a)?n.wp.template(t):function(t){var r,o=t.variation||{};return a.replace(/({{{?)\s?data\.variation\.([\w-]*)\s?(}}}?)/g,function(t,a,i,e){return a.length!==e.length?"":(r=o[i]||"",2===a.length?n.escape(r):r)})}}r.prototype.onRefreshContainer=function(t){t=t.data.variationForm;t.variableProductContainers.find(".tc-epo-element-product-container").removeClass("variations_form"),t.$form.addClass("variations_form"),t.$form.trigger("tc_check_variations.tc-variation-form")},r.prototype.onUpdateField=function(t,a){var i=t.data.variationForm,e=i.field;t.preventDefault(),a||((t=e).is("select")&&(t=e.find("option:selected")),e.data("price_set",1),t.data("associated_price_set",1),t.data("price_set",1),t.data("raw_price",0),t.data("raw_original_price",0),t.data("price",0),t.data("original_price",0),e.data("price-changed",1),i.$form.trigger({type:"tm-epo-update",norules:2}),i.currentCart.trigger({type:"tm-epo-update",norules:2}))},r.prototype.onReset=function(t){t.preventDefault(),t.data.variationForm.$attributeFields.val("").trigger("change"),t.data.variationForm.$form.trigger("tc_reset_data")},r.prototype.onHide=function(t){t.preventDefault()},r.prototype.onShow=function(t){t.preventDefault()},r.prototype.onResetDisplayedVariation=function(t){t=t.data.variationForm;t.$form.find(".product-meta").find(".tc-product-sku").tc_reset_content(),t.$form.trigger("tc_reset_image"),t.$singleVariation.slideUp(200).trigger("tc_hide_variation")},r.prototype.onResetImage=function(t){t.data.variationForm.$form.tc_variations_image_update(!1)},r.prototype.onFindVariation=function(t){var a,i=t.data.variationForm,e=i.getChosenAttributes(),t=e.data;if(e.count===e.chosenCount)if(i.useAjax){if("undefined"==typeof wc_add_to_cart_variation_params)return;i.xhr&&i.xhr.abort(),a=i.$form.closest(".cpf-type-product"),i.$form.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),t.product_id=parseInt(i.$form.data("product_id"),10),t.discount=a.attr("data-discount"),t.discount_type=a.attr("data-discount-type"),t.discount_exclude_addons=a.attr("data-discount-exclude-addons"),i.xhr=y.ajax({url:wc_add_to_cart_variation_params.wc_ajax_url.toString().replace("%%endpoint%%","get_variation"),type:"POST",data:t,success:function(t){t?i.$form.trigger("tc_found_variation",[t]):(i.$form.trigger("tc_reset_data"),e.chosenCount=0,i.loading||(i.$form.find(".tc-epo-element-single-variation").after('<p class="wc-no-matching-variations woocommerce-info">'+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"</p>"),i.$form.find(".wc-no-matching-variations").slideDown(200),i.$form.trigger("update_field",[])))},complete:function(){i.$form.unblock()}})}else i.$form.trigger("tc_update_variation_values"),(a=i.findMatchingVariations(i.variationData,t).shift())?i.$form.trigger("tc_found_variation",[a]):(i.$form.trigger("tc_reset_data"),e.chosenCount=0,i.loading||(i.$form.find(".tc-epo-element-single-variation").after('<p class="wc-no-matching-variations woocommerce-info">'+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"</p>"),i.$form.find(".wc-no-matching-variations").slideDown(200)));else i.variationId.val("").trigger("change"),i.$form.trigger("tc_update_variation_values"),i.$form.trigger("tc_reset_data"),i.$form.trigger("update_field",[]);i.toggleResetLink(0<e.chosenCount)},r.prototype.onFoundVariation=function(t,a){var t=t.data.variationForm,i=t.$form.find(".product-meta").find(".tc-product-sku"),e=t.$wrap.find(".tm-quantity-alt"),r=e.find("input.tm-qty-alt"),o=y.epoAPI.math.toInt(r.attr("data-min")),n=y.epoAPI.math.toInt(r.attr("data-max")),c=r.attr("data-max"),s=!0,_=!1,d="";a.sku?i.tc_set_content(a.sku):i.tc_reset_content(),t.$form.tc_variations_image_update(a),_=a.variation_is_visible?l("variation-template"):l("unavailable-variation-template"),t.field.attr("data-no-price")&&(a.display_price="",a.display_regular_price="",a.price_html=""),t.$form.find(".tc-epo-element-product-container-cart").find(".stock").remove(),d=(d=(d=_({variation:a})).replace("/*<![CDATA[*/","")).replace("/*]]>*/",""),t.$singleVariation.html(d),t.variationId.val(a.variation_id).trigger("change"),"yes"===a.is_sold_individually?(r.val("1").attr("min","1").attr("max","1"),e.hide()):(""!==a.min_qty&&a.min_qty>o&&0<o&&(o=a.min_qty),""!==a.max_qty&&a.max_qty<n&&(n=a.max_qty),""!==o?r.attr("min",o):r.removeAttr("min"),""!==c?r.attr("max",n):r.removeAttr("max"),n&&y.epoAPI.math.toInt(r.val())>n&&r.val(n),o>y.epoAPI.math.toInt(r.val())&&r.val(o),e.show()),a.is_purchasable&&a.is_in_stock&&a.variation_is_visible||(s=!1,r.val("0").attr("min","0").attr("max","0"),e.hide()),r.trigger("change"),(y.epoAPI.util.trim(t.$singleVariation.text())?t.$singleVariation.slideDown(200):t.$singleVariation.show()).trigger("tc_show_variation",[a,s]),t.$form.trigger("update_field",[a])},r.prototype.onChange=function(t){var t=t.data.variationForm,a=t.field;t.variationId.val("").trigger("change"),t.$form.find(".wc-no-matching-variations").remove(),t.useAjax||t.$form.trigger("woocommerce_variation_select_change"),t.$form.trigger("tc_check_variations"),t.$form.trigger("woocommerce_variation_has_changed"),setTimeout(function(){a.closest(".tcowl-carousel").trigger("refresh.owl.carousel")},50)},r.prototype.onUpdateAttributes=function(t){var w=t.data.variationForm,b=w.getChosenAttributes().data;w.useAjax||(w.$attributeFields.each(function(t,a){var i,e,r,o,n,c,s,_,d,l,m,v=y(a),g=v.data("attribute_name")||v.attr("name"),a=y(a).data("show_option_none"),p=":gt(0)",f=y("<select/>"),u=v.val()||"",h=!0;for(r in v.data("attribute_html")||((i=v.clone()).find("option").prop("disabled",!1).prop("selected",!1).removeAttr("attached"),v.data("attribute_options",i.find("option"+p).get()),v.data("attribute_html",i.html())),f.html(v.data("attribute_html")),(i=y.extend(!0,{},b))[g]="",e=w.findMatchingVariations(w.variationData,i))if(void 0!==e[r])for(s in c=e[r].attributes)if(Object.prototype.hasOwnProperty.call(c,s)&&(_=c[s],d="",s===g))if(e[r].variation_is_active&&(d="enabled"),_){if(_=y("<div/>").html(_).text(),(l=f.find("option")).length)for(o=0,n=l.length;o<n;o++)if(_===(m=y(l[o])).val()){m.addClass("attached "+d);break}}else f.find("option:gt(0)").addClass("attached "+d);i=f.find("option.attached").length,u&&(h=!1,0!==i)&&f.find("option.attached.enabled").each(function(){var t=y(this).val();if(u===t)return!(h=!0)}),0<i&&u&&h&&"no"===a&&(f.find("option:first").remove(),p=""),f.find("option"+p+":not(.attached)").remove(),v.html(f.html()),v.find("option"+p+":not(.enabled)").prop("disabled",!0),u?h?v.val(u):v.val("").trigger("change"):v.val("")}),w.$form.trigger("woocommerce_update_variation_values"))},r.prototype.getChosenAttributes=function(){var i={},e=0,r=0;return this.$attributeFields.each(function(){var t=y(this).data("attribute_name")||y(this).attr("name"),a=y(this).val()||"";0<a.length&&r++,e++,i[t]=a}),{count:e,chosenCount:r,data:i}},r.prototype.findMatchingVariations=function(t,a){for(var i,e=[],r=0;r<t.length;r++)i=t[r],this.isMatch(i.attributes,a)&&e.push(i);return e},r.prototype.isMatch=function(t,a){var i,e,r,o=!0;for(r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i=t[r],e=a[r],void 0!==i)&&void 0!==e&&0!==i.length&&0!==e.length&&i!==e&&(o=!1);return o},r.prototype.toggleResetLink=function(t){t?"hidden"===this.$resetVariations.css("visibility")&&this.$resetVariations.css("visibility","visible").hide().fadeIn():this.$resetVariations.css("visibility","hidden")},y.fn.tc_product_variation_form=function(t,a,i,e){return new r(this,t,a,i,e),this.trigger("tc_product_variation_form"),this},y.fn.tc_set_content=function(t){void 0===this.attr("data-o_content")&&this.attr("data-o_content",this.text()),this.text(t)},y.fn.tc_reset_content=function(){void 0!==this.attr("data-o_content")&&this.text(this.attr("data-o_content"))},y.fn.tc_set_variation_attr=function(t,a){void 0===this.attr("data-o_"+t)&&this.attr("data-o_"+t,this.attr(t)?this.attr(t):""),!1===a?this.removeAttr(t):this.attr(t,a)},y.fn.tc_reset_variation_attr=function(t){void 0!==this.attr("data-o_"+t)&&this.attr(t,this.attr("data-o_"+t))},y.fn.tc_variations_image_update=function(t){var a=this.find(".tc-product-image, .woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder").eq(0),i=a.find(".wp-post-image"),e=a.find("a").eq(0);t&&t.image&&t.image.src&&1<t.image.src.length?(i.tc_set_variation_attr("src",t.image.src),i.tc_set_variation_attr("height",t.image.src_h),i.tc_set_variation_attr("width",t.image.src_w),i.tc_set_variation_attr("srcset",t.image.srcset),i.tc_set_variation_attr("sizes",t.image.sizes),i.tc_set_variation_attr("title",t.image.title),i.tc_set_variation_attr("data-caption",t.image.caption),i.tc_set_variation_attr("alt",t.image.alt),i.tc_set_variation_attr("data-src",t.image.full_src),i.tc_set_variation_attr("data-large_image",t.image.full_src),i.tc_set_variation_attr("data-large_image_width",t.image.full_src_w),i.tc_set_variation_attr("data-large_image_height",t.image.full_src_h),a.tc_set_variation_attr("data-thumb",t.image.src),e.tc_set_variation_attr("href",t.image.full_src)):this.tc_variations_image_reset()},y.fn.tc_variations_image_reset=function(){var t=this.find(".tc-product-image, .woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder").eq(0),a=t.find(".wp-post-image"),i=t.find("a").eq(0);a.tc_reset_variation_attr("src"),a.tc_reset_variation_attr("width"),a.tc_reset_variation_attr("height"),a.tc_reset_variation_attr("srcset"),a.tc_reset_variation_attr("sizes"),a.tc_reset_variation_attr("title"),a.tc_reset_variation_attr("data-caption"),a.tc_reset_variation_attr("alt"),a.tc_reset_variation_attr("data-src"),a.tc_reset_variation_attr("data-large_image"),a.tc_reset_variation_attr("data-large_image_width"),a.tc_reset_variation_attr("data-large_image_height"),t.tc_reset_variation_attr("data-thumb"),i.tc_reset_variation_attr("href")}}(window.jQuery,window,document);