(function(n){var e=function(t){return t.is(".processing")||t.parents(".processing").length};var r=function(t){if(!n.fn.block||!t){return}if(!e(t)){t.addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})}};var a=function(t){if(!n.fn.unblock||!t){return}t.removeClass("processing").unblock()};var t=function(){this.selectors={text:".wcboost-wishlist-button__text",icon:".wcboost-wishlist-button__icon"};this.addToWishlist=this.addToWishlist.bind(this);this.removeFromWishlist=this.removeFromWishlist.bind(this);this.updateButton=this.updateButton.bind(this);n(document.body).on("click",".wcboost-wishlist-button--ajax",{addToWishlistHandler:this},this.onButtonClick);if("yes"===wcboost_wishlist_params.allow_adding_variations){n(".variations_form").on("found_variation",{addToWishlistHandler:this},this.onVariationFound).on("reset_data",{addToWishlistHandler:this},this.onVariationReset)}};t.prototype.onButtonClick=function(t){var e=t.data.addToWishlistHandler;var i=n(t.currentTarget);if(!i.hasClass("added")){t.preventDefault();e.addToWishlist(i)}else if("remove"===wcboost_wishlist_params.exists_item_behavior){t.preventDefault();e.removeFromWishlist(i)}};t.prototype.addToWishlist=function(i){var o=this;var t={product_id:i.data("product_id"),quantity:i.data("quantity")};if(!t.product_id){return}n.post({url:woocommerce_params.wc_ajax_url.toString().replace("%%endpoint%%","add_to_wishlist"),data:t,dataType:"json",beforeSend:function(){i.removeClass("added").addClass("loading");o.updateButton(i,"loading")},success:function(t){if(!t.success){return}var e=t.data.fragments;o.updateButton(i,"added",t.data);n(document.body).trigger("added_to_wishlist",[i,e]).trigger("wishlist_item_added",[t.data]);if("yes"===wcboost_wishlist_params.wishlist_redirect_after_add){window.location=wcboost_wishlist_params.wishlist_url}},complete:function(){i.removeClass("loading")}})};t.prototype.removeFromWishlist=function(i){var o=this;var t=new URLSearchParams(i[0].search);var e={item_key:t.get("remove-wishlist-item"),_wpnonce:t.get("_wpnonce")};if(!e.item_key){return}n.post({url:woocommerce_params.wc_ajax_url.toString().replace("%%endpoint%%","remove_wishlist_item"),data:e,dataType:"json",beforeSend:function(){i.removeClass("added").addClass("loading");o.updateButton(i,"loading")},success:function(t){if(!t.success){return}var e=t.data.fragments;o.updateButton(i,"removed",t.data);n(document.body).trigger("removed_from_wishlist",[i,e]).trigger("wishlist_item_removed",[t.data])},complete:function(){i.removeClass("loading")}})};t.prototype.onVariationFound=function(t,e){var i=t.data.addToWishlistHandler;var o=n(t.target).closest(".product").find(".wcboost-wishlist-button");var s=o.data("variations");i.updateButton(o,"update_id",{product_id:e.variation_id});if("yes"===wcboost_wishlist_params.allow_adding_variations&&s){var r=s.find(function(t){return t.variation_id===e.variation_id});if(r){i.updateButton(o,r.added==="yes"?"added":"removed",r)}}};t.prototype.onVariationReset=function(t){var e=t.data.addToWishlistHandler;var i=n(t.target).closest(".product").find(".wcboost-wishlist-button");var o=i.data("variations");var s=null;e.updateButton(i,"update_id",{product_id:null});if(o){var r=o.find(function(t){return t.is_parent});if(r){s=r.variation_id}if("yes"===wcboost_wishlist_params.allow_adding_variations&&r){e.updateButton(i,r.added==="yes"?"added":"removed",r)}}if(!s){var a=new URLSearchParams(i[0].search);s=a.get("add-to-wishlist")}e.updateButton(i,"update_id",{product_id:s})};t.prototype.updateButton=function(t,e,i){switch(e){case"loading":t.addClass("loading");t.find(this.selectors.icon).html(wcboost_wishlist_params.icon_loading);break;case"added":t.removeClass("loading").addClass("added");switch(wcboost_wishlist_params.exists_item_behavior){case"view_wishlist":t.attr("href",i.wishlist_url?i.wishlist_url:wcboost_wishlist_params.wishlist_url);t.find(this.selectors.text).text(wcboost_wishlist_params.i18n_view_wishlist);t.find(this.selectors.icon).html(wcboost_wishlist_params.icon_filled);break;case"remove":t.attr("href",i.remove_url);t.find(this.selectors.text).text(wcboost_wishlist_params.i18n_remove_from_wishlist);t.find(this.selectors.icon).html(wcboost_wishlist_params.icon_filled);break;case"hide":t.hide();break}break;case"removed":t.removeClass("added loading");t.attr("href",i.add_url);t.find(this.selectors.text).text(wcboost_wishlist_params.i18n_add_to_wishlist);t.find(this.selectors.icon).html(wcboost_wishlist_params.icon_normal);break;case"update_id":t.data("product_id",i.product_id).attr("data-product_id",i.product_id);break}};var i=function(t){var e=this;e.$form=t;e.$wrapper=t.closest(".wcboost-wishlist");e.updateForm=e.updateForm.bind(e);e.showNotices=e.showNotices.bind(e);e.$wrapper.off(".wcboost-wishlist");e.$wrapper.on("click.wcboost-wishlist",".wcboost-wishlist-form .product-remove > a",{wishlist:e},e.onRemoveItem);e.$wrapper.on("click.wcboost-wishlist","a.restore-item",{wishlist:e},e.onRestoreItem);e.$wrapper.on("change.wcboost-wishlist input.wcboost-wishlist",":input",{wishlist:e},e.onInputChagne);e.$wrapper.on("submit.wcboost-wishlist","form",{wishlist:e},e.onSubmitForm);e.$form.find('button[name="update_wishlist"]').prop("disabled",true).attr("aria-disabled",true)};i.prototype.onRemoveItem=function(t){t.preventDefault();var e=t.data.wishlist;n.ajax({url:t.currentTarget.href,type:"GET",dataType:"html",beforeSend:function(){r(e.$form)},success:function(t){e.updateForm(t)},complete:function(){if(e.$form){a(e.$form)}var t=n('[role="alert"]');if(t.length){n("html, body").animate({scrollTop:t.offset().top-100},1e3)}}})};i.prototype.onRestoreItem=function(t){t.preventDefault();var e=t.data.wishlist,i=e.$form?e.$form:e.$wrapper;n.ajax({url:t.currentTarget.href,type:"GET",dataType:"html",beforeSend:function(){r(i)},success:function(t){e.updateForm(t)},complete:function(){a(i)}})};i.prototype.onInputChagne=function(t){var e=t.data.wishlist;e.$form.find('button[name="update_wishlist"]').prop("disabled",false).attr("aria-disabled",false)};i.prototype.onSubmitForm=function(t){t.preventDefault();var e=t.data.wishlist;n("").attr("type","hidden").attr("name","update_wishlist").attr("value","Update Wishlist").appendTo(e.$form);n.ajax({type:e.$form.attr("method"),url:e.$form.attr("action"),data:e.$form.serialize(),dataType:"html",beforeSend:function(){r(e.$form)},success:function(t){e.updateForm(t)},complete:function(){if(e.$form){a(e.$form)}}})};i.prototype.updateForm=function(t){var e=this,i=n.parseHTML(t),o=n(".wcboost-wishlist-form",i),s=n(".woocommerce-error, .woocommerce-message, .woocommerce-info, .is-info, .is-success, .is-error",i);n(".woocommerce-error, .woocommerce-message, .woocommerce-info, .is-info, .is-success, .is-error").remove();if(!o.length){var r=n(".wishlist-empty",i).closest(".wcboost-wishlist");r.find(".woocommerce-error, .woocommerce-message, .woocommerce-info, .is-info, .is-success, .is-error").not(".wishlist-empty").remove();e.$wrapper.html(r.html());e.$form=null;s=s.not(".wishlist-empty");n(document.body).trigger("wishlist_emptied",[e])}else{if(e.$form){e.$form.replaceWith(o);e.$form=o}else{var a=o.closest(".wcboost-wishlist");e.$wrapper.html(a.html());e.$form=e.$wrapper.find(".wcboost-wishlist-form")}e.$form.find('button[name="update_wishlist"]').prop("disabled",true).attr("aria-disabled",true)}if(s&&s.length>0){e.showNotices(s)}n(document.body).trigger("wishlist_updated",[e])};i.prototype.showNotices=function(t,e){if(e){e.prepend(t)}else{this.$wrapper.prepend(t)}};var o=function(){var t=this;t.$notice=n('
');t.$notice.append('');t.$notice.append(''+wcboost_wishlist_params.i18n_close_button_text+"");t.$notice.appendTo(document.body);t.openSocialShareIframe=t.openSocialShareIframe.bind(t);t.showCopiedNotice=t.showCopiedNotice.bind(t);t.showWishlistURLNotice=t.showWishlistURLNotice.bind(t);n(document.body).on("click.wcboost-wishlist",".wcboost-wishlist-share-link",{wishlistShareHandler:t},t.onClickShareLink);t.$notice.on("click.wcboost-wishlist",".wcboost-wishlist-share-notice__close",{wishlistShareHandler:t},t.closeNotice)};o.prototype.onClickShareLink=function(t){var e=t.data.wishlistShareHandler,i=t.currentTarget.href,o=t.currentTarget.dataset.social;if("email"===o){return}if("link"===o){try{navigator.clipboard.writeText(i).then(e.showCopiedNotice)}catch(t){e.showWishlistURLNotice(i)}t.preventDefault();return}var s=e.openSocialShareIframe(i);if(s){t.preventDefault()}};o.prototype.openSocialShareIframe=function(t){var e=500,i=450,o=window.screen.height/2-(i/2+50),s=window.screen.width/2-(e/2+10),r="status=no,resizable=yes,width="+e+",height="+i+",left="+s+",top="+o+",screenX="+s+",screenY="+o+",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no";if(window.screen.width<=e){return false}var a=window.open(t,"sharer",r);a.focus();return true};o.prototype.showCopiedNotice=function(){var t=this;t.$notice.find(".wcboost-wishlist-share-notice__text").html("").text(wcboost_wishlist_params.i18n_link_copied_notice);t.$notice.fadeIn(200);setTimeout(function(){t.$notice.fadeOut(200)},2e3)};o.prototype.showWishlistURLNotice=function(t){var e=this,i=n('');e.$notice.find(".wcboost-wishlist-share-notice__text").html("").append(i);e.$notice.fadeIn(200);i.focus()};o.prototype.closeNotice=function(t){t.preventDefault();var e=t.data.wishlistShareHandler;e.$notice.fadeOut(200)};var s=function(){var t=this;t.selectors={widget:".wcboost-wishlist-widget",content:".wcboost-wishlist-widget-content"};t.checkWidgetVisibility=t.checkWidgetVisibility.bind(t);n(document.body).on("click",t.selectors.content+" a.remove",{wishlistWidget:t},t.removeItem).on("wishlist_fragments_loaded",{wishlistWidget:t},t.checkWidgetVisibility);t.checkWidgetVisibility()};s.prototype.checkWidgetVisibility=function(){var t=this;var e=n(t.selectors.widget);if(!e.length){return}e.each(function(){var t=n(this);if(!t.find(".wcboost-wishlist-widget__hide-if-empty").length){return}if(t.find(".wcboost-wishlist-widget__products").length){t.show()}else{t.hide()}})};s.prototype.removeItem=function(t){t.preventDefault();var e=t.data.wishlistWidget;var i=new URLSearchParams(t.currentTarget.search);var o={item_key:i.get("remove-wishlist-item"),_wpnonce:i.get("_wpnonce")};if(!o.item_key){return}var s=n(e.selectors.widget);n.post({url:woocommerce_params.wc_ajax_url.toString().replace("%%endpoint%%","remove_wishlist_item"),data:o,dataType:"json",beforeSend:function(){r(s)},success:function(t){if(!t.success){return}var e=t.data.fragments;n(document.body).trigger("removed_from_wishlist",[null,e])},complete:function(){a(s)}})};n(function(){new t;new i(n(".wcboost-wishlist-form"));new o;new s})})(jQuery);