(function($){
$(document).ready(function(){
$('body').on('added_to_cart removed_from_cart', function(e, fragments){
if(fragments){
$.each(fragments, function(key, value){
$(key.replace('_wd', '')).replaceWith(value);
});
}});
});
$('body').on('wc_fragments_refreshed wc_fragments_loaded', function(){
if(typeof wd_cart_fragments_params!=='undefined'&&'undefined'!==typeof Cookies){
var wc_fragments=JSON.parse(sessionStorage.getItem(wd_cart_fragments_params.fragment_name)),
cart_hash_key=wd_cart_fragments_params.cart_hash_key,
cart_hash=sessionStorage.getItem(cart_hash_key),
cookie_hash=Cookies.get('woocommerce_cart_hash'),
cart_created=sessionStorage.getItem('wc_cart_created'),
day_in_ms=(24 * 60 * 60 * 1000);
if(cart_hash===null||cart_hash===undefined||cart_hash===''){
cart_hash='';
}
if(cookie_hash===null||cookie_hash===undefined||cookie_hash===''){
cookie_hash='';
}
if(cart_hash&&(cart_created===null||cart_created===undefined||cart_created==='')){
throw 'No cart_created';
}
if(cart_created){
var cart_expiration=((1 * cart_created) + day_in_ms),
timestamp_now=(new Date()).getTime();
if(cart_expiration < timestamp_now){
throw 'Fragment expired';
}}
if(wc_fragments&&wc_fragments['div.widget_shopping_cart_content']&&cart_hash===cookie_hash){
$.each(wc_fragments, function(key, value){
$(key.replace('_wd', '')).replaceWith(value);
});
}}
});
})(jQuery);
(function(){
jQuery(document).ready(function($){
crResizeAllGridItems();
crResizeTrustBadges();
jQuery("form#commentform").attr("enctype", "multipart/form-data").attr("encoding", "multipart/form-data");
jQuery("#commentform").on("submit", function(event){
if(cr_ajax_object.ivole_recaptcha==='1'){
var recaptcha=jQuery("#g-recaptcha-response").val();
if(recaptcha===""){
event.preventDefault();
alert("Please confirm that you are not a robot");
}}
});
jQuery("ol.commentlist").on("click", ".cr-comment-a", function(t){
if(cr_ajax_object.disable_lightbox==='0'){
t.preventDefault();
const oo=jQuery(".pswp");
if(0 < oo.length){
const o=oo[0];
var pics=jQuery(this).parent().parent().find(".cr-comment-a img");
var this_pic=jQuery(this).find("img");
var inx=0;
if(pics.length > 0&&this_pic.length > 0){
var a=[];
for (i=0; i < pics.length; i++){
a.push({
src: pics[i].src,
w: pics[i].naturalWidth,
h: pics[i].naturalHeight,
title: pics[i].alt
});
if(this_pic[0].src==pics[i].src){
inx=i;
}}
var r={
index: inx
};
new PhotoSwipe(o, PhotoSwipeUI_Default, a, r).init();
}}
}});
jQuery(".cr-reviews-grid").on("click", ".image-row-vid, .cr-comment-videoicon", function(t){
if(! jQuery(this).closest(".image-row").hasClass("cr-vid-playing") ){
jQuery(this).closest(".image-row").addClass("cr-vid-playing");
jQuery(this).closest(".image-row").find(".image-row-vid").prop("controls", true);
jQuery(this).closest(".image-row").find(".image-row-vid").get(0).play();
}else{
jQuery(this).closest(".image-row").find(".image-row-vid").get(0).pause();
jQuery(this).closest(".image-row").find(".image-row-vid").prop("controls", false);
jQuery(this).closest(".image-row").removeClass("cr-vid-playing");
}
return false;
});
jQuery(".cr-ajax-reviews-cus-images-modal").on("click", ".cr-ajax-reviews-video, .cr-ajax-reviews-video .cr-comment-videoicon", function(t){
if(! jQuery(this).closest(".cr-ajax-reviews-video").hasClass("cr-vid-playing") ){
jQuery(this).closest(".cr-ajax-reviews-video").addClass("cr-vid-playing");
jQuery(this).closest(".cr-ajax-reviews-video").find("video").prop("controls", true);
jQuery(this).closest(".cr-ajax-reviews-video").find("video").get(0).play();
}else{
jQuery(this).closest(".cr-ajax-reviews-video").find("video").get(0).pause();
jQuery(this).closest(".cr-ajax-reviews-video").find("video").prop("controls", false);
jQuery(this).closest(".cr-ajax-reviews-video").removeClass("cr-vid-playing");
}
return false;
});
jQuery(".cr-reviews-grid").on("click", ".media-row-count", function(t){
if(cr_ajax_object.disable_lightbox==='0'){
t.preventDefault();
const oo=jQuery(".pswp");
let media=jQuery(this).parent().find(".image-row-vid,.image-row-img"),
this_media=jQuery(this),
inx=0;
if(media.length > 0&&this_media.length > 0){
const o=oo[0];
var a=[];
for (i=0; i < media.length; i++){
if("vid"===media[i].dataset.crmedia){
a.push({
html: '<div class="cr-video-wrapper"><video class="cr-media-video" src="' + media[i].src + '" controls></video></div>',
title: media[i].dataset.crtitle
});
}else{
a.push({
src: media[i].src,
w: media[i].naturalWidth,
h: media[i].naturalHeight,
title: media[i].alt
});
}
if(this_media[0].src==media[i].src){
inx=i;
}}
var r={
index: inx
};
new PhotoSwipe(o, PhotoSwipeUI_Default, a, r).init();
}}
});
jQuery(document).on("click", ".cr-video-wrapper .cr-media-video", function(t){
const vid=jQuery(this).get(0);
if(vid){
const isVideoPlaying = !!(vid.currentTime > 0&&!vid.paused&&!vid.ended&&vid.readyState > 2);
if(isVideoPlaying){
vid.pause();
}else{
vid.play();
}}
return false;
});
jQuery(".cr-reviews-grid").on("click", ".image-row-img, .image-row-count", function(t){
if(cr_ajax_object.disable_lightbox==='0'){
t.preventDefault();
const oo=jQuery(".pswp");
if(0 < oo.length){
const o=oo[0];
var pics=jQuery(this).parent().find("img.image-row-img");
var this_pic=jQuery(this);
var inx=0;
if(pics.length > 0&&this_pic.length > 0){
var a=[];
for (i=0; i < pics.length; i++){
a.push({
src: pics[i].src,
w: pics[i].naturalWidth,
h: pics[i].naturalHeight,
title: pics[i].alt
});
if(this_pic[0].src==pics[i].src){
inx=i;
}}
var r={
index: inx
};
new PhotoSwipe(o, PhotoSwipeUI_Default, a, r).init();
}}
}});
initVoteClick("ol.commentlist", ".cr-voting-a", "cr_vote_review");
initVoteClick(".cr-ajax-reviews-cus-images-modal", ".cr-voting-a", "cr_vote_review");
initVoteClick(".cr-qna-block .cr-qna-list-block", ".cr-voting-a", "cr_vote_question");
jQuery("ol.commentlist").on("click", ".cr-video-a, .cr-comment-videoicon", function(t){
if(! jQuery(this).closest(".cr-comment-videos").hasClass("cr-comment-videos-modal") ){
let tt=jQuery(this).closest("[class*='cr-comment-video-']");
jQuery(this).closest(".cr-comment-videos").addClass("cr-comment-videos-modal");
tt.addClass("cr-comment-video-modal");
tt.find("video").prop("controls", true);
tt.find(".cr-comment-videoicon").hide();
tt.find("video").get(0).play();
return false;
}
return false;
});
jQuery("ol.commentlist").on("click", ".cr-comment-videos", function(t){
if(jQuery(this).hasClass("cr-comment-videos-modal") ){
jQuery(this).removeClass("cr-comment-videos-modal");
jQuery(this).find("[class*='cr-comment-video-']").each(function(index, element){
if(jQuery(element).hasClass("cr-comment-video-modal") ){
jQuery(element).removeClass("cr-comment-video-modal");
jQuery(element).find("video").get(0).pause();
jQuery(element).find("video").prop("controls", false);
jQuery(element).find(".cr-comment-videoicon").show();
jQuery(element).removeAttr("style");
}});
return false;
}});
jQuery(".cr-show-more-reviews-prd").on("click", function(t){
t.preventDefault();
crShowMoreReviewsPrd(jQuery(this));
});
jQuery(".cr-ajax-reviews-sort").on("change", function(t){
t.preventDefault();
if(jQuery(this).parents(".cr-all-reviews-shortcode").length){
cr_filter_all_reviews(jQuery(this));
}else{
var cr_product_id=jQuery(this).parents(".cr-reviews-ajax-comments").find(".commentlist.cr-ajax-reviews-list").attr("data-product");
var cr_sort=jQuery(this).children("option:selected").val();
var cr_rating=jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-summaryBox-ajax tr.ivole-histogramRow.ivole-histogramRow-s .ivole-histogram-a").attr("data-rating");
if(!cr_rating){
cr_rating=0;
}
var cr_data={
"action": "cr_sort_reviews",
"productID": cr_product_id,
"sort": cr_sort,
"rating": cr_rating
};
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-search-no-reviews").hide();
jQuery(this).parents(".cr-reviews-ajax-comments").find('.cr-ajax-search input').val("").trigger("change");
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-reviews-prd").hide();
jQuery(this).parents(".cr-reviews-ajax-comments").find(".commentlist.cr-ajax-reviews-list").hide();
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-review-spinner").show();
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-summaryBox-ajax").addClass("cr-summaryBar-updating");
jQuery(this).addClass("cr-sort-updating");
jQuery.post({
url: cr_ajax_object.ajax_url,
data: cr_data,
context: this,
success: function(response){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-review-spinner").hide();
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-summaryBox-ajax").removeClass("cr-summaryBar-updating");
jQuery(this).removeClass("cr-sort-updating");
if(response.page > 0){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".commentlist.cr-ajax-reviews-list").empty();
jQuery(this).parents(".cr-reviews-ajax-comments").find(".commentlist.cr-ajax-reviews-list").append(response.html);
jQuery(this).parents(".cr-reviews-ajax-comments").find(".commentlist.cr-ajax-reviews-list").show();
jQuery(this).parents(".cr-reviews-ajax-comments").attr("data-page",response.page);
if(response.show_more_label){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-reviews-prd").text(response.show_more_label);
}
if(response.count_row){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-count-row .cr-count-row-count").html(response.count_row);
}
if(!response.last_page){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-reviews-prd").show();
}}
},
dataType: "json"
});
}});
jQuery(".cr-noAjax").on("click", ".ivole-histogram-a", function (t){
t.preventDefault();
const parser=new URL(window.location);
parser.searchParams.set(cr_ajax_object.rating_filter, jQuery(this).data("rating"));
parser.hash=cr_ajax_object.reviews_tab;
window.location=parser.href;
});
jQuery(".cr-reviews-ajax-comments").on("click", ".ivole-histogram-a, .cr-seeAllReviews", function(t){
t.preventDefault();
let tmpParent=jQuery(this).parents(".cr-reviews-ajax-comments");
let cr_product_id=tmpParent.find(".commentlist.cr-ajax-reviews-list").attr("data-product");
let cr_nonce=tmpParent.find(".cr-summaryBox-ajax").attr("data-nonce");
let cr_rating=jQuery(this).attr("data-rating");
let cr_sort=tmpParent.find(".cr-ajax-reviews-sort").children("option:selected").val();
let cr_data={
"action": "cr_filter_reviews",
"productID": cr_product_id,
"rating": cr_rating,
"sort": cr_sort,
"security": cr_nonce
};
tmpParent.find(".cr-summaryBox-ajax tr.ivole-histogramRow.ivole-histogramRow-s").removeClass("ivole-histogramRow-s");
if(cr_rating > 0){
jQuery(this).closest("tr.ivole-histogramRow").addClass("ivole-histogramRow-s");
}
tmpParent.find(".cr-search-no-reviews").hide();
tmpParent.find('.cr-ajax-search input').val("").trigger("change");
tmpParent.find(".cr-show-more-reviews-prd").hide();
tmpParent.find(".commentlist.cr-ajax-reviews-list").hide();
tmpParent.find(".cr-show-more-review-spinner").show();
tmpParent.find(".cr-summaryBox-ajax").addClass("cr-summaryBar-updating");
tmpParent.find(".cr-ajax-reviews-sort").addClass("cr-sort-updating");
jQuery.post({
url: cr_ajax_object.ajax_url,
data: cr_data,
context: tmpParent,
success: function(response){
this.find(".cr-show-more-review-spinner").hide();
this.find(".cr-summaryBox-ajax").removeClass("cr-summaryBar-updating");
this.find(".cr-ajax-reviews-sort").removeClass("cr-sort-updating");
if(response.page > 0){
this.find(".commentlist.cr-ajax-reviews-list").empty();
this.find(".commentlist.cr-ajax-reviews-list").append(response.html);
this.find(".commentlist.cr-ajax-reviews-list").show();
this.attr("data-page",response.page);
if(response.show_more_label){
this.find(".cr-show-more-reviews-prd").text(response.show_more_label);
}
if(response.count_row){
this.find(".cr-count-row .cr-count-row-count").html(response.count_row);
}
if(!response.last_page){
this.find(".cr-show-more-reviews-prd").show();
}}
},
dataType: "json"
});
});
jQuery('.cr-ajax-search input').on("keyup", function(e){
if(e.keyCode==13){
jQuery(this).parents(".cr-ajax-search").find("button").trigger("click");
}
if(jQuery(this).val()!==""){
jQuery(this).parents(".cr-ajax-search").find(".cr-clear-input").css("display", "inline-block");
}else{
jQuery(this).parents(".cr-ajax-search").find(".cr-clear-input").css("display", "none");
}}).on("change", function(){
if(jQuery(this).val()==="") jQuery(this).parents(".cr-ajax-search").find(".cr-clear-input").hide();
});
jQuery('.cr-reviews-ajax-reviews .cr-ajax-search input').on('keyup', crDebounce(
(ref)=> {
jQuery(ref.target).parents(".cr-reviews-ajax-comments").attr("data-page", 0);
jQuery(ref.target).parents(".cr-reviews-ajax-reviews").find(".cr-ajax-reviews-list").empty();
crShowMoreReviewsPrd(jQuery(ref.target));
},
1000
));
jQuery(".cr-ajax-search .cr-clear-input").on("click", function (){
jQuery(this).prev("input").val("");
jQuery(this).parents(".cr-ajax-search").find(".cr-clear-input").hide();
jQuery(this).parents(".cr-ajax-search").find("button").trigger("click");
if(jQuery(this).parents(".cr-reviews-ajax-reviews").length){
jQuery(this).parents(".cr-reviews-ajax-comments").attr("data-page", 0);
jQuery(this).parents(".cr-reviews-ajax-reviews").find(".cr-ajax-reviews-list").empty();
crShowMoreReviewsPrd(jQuery(this));
}});
jQuery(".cr-ajax-search button").on("click", function (e){
e.preventDefault();
if(jQuery(this).parents(".cr-all-reviews-shortcode").length){
cr_filter_all_reviews(jQuery(this));
}else{
jQuery(this).parents(".cr-reviews-ajax-comments").attr("data-page", 0);
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-ajax-reviews-list").empty();
crShowMoreReviewsPrd(jQuery(this));
}});
jQuery(".cr-ajax-reviews-add-review, .cr-nosummary-add").on("click", function(t){
t.preventDefault();
jQuery(this).closest(".cr-reviews-ajax-reviews").find(".cr-reviews-ajax-comments").hide();
jQuery(this).closest(".cr-reviews-ajax-reviews").find(".cr-ajax-reviews-review-form").show();
});
jQuery(".cr-review-tags-filter span.cr-tags-filter").on("click", function (e){
e.preventDefault();
if(jQuery(this).hasClass("cr-tag-selected")){
jQuery(this).removeClass("cr-tag-selected");
}else{
jQuery(this).addClass("cr-tag-selected");
}
if(jQuery(this).parents(".cr-all-reviews-shortcode").length){
cr_filter_all_reviews(jQuery(this));
}else{
jQuery(this).parents(".cr-reviews-ajax-comments").attr("data-page", 0);
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-ajax-reviews-list").empty();
crShowMoreReviewsPrd(jQuery(this));
}});
jQuery(".cr-comment-image-top .cr-comment-image-top-item").on("click", function(t){
t.preventDefault();
jQuery("body").addClass("cr-noscroll");
let slide_no=jQuery(this).data("slide");
let imgParent=jQuery(this).closest(".cr-ajax-reviews-cus-images-div").parent();
imgParent.find(".cr-ajax-reviews-cus-images-modal-cont").addClass("cr-mask-active");
imgParent.find(".cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-main").slickk('setPosition');
imgParent.find(".cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-nav").slickk('setPosition');
if(typeof slide_no!=='undefined'){
imgParent.find(".cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-main").slickk('slickGoTo', slide_no, true);
imgParent.find(".cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-nav").slickk('slickGoTo', slide_no, true);
}});
jQuery(".cr-comment-image-top .cr-comment-videoicon").on("click", function(t){
jQuery(this).closest(".cr-comment-image-top").find(".cr-comment-image-top-item").trigger("click");
});
jQuery(".cr-ajax-reviews-cus-images-modal-cont, .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-close").on("click", function(t){
t.preventDefault();
let closeParent=jQuery(this).closest(".cr-ajax-reviews-cus-images-modal-cont.cr-mask-active");
closeParent.find(".cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-main").slickk('slickGoTo',0,true);
closeParent.find(".cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-nav").slickk('slickGoTo',0,true);
closeParent.removeClass("cr-mask-active");
jQuery("body").removeClass("cr-noscroll");
});
jQuery(".cr-ajax-reviews-cus-images-modal-cont .cr-ajax-reviews-cus-images-modal").on("click", function(t){
t.stopPropagation();
});
jQuery(".single_variation_wrap").on("show_variation", function(event, variation){
if(jQuery(".cr_gtin").length){
jQuery(".cr_gtin_val").text(variation._cr_gtin);
}
if(jQuery(".cr_mpn").length){
jQuery(".cr_mpn_val").text(variation._cr_mpn);
}
if(jQuery(".cr_brand").length){
jQuery(".cr_brand_val").text(variation._cr_brand);
}});
jQuery(document).on('reset_data', function (){
var cr_gtin=jQuery(".cr_gtin"),
cr_mpn=jQuery(".cr_mpn"),
cr_brand=jQuery(".cr_brand");
if(cr_gtin.length){
jQuery(".cr_gtin_val").text(cr_gtin.data("o_content"));
}
if(cr_mpn.length){
jQuery(".cr_mpn_val").text(cr_mpn.data("o_content"));
}
if(cr_brand.length){
jQuery(".cr_brand_val").text(cr_brand.data("o_content"));
}});
jQuery('.cr-all-reviews-shortcode .cr-show-more-button').on("click", function (e){
e.preventDefault();
cr_filter_all_reviews(jQuery(this), true);
});
jQuery('.cr-all-reviews-shortcode').on("click", ".cr-page-numbers-a", function (e){
e.preventDefault();
cr_filter_all_reviews(jQuery(this), true);
});
jQuery(".cr-all-reviews-shortcode").on("click", ".cr-histogram-a, .cr-seeAllReviews", function(t){
t.preventDefault();
let cr_rating=jQuery(this).data("rating");
jQuery("div.ivole-summaryBox tr.ivole-histogramRow.ivole-histogramRow-s").removeClass("ivole-histogramRow-s");
if(cr_rating > 0){
jQuery(this).closest("tr.ivole-histogramRow").addClass("ivole-histogramRow-s");
}
jQuery(this).parents(".cr-all-reviews-shortcode").find(".cr-review-tags-filter .cr-tag-selected").removeClass("cr-tag-selected");
cr_filter_all_reviews(jQuery(this));
});
jQuery(".cr-reviews-grid .cr-show-more-button").on("click", function (e){
e.preventDefault();
let $this=jQuery(this),
$spinner=$this.next(".cr-show-more-spinner"),
cr_rating=$this.parents(".cr-reviews-grid").find(".ivole-summaryBox.cr-grid-reviews-ajax tr.ivole-histogramRow.ivole-histogramRow-s .cr-histogram-a").attr("data-rating"),
attributes=$this.parents(".cr-reviews-grid").data("attributes");
attributes.comment__not_in=$this.parents(".cr-reviews-grid").find(".cr-review-card.cr-card-product").map(function(){
return jQuery(this).data("reviewid");
}).get();
attributes.comment__not_in=attributes.comment__not_in.concat($this.parents(".cr-reviews-grid").find(".cr-review-card.cr-card-shop").map(function(){
return jQuery(this).data("reviewid");
}).get());
var grid_data={
'action': "ivole_show_more_grid_reviews",
'rating': cr_rating,
'attributes': attributes
};
$this.hide();
$spinner.show();
jQuery.post(cr_ajax_object.ajax_url, grid_data, function(response){
$spinner.hide();
$reviews=jQuery(response.html).find(".cr-review-card");
let showMoreBtn=jQuery(response.html).find(".cr-show-more-button");
if($reviews.length){
$this.parents(".cr-reviews-grid").find(".cr-reviews-grid-inner").colcade("append", $reviews);
if(showMoreBtn.length){
$this.text(showMoreBtn.text());
$this.show();
}else{
$this.hide();
}}else{
$this.hide();
}}).fail(function(response){
$spinner.hide();
$this.show();
$this.parent().append('<div style="color:#cd2653;text-align:center;display:block;">'+response.responseText+'</div>');
});
});
jQuery(".cr-reviews-grid .cr-summaryBox-wrap").on("click", ".cr-histogram-a, .cr-seeAllReviews", function(e){
e.preventDefault();
let $this=jQuery(this),
$grid=$this.parents(".cr-reviews-grid"),
$spinner=$grid.find(".cr-show-more-spinner"),
cr_rating=$this.attr("data-rating"),
attributes=$grid.data("attributes");
attributes.show_more=attributes.count + attributes.count_shop_reviews;
attributes.comment__not_in=[];
if(!cr_rating) cr_rating=0;
var grid_data={
'action': "ivole_show_more_grid_reviews",
'rating': cr_rating,
'attributes': attributes
};
$grid.find("div.ivole-summaryBox tr.ivole-histogramRow.ivole-histogramRow-s").removeClass("ivole-histogramRow-s");
if(cr_rating > 0){
$this.closest("tr.ivole-histogramRow").addClass("ivole-histogramRow-s");
}
$grid.find(".cr-reviews-grid-inner").hide();
$grid.find(".cr-show-more-button").hide();
$spinner.show();
$grid.find("div.ivole-summaryBox").addClass("cr-summaryBar-updating");
jQuery.post(cr_ajax_object.ajax_url, grid_data, function(response){
$spinner.hide();
$grid.find(".cr-show-more-button").show();
$grid.find(".cr-summaryBox-wrap .cr-count-filtered-reviews").empty();
$reviews=jQuery(response.html).find(".cr-review-card");
if($reviews.length){
$grid.find(".cr-reviews-grid-inner").colcade("empty");
$grid.find(".cr-reviews-grid-inner").show();
$grid.find(".cr-reviews-grid-inner").colcade("append", $reviews);
$grid.find("div.ivole-summaryBox").removeClass("cr-summaryBar-updating");
$grid.find(".cr-summaryBox-wrap .cr-count-filtered-reviews").append(jQuery(response.html).find(".cr-count-filtered-reviews").html());
}}).fail(function(response){
$spinner.hide();
$this.parent().append('<div style="color: #cd2653;text-align: center;display: block;">'+response.responseText+'</div>');
});
});
jQuery('#cr_floatingtrustbadge').on("click", function(){
if(!jQuery(this).hasClass('cr-floatingbadge-big') ){
jQuery(this).find('div.cr-badge.badge_size_compact').hide();
jQuery(this).find('div.cr-badge.badge--wide-mobile').css('display', 'block');
jQuery(this).find('div.cr-floatingbadge-close').css('display', 'block');
jQuery(this).addClass('cr-floatingbadge-big');
var crcolors=jQuery(this).data('crcolors');
if(typeof crcolors!=='undefined'){
jQuery(this).css('border-color', crcolors['big']['border']);
jQuery(this).find('div.cr-floatingbadge-background-top').css('background-color', crcolors['big']['top']);
jQuery(this).find('div.cr-floatingbadge-background-middle').css('background-color', crcolors['big']['middle']);
jQuery(this).find('div.cr-floatingbadge-background-bottom').css('background-color', crcolors['big']['bottom']);
jQuery(this).find('div.cr-floatingbadge-background-bottom').css('border-color', crcolors['big']['border']);
}}
});
jQuery('#cr_floatingtrustbadge .cr-floatingbadge-close').on("click", function(event){
if(jQuery('#cr_floatingtrustbadge').hasClass('cr-floatingbadge-big') ){
jQuery(this).closest('#cr_floatingtrustbadge').find('div.cr-badge.badge--wide-mobile').hide();
jQuery(this).closest('#cr_floatingtrustbadge').find('div.cr-badge.badge_size_compact').css('display', 'block');
jQuery(this).closest('#cr_floatingtrustbadge').removeClass('cr-floatingbadge-big');
var crcolors=jQuery(this).closest('#cr_floatingtrustbadge').data('crcolors');
if(typeof crcolors!=='undefined'){
jQuery(this).closest('#cr_floatingtrustbadge').css('border-color', crcolors['small']['border']);
jQuery(this).closest('#cr_floatingtrustbadge').find('div.cr-floatingbadge-background-top').css('background-color', crcolors['small']['top']);
jQuery(this).closest('#cr_floatingtrustbadge').find('div.cr-floatingbadge-background-middle').css('background-color', crcolors['small']['middle']);
jQuery(this).closest('#cr_floatingtrustbadge').find('div.cr-floatingbadge-background-bottom').css('background-color', crcolors['small']['bottom']);
jQuery(this).closest('#cr_floatingtrustbadge').find('div.cr-floatingbadge-background-bottom').css('border-color', crcolors['small']['border']);
}}else{
jQuery('#cr_floatingtrustbadge').hide();
document.cookie='cr_hide_trustbadge=true; path=/; max-age='+60*60*24+';';
}
event.stopPropagation();
});
jQuery('.cr-reviews-slider').on('click', '.cr-slider-read-more a', function (e){
e.preventDefault();
let parent=jQuery(this).parents(".review-text");
parent.find(".cr-slider-read-more").hide();
parent.find(".cr-slider-details").css("display", "inline");
jQuery(this).parents(".cr-reviews-slider").slickk('setPosition');
});
jQuery('.cr-reviews-slider').on('click', '.cr-slider-read-less a', function (e){
e.preventDefault();
let parent=jQuery(this).parents(".review-text");
parent.find(".cr-slider-details").hide();
parent.find(".cr-slider-read-more").css("display", "inline");
jQuery(this).parents(".cr-reviews-slider").slickk('setPosition');
});
jQuery('.cr-reviews-grid').on('click', '.cr-grid-read-more a', function (e){
e.preventDefault();
let parent=jQuery(this).parents(".review-content");
if(0===parent.length){
parent=jQuery(this).parents(".cr-grid-reply-content");
}
parent.find(".cr-grid-read-more").hide();
parent.find(".cr-grid-details").css("display", "inline");
});
jQuery('.cr-reviews-grid').on('click', '.cr-grid-read-less a', function (e){
e.preventDefault();
let parent=jQuery(this).parents(".review-content");
if(0===parent.length){
parent=jQuery(this).parents(".cr-grid-reply-content");
}
parent.find(".cr-grid-details").hide();
parent.find(".cr-grid-read-more").css("display", "inline");
});
jQuery('.cr-qna-block .cr-qna-search-block .cr-qna-ask-button').on('click', function (e){
e.preventDefault();
jQuery(this).closest('.cr-qna-block').addClass('cr-qna-new-q-form-open');
});
jQuery(".cr-qna-block .cr-qna-list-block").on("click", ".cr-qna-ans-button", function (e){
e.preventDefault();
let nameField=jQuery(this).closest('.cr-qna-block').find(".cr-qna-new-q-form .cr-review-form-name");
let nameValue=nameField.find(".cr-review-form-txt").data("defval");
jQuery(this).closest('.cr-qna-list-q-b').find(".cr-qna-list-inl-answ .cr-review-form-name .cr-review-form-txt").val(nameValue);
let emailField=jQuery(this).closest('.cr-qna-block').find(".cr-qna-new-q-form .cr-review-form-email");
let emailValue=emailField.find(".cr-review-form-txt").data("defval");
jQuery(this).closest('.cr-qna-list-q-b').find(".cr-qna-list-inl-answ .cr-review-form-email .cr-review-form-txt").val(emailValue);
jQuery(this).closest('.cr-qna-list-q-b').addClass('cr-qna-ans-form-open');
});
jQuery(".cr-qna-block").on("click", ".cr-show-more-que", function(t){
t.preventDefault();
let qna_block=jQuery(this).parents(".cr-qna-block").eq(0);
let cr_product_id=jQuery(this).attr("data-product");
let cr_page=jQuery(this).attr("data-page");
let cr_attributes=qna_block.data("attributes");
let cr_search=qna_block.find(".cr-ajax-qna-search input").val();
let cr_permalink=jQuery(this).attr("data-permalink");
let cr_data={
"action": "cr_show_more_qna",
"productID": cr_product_id,
"page": cr_page,
"permalink": cr_permalink,
"search": cr_search,
"cr_attributes": cr_attributes
};
qna_block.find(".cr-search-no-qna").hide();
jQuery(this).hide();
qna_block.find("#cr-show-more-q-spinner").show();
jQuery.post(cr_ajax_object.ajax_url, cr_data, function(response){
jQuery(".cr-qna-block #cr-show-more-q-spinner").hide();
if(response.page >=0){
jQuery(".cr-qna-block .cr-qna-list-block .cr-qna-list-block-inner").append(response.html);
jQuery(".cr-qna-block #cr-show-more-q-id").attr("data-page",response.page);
if(!response.last_page){
jQuery(".cr-qna-block #cr-show-more-q-id").show();
}}
if(response.html===""&&response.page===0){
jQuery(".cr-qna-block .cr-search-no-qna").show();
}}, "json");
});
jQuery(".cr-qna-block .cr-ajax-qna-search input").on("keyup", cr_keyup_delay(function(e){
var code=(e.keyCode||e.which);
if(code==37||code==38||code==39||code==40){
return;
}
jQuery(".cr-qna-block #cr-show-more-q-id").attr("data-page", -1);
jQuery(".cr-qna-block .cr-qna-list-block .cr-qna-list-block-inner").empty();
jQuery(".cr-qna-block #cr-show-more-q-id").trigger("click");
}, 500));
jQuery(".cr-qna-block .cr-ajax-qna-search input").on("keyup", function(e){
if(jQuery(this).val()!==""){
jQuery(".cr-qna-block .cr-ajax-qna-search .cr-clear-input").css("display", "inline-block");
}else{
if(jQuery(this).val()==="") jQuery(".cr-qna-block .cr-ajax-qna-search .cr-clear-input").hide();
}}).on("change", function(){
if(jQuery(this).val()==="") jQuery(".cr-qna-block .cr-ajax-qna-search .cr-clear-input").hide();
});
jQuery(".cr-qna-block .cr-ajax-qna-search .cr-clear-input").on("click", function (){
jQuery(this).prev("input").val("");
jQuery(".cr-qna-block .cr-ajax-qna-search .cr-clear-input").hide();
jQuery(".cr-qna-block #cr-show-more-q-id").attr("data-page", -1);
jQuery(".cr-qna-block .cr-qna-list-block .cr-qna-list-block-inner").empty();
jQuery(".cr-qna-block #cr-show-more-q-id").trigger("click");
});
jQuery("body").on("click", "a.cr-qna-link", function (){
const cr_qna_tab=jQuery('.cr_qna_tab a');
if(cr_qna_tab.length){
cr_qna_tab.trigger("click");
}else{
jQuery('.cr-qna-block').parents(':hidden').show();
}
return true;
});
jQuery("body").on("click", ".cr-review-link", function (){
const wc_reviews_tab=jQuery('.reviews_tab a');
if(wc_reviews_tab.length){
wc_reviews_tab.trigger("click");
return true;
}});
jQuery("#cr_review_image").on("change", function (){
jQuery(".cr-upload-images-status").removeClass("cr-upload-images-status-error");
jQuery(".cr-upload-images-status").text(cr_ajax_object.cr_upload_initial);
let allowedTypes=['image/jpeg', 'image/png', 'image/jpg', 'image/gif', 'video/mp4', 'video/mpeg', 'video/ogg', 'video/webm', 'video/quicktime', 'video/x-msvideo'];
let uploadFiles=jQuery("#cr_review_image");
let countFiles=uploadFiles[0].files.length;
let countUploaded=jQuery(".cr-upload-images-preview .cr-upload-images-containers").length;
let lastIndex=1;
let cr_captcha="";
if(jQuery(this).attr("data-lastindex")){
lastIndex=parseInt(jQuery(this).attr("data-lastindex"));
}
if(countFiles + countUploaded > cr_ajax_object.cr_images_upload_limit){
jQuery(".cr-upload-images-status").addClass("cr-upload-images-status-error");
jQuery(".cr-upload-images-status").text(cr_ajax_object.cr_upload_error_too_many);
jQuery(".cr-upload-images-preview .cr-upload-images-containers").not(".cr-upload-ok").remove();
uploadFiles.val("");
return;
}
for(let i=0; i < countFiles; i++){
if(!allowedTypes.includes(uploadFiles[0].files[i].type)){
jQuery(".cr-upload-images-status").addClass("cr-upload-images-status-error");
jQuery(".cr-upload-images-status").text(cr_ajax_object.cr_upload_error_file_type);
jQuery(".cr-upload-images-preview .cr-upload-images-containers").not(".cr-upload-ok").remove();
uploadFiles.val("");
return;
}else if(uploadFiles[0].files[i].size&&uploadFiles[0].files[i].size > cr_ajax_object.cr_images_upload_max_size){
jQuery(".cr-upload-images-status").addClass("cr-upload-images-status-error");
jQuery(".cr-upload-images-status").text(cr_ajax_object.cr_upload_error_file_size);
jQuery(".cr-upload-images-preview .cr-upload-images-containers").not(".cr-upload-ok").remove();
uploadFiles.val("");
return;
}else{
let container=jQuery("<div/>", {class:"cr-upload-images-containers cr-upload-images-container-" + (lastIndex + i)});
let progressBar=jQuery("<div/>", {class:"cr-upload-images-pbar"});
progressBar.append(jQuery("<div/>", {class:"cr-upload-images-pbarin"})
);
if(-1===uploadFiles[0].files[i].type.indexOf('image') ){
container.append(jQuery("<svg class='cr-upload-video-thumbnail' viewBox='0 0 576 512'><path d='M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z'></path></svg>")
);
}else{
container.append(jQuery("<img>", {class:"cr-upload-images-thumbnail",src:URL.createObjectURL(uploadFiles[0].files[i])})
);
}
container.append(progressBar
);
let removeButton=jQuery("<button/>", {class:"cr-upload-images-delete"});
removeButton.append('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><rect x="0" fill="none" width="20" height="20"/><g><path class="cr-no-icon" d="M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z"/></g></svg>'
);
container.append(removeButton
);
container.append(jQuery("<input>", {name:"cr-upload-images-ids[]",type:"hidden",value:""})
);
container.append(jQuery("<span/>", {class:"cr-upload-images-delete-spinner"})
);
jQuery(".cr-upload-images-preview").append(container);
}}
for(let i=0; i < countFiles; i++){
let formData=new FormData();
formData.append("action", "cr_upload_local_images_frontend");
formData.append("cr_nonce", jQuery(this).attr("data-nonce"));
formData.append("cr_postid", jQuery(this).attr("data-postid"));
formData.append("cr_file", uploadFiles[0].files[i]);
if(typeof grecaptcha!=="undefined"&&cr_ajax_object.ivole_recaptcha==='1'){
cr_captcha=grecaptcha.getResponse();
grecaptcha.reset();
}
formData.append("cr_captcha", cr_captcha);
jQuery.ajax({
url: cr_ajax_object.ajax_url,
data: formData,
processData: false,
contentType: false,
dataType: "json",
type: "POST",
beforeSend: function(){
},
xhr: function(){
var myXhr=jQuery.ajaxSettings.xhr();
if(myXhr.upload){
myXhr.upload.addEventListener('progress', function(e){
if(e.lengthComputable){
let perc=(e.loaded / e.total) * 100;
perc=perc.toFixed(0);
jQuery(".cr-upload-images-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i) + " .cr-upload-images-pbar .cr-upload-images-pbarin").width(perc + "%");
}}, false);
}
return myXhr;
},
success: function(response){
if(200===response["code"]){
let idkey=JSON.stringify({ id: response["attachment"]["id"], key: response["attachment"]["key"] });
jQuery(".cr-upload-images-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i) + " input").val(idkey);
jQuery(".cr-upload-images-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i)).addClass("cr-upload-ok");
jQuery(".cr-upload-images-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i) + " button").attr("data-delnonce",response["attachment"]["nonce"]);
}else if(500 <=response["code"]){
jQuery(".cr-upload-images-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i)).remove();
jQuery(".cr-upload-images-status").addClass("cr-upload-images-status-error");
jQuery(".cr-upload-images-status").text(response["message"]);
}}
});
}
jQuery(this).attr("data-lastindex", lastIndex + countFiles);
uploadFiles.val("");
});
jQuery(".cr-upload-images-preview").on("click", ".cr-upload-images-delete", function (e){
e.preventDefault();
jQuery(".cr-upload-images-status").removeClass("cr-upload-images-status-error");
jQuery(".cr-upload-images-status").text(cr_ajax_object.cr_upload_initial);
let classList=jQuery(this).parent().eq(0).attr("class").split(/\s+/);
let classes="";
jQuery.each(classList, function(index, item){
classes +="." + item;
});
let ajaxData={
"action": "cr_delete_local_images_frontend",
"cr_nonce": jQuery(this).attr("data-delnonce"),
"image": jQuery(this).parent().children("input").eq(0).val(),
"class": classes
}
jQuery(this).parent().addClass("cr-upload-delete-pending");
jQuery.post(cr_ajax_object.ajax_url, ajaxData, function(response){
if(200===response["code"]&&response["class"]){
jQuery(".cr-upload-images-preview " + response["class"]).remove();
}
jQuery(".cr-upload-images-preview " + response["class"]).removeClass("cr-upload-delete-pending");
}, "json");
});
jQuery(".cr-review-form-rating .cr-review-form-rating-inner").on("mouseenter",
function(){
let rating=parseInt(jQuery(this).data("rating") );
let ratingActv=parseInt(jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-actv").data("rating") );
if(isNaN(ratingActv) ){
ratingActv=0;
}
for(r=1; r < 6; r++){
if(r > rating&&r > ratingActv){
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-act").hide();
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-deact").show();
}else{
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-deact").hide();
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-act").show();
}}
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-nbr").text(rating + "/5");
}
).on("mouseleave",
function(){
let ratingActv=parseInt(jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-actv").data("rating") );
if(isNaN(ratingActv) ){
ratingActv=0;
}
for(r=1; r < 6; r++){
if(r > ratingActv){
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-act").hide();
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-deact").show();
}else{
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-deact").hide();
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-act").show();
}}
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-nbr").text(ratingActv + "/5");
}
);
jQuery(".cr-review-form-rating .cr-review-form-rating-inner").on("click", function(e){
e.preventDefault();
let rating=parseInt(jQuery(this).data("rating") );
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner").removeClass("cr-review-form-rating-actv");
jQuery(this).addClass("cr-review-form-rating-actv");
for(r=1; r < 6; r++){
if(r > rating){
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-act").hide();
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-deact").show();
}else{
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-deact").hide();
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-inner[data-rating=" + r + "] .cr-rating-act").show();
}}
jQuery(this).closest(".cr-review-form-rating-cont").find(".cr-review-form-rating-nbr").text(rating + "/5");
jQuery(this).closest(".cr-review-form-rating").find(".cr-review-form-rating-inp").val(rating);
jQuery(this).closest(".cr-review-form-rating").removeClass("cr-review-form-error");
});
jQuery(".cr-all-reviews-shortcode .cr-nav-left svg, .cr-all-reviews-shortcode .cr-nav-right svg, .cr-all-reviews-shortcode .cr-review-form-cancel").on("click", function(e){
jQuery(this).closest(".cr-all-reviews-shortcode").removeClass("cr-all-reviews-new-review");
jQuery(this).closest(".cr-review-form-wrap").removeClass("cr-review-form-res");
cr_reset_review_form(jQuery(this) );
});
jQuery(".cr-all-reviews-shortcode .cr-review-form-wrap").on("click", ".cr-review-form-success", function(e){
jQuery(this).closest(".cr-all-reviews-shortcode").removeClass("cr-all-reviews-new-review");
jQuery(this).closest(".cr-review-form-wrap").removeClass("cr-review-form-res");
cr_reset_review_form(jQuery(this) );
window.location.reload();
});
jQuery(".cr-review-form-wrap").on("click", ".cr-review-form-error", function(e){
jQuery(this).closest(".cr-review-form-wrap").removeClass("cr-review-form-res");
});
jQuery(".cr-ajax-reviews-review-form .cr-nav-left svg, .cr-ajax-reviews-review-form .cr-nav-right svg, .cr-ajax-reviews-review-form .cr-review-form-cancel").on("click", function(e){
jQuery(this).closest(".cr-reviews-ajax-reviews").find(".cr-reviews-ajax-comments").show();
jQuery(this).closest(".cr-reviews-ajax-reviews").find(".cr-ajax-reviews-review-form").hide();
jQuery(this).closest(".cr-review-form-wrap").removeClass("cr-review-form-res");
cr_reset_review_form(jQuery(this) );
});
jQuery(".cr-ajax-reviews-review-form .cr-review-form-wrap").on("click", ".cr-review-form-success", function(e){
jQuery(this).closest(".cr-reviews-ajax-reviews").find(".cr-reviews-ajax-comments").show();
jQuery(this).closest(".cr-reviews-ajax-reviews").find(".cr-ajax-reviews-review-form").hide();
jQuery(this).closest(".cr-review-form-wrap").removeClass("cr-review-form-res");
cr_reset_review_form(jQuery(this) );
if(window.location.hash!=='#reviews'){
window.location.href=window.location.pathname + '#reviews';
}
window.location.reload();
});
jQuery(".cr-reviews-grid .cr-nav-left svg, .cr-reviews-grid .cr-nav-right svg, .cr-reviews-grid .cr-review-form-cancel").on("click", function(e){
jQuery(this).closest(".cr-reviews-grid").removeClass("cr-reviews-grid-new-review");
jQuery(this).closest(".cr-review-form-wrap").removeClass("cr-review-form-res");
cr_reset_review_form(jQuery(this) );
});
jQuery(".cr-reviews-grid .cr-review-form-wrap").on("click", ".cr-review-form-success", function(e){
jQuery(this).closest(".cr-reviews-grid").removeClass("cr-reviews-grid-new-review");
jQuery(this).closest(".cr-review-form-wrap").removeClass("cr-review-form-res");
cr_reset_review_form(jQuery(this) );
window.location.reload();
});
jQuery(".cr-qna-block").on("click", ".cr-qna-new-q-form .cr-nav-left svg, .cr-qna-new-q-form .cr-nav-right svg, .cr-qna-new-q-form .cr-review-form-cancel", function(e){
jQuery(this).closest(".cr-qna-block").removeClass("cr-qna-new-q-form-open");
jQuery(this).closest(".cr-qna-new-q-form").removeClass("cr-review-form-res");
cr_reset_qna_form(jQuery(this) );
});
jQuery(".cr-qna-block").on("click", ".cr-qna-new-q-form .cr-review-form-success", function(e){
jQuery(this).closest(".cr-qna-block").removeClass("cr-qna-new-q-form-open");
jQuery(this).closest(".cr-qna-new-q-form").removeClass("cr-review-form-res");
cr_reset_qna_form(jQuery(this) );
});
jQuery(".cr-qna-block").on("click", ".cr-qna-new-q-form .cr-review-form-error", function(e){
jQuery(this).closest(".cr-qna-new-q-form").removeClass("cr-review-form-res");
});
jQuery(".cr-qna-block").on("click", ".cr-qna-list-inl-answ .cr-nav-left svg, .cr-qna-list-inl-answ .cr-nav-right svg, .cr-qna-list-inl-answ .cr-review-form-cancel", function(e){
jQuery(this).closest(".cr-qna-list-q-b").removeClass("cr-qna-ans-form-open");
jQuery(this).closest(".cr-qna-list-inl-answ").removeClass("cr-review-form-res");
cr_reset_ans_form(jQuery(this) );
});
jQuery(".cr-qna-block").on("click", ".cr-qna-list-inl-answ .cr-review-form-success", function(e){
jQuery(this).closest(".cr-qna-list-q-b").removeClass("cr-qna-ans-form-open");
jQuery(this).closest(".cr-qna-list-inl-answ").removeClass("cr-review-form-res");
cr_reset_ans_form(jQuery(this) );
});
jQuery(".cr-qna-block").on("click", ".cr-qna-list-inl-answ .cr-review-form-error", function(e){
jQuery(this).closest(".cr-qna-list-inl-answ").removeClass("cr-review-form-res");
});
jQuery(".cr-review-form-wrap .cr-review-form-submit").on("click", function(e){
if(0 < jQuery(this).closest(".cr-review-form-wrap").find(".cr-form-item-media-preview .cr-upload-images-containers:not(.cr-upload-ok)").length){
return false;
}
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-rating").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-comment").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-name").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-email").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-onsite-question").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-form-item-media").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-captcha").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-terms").removeClass("cr-review-form-error");
if(cr_validate_review_form(jQuery(this) )){
let onsiteQuestions={};
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-rating input[type='hidden']").each(function(){
onsiteQuestions[jQuery(this).attr('name')]=jQuery(this).val();
}
)
jQuery(this).closest(".cr-review-form-wrap").find(".cr-onsite-question input").each(function(){
onsiteQuestions[jQuery(this).attr('name')]=jQuery(this).val();
}
)
let captchaResponse='';
if(0 < jQuery(this).closest(".cr-review-form-wrap").find('.cr-review-form-captcha .cr-recaptcha').length){
if(grecaptcha){
captchaResponse=grecaptcha.getResponse();
}}
let cr_data={
"action": "cr_submit_review",
"rating": jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-rating-overall .cr-review-form-rating-inp").val(),
"review": jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-comment-txt").val().trim(),
"name": jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-name .cr-review-form-txt").val().trim(),
"id": jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-item-id").val(),
"email": jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-email .cr-review-form-txt").val().trim(),
"onsiteQuestions": onsiteQuestions,
"cr-upload-images-ids": jQuery(this).closest(".cr-review-form-wrap").find(".cr-form-item-media .cr-upload-images-containers input").map(function(){
return jQuery(this).val();
}).get(),
'g-recaptcha-response': captchaResponse
};
jQuery(this).closest(".cr-review-form-wrap").addClass("cr-review-form-submitting");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-continue").removeClass("cr-review-form-success");
jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-continue").removeClass("cr-review-form-error");
jQuery.post({
url: cr_ajax_object.ajax_url,
data: cr_data,
context: jQuery(this),
success: function(response){
if(! Object.hasOwn(response, 'button') ){
response.button='OK';
}
if(! Object.hasOwn(response, 'description') ){
response.description='An unexpected error that could be caused by a third-party plugin';
}
this.closest(".cr-review-form-wrap").removeClass("cr-review-form-submitting");
this.closest(".cr-review-form-wrap").addClass("cr-review-form-res");
this.closest(".cr-review-form-wrap").find(".cr-review-form-result span").html(response.description);
this.closest(".cr-review-form-wrap").find(".cr-review-form-continue").html(response.button);
if(0===response.code){
this.closest(".cr-review-form-wrap").find(".cr-review-form-continue").addClass("cr-review-form-success");
}else{
this.closest(".cr-review-form-wrap").find(".cr-review-form-continue").addClass("cr-review-form-error");
}},
dataType: "json"
}
);
};});
jQuery(".cr-qna-block .cr-qna-new-q-form").on("click", ".cr-review-form-submit", function(e){
jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-comment").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-name").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-email").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-terms").removeClass("cr-review-form-error");
if(cr_validate_qna(jQuery(this) )){
let cr_data={
"action": "cr_new_qna",
"crNonce": jQuery(this).closest(".cr-qna-block").data("nonce"),
"currentPostID": jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-item-id").val(),
"text": jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-comment-txt").val().trim(),
"name": jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-name .cr-review-form-txt").val().trim(),
"email": jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-email .cr-review-form-txt").val().trim()
};
jQuery(this).closest(".cr-qna-new-q-form").addClass("cr-review-form-submitting");
jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-continue").removeClass("cr-review-form-success");
jQuery(this).closest(".cr-qna-new-q-form").find(".cr-review-form-continue").removeClass("cr-review-form-error");
const postQuestion=(token, data, ref)=> {
data.cptcha=token;
jQuery.post({
url: cr_ajax_object.ajax_url,
data: data,
context: jQuery(ref),
success: function(response){
this.closest(".cr-qna-new-q-form").removeClass("cr-review-form-submitting");
this.closest(".cr-qna-new-q-form").addClass("cr-review-form-res");
this.closest(".cr-qna-new-q-form").find(".cr-review-form-result span").html(response.description);
this.closest(".cr-qna-new-q-form").find(".cr-review-form-continue").html(response.button);
if(0===response.code){
this.closest(".cr-qna-new-q-form").find(".cr-review-form-continue").addClass("cr-review-form-success");
}else{
this.closest(".cr-qna-new-q-form").find(".cr-review-form-continue").addClass("cr-review-form-error");
}},
dataType: "json"
}
);
};
let cr_cptcha=jQuery(this).attr("data-crcptcha");
var rf=this;
if(cr_cptcha&&cr_cptcha.length > 0){
grecaptcha.ready(function(){
grecaptcha.execute(cr_cptcha, {action: 'submit'}).then(function(token){
postQuestion(token, cr_data, rf)
});
});
}else{
postQuestion('', cr_data, rf);
}};});
jQuery(".cr-qna-block").on("click", ".cr-qna-list-inl-answ .cr-review-form-submit", function(e){
jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-comment").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-name").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-email").removeClass("cr-review-form-error");
jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-terms").removeClass("cr-review-form-error");
if(cr_validate_ans(jQuery(this) )){
let cr_data={
"action": "cr_new_qna",
"crNonce": jQuery(this).closest(".cr-qna-block").data("nonce"),
"currentPostID": jQuery(this).closest(".cr-qna-block").find(".cr-review-form-item-id").val(),
"questionID": jQuery(this).closest(".cr-qna-list-q-b").data("question"),
"productID": jQuery(this).closest(".cr-qna-list-q-b").data("post"),
"text": jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-comment-txt").val().trim(),
"name": jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-name .cr-review-form-txt").val().trim(),
"email": jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-email .cr-review-form-txt").val().trim()
};
jQuery(this).closest(".cr-qna-list-inl-answ").addClass("cr-review-form-submitting");
jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-continue").removeClass("cr-review-form-success");
jQuery(this).closest(".cr-qna-list-inl-answ").find(".cr-review-form-continue").removeClass("cr-review-form-error");
const postQuestion=(token, data, ref)=> {
data.cptcha=token;
jQuery.post({
url: cr_ajax_object.ajax_url,
data: data,
context: jQuery(ref),
success: function(response){
this.closest(".cr-qna-list-inl-answ").removeClass("cr-review-form-submitting");
this.closest(".cr-qna-list-inl-answ").addClass("cr-review-form-res");
this.closest(".cr-qna-list-inl-answ").find(".cr-review-form-result span").html(response.description);
this.closest(".cr-qna-list-inl-answ").find(".cr-review-form-continue").html(response.button);
if(0===response.code){
this.closest(".cr-qna-list-inl-answ").find(".cr-review-form-continue").addClass("cr-review-form-success");
}else{
this.closest(".cr-qna-list-inl-answ").find(".cr-review-form-continue").addClass("cr-review-form-error");
}},
dataType: "json"
}
);
};
let cr_cptcha=jQuery(this).attr("data-crcptcha");
var rf=this;
if(cr_cptcha&&cr_cptcha.length > 0&&grecaptcha){
grecaptcha.ready(function(){
grecaptcha.execute(cr_cptcha, {action: 'submit'}).then(function(token){
postQuestion(token, cr_data, rf)
});
});
}else{
postQuestion('', cr_data, rf);
}};});
jQuery(".cr-single-product-review").on("click", ".cr-single-product-rev-submit", function(t){
let validationResult=true;
let reviewForm=jQuery(this).closest(".cr-single-product-review");
reviewForm.find(".cr-review-form-rating-cont.cr-review-form-rating-req").each(function(index){
if(1 > jQuery(this).find(".cr-review-form-rating-actv").length){
jQuery(this).closest(".cr-review-form-rating").addClass("cr-review-form-error");
validationResult=false;
}});
reviewForm.find(".cr-onsite-question.cr-review-form-que-req").each(function(index){
if(1 > jQuery(this).find("input[type=text]").val().trim().length){
jQuery(this).closest(".cr-onsite-question").addClass("cr-review-form-error");
validationResult=false;
}else{
jQuery(this).closest(".cr-onsite-question").removeClass("cr-review-form-error");
}});
reviewForm.find(".cr-review-form-textbox").each(function(index){
if(1 > jQuery(this).val().trim().length){
jQuery(this).addClass("cr-review-form-error");
validationResult=false;
}else{
jQuery(this).removeClass("cr-review-form-error");
}});
if(0 < reviewForm.find('.cr-review-form-terms').length){
if(! reviewForm.find('.cr-review-form-terms .cr-review-form-checkbox').is(':checked')){
alert('Please tick the checkbox to proceed');
validationResult=false;
}}
if(! validationResult){
t.preventDefault();
}});
jQuery(".cr-all-reviews-add-review").on("click", function(t){
t.preventDefault();
if(0 < jQuery(this).closest(".cr-all-reviews-shortcode").length){
jQuery(this).closest(".cr-all-reviews-shortcode").addClass("cr-all-reviews-new-review");
}
if(0 < jQuery(this).closest(".cr-reviews-grid").length){
jQuery(this).closest(".cr-reviews-grid").addClass("cr-reviews-grid-new-review");
}});
jQuery(".cr-review-form-wrap .cr-form-item-media-none").on("click", function(t){
jQuery(this).parent().find("input.cr-form-item-media-file").trigger("click");
});
jQuery(".cr-review-form-wrap .cr-form-item-media-preview").on("click", ".cr-form-item-media-add", function(t){
jQuery(this).parents(".cr-form-item-media").find("input.cr-form-item-media-file").trigger("click");
});
jQuery(".cr-review-form-wrap .cr-form-item-media .cr-form-item-media-file").on("change", function (){
let allowedTypes=['image/jpeg', 'image/png', 'image/jpg', 'image/gif', 'video/mp4', 'video/mpeg', 'video/ogg', 'video/webm', 'video/quicktime', 'video/x-msvideo'],
uploadFiles=jQuery(this),
countFiles=uploadFiles[0].files.length,
lastIndex=1,
mediaPreview=jQuery(this).parent().find(".cr-form-item-media-preview"),
countUploaded=mediaPreview.children(".cr-upload-images-containers").length;
jQuery(this).closest(".cr-form-item-media").removeClass("cr-review-form-error");
if(jQuery(this).attr("data-lastindex")){
lastIndex=parseInt(jQuery(this).attr("data-lastindex") );
}
if(countFiles + countUploaded > cr_ajax_object.cr_images_upload_limit){
jQuery(this).closest(".cr-form-item-media").addClass("cr-review-form-error");
jQuery(this).closest(".cr-form-item-media").find(".cr-review-form-field-error").text(cr_ajax_object.cr_upload_error_too_many);
uploadFiles.val("");
return;
}
for(let i=0; i < countFiles; i++){
if(!allowedTypes.includes(uploadFiles[0].files[i].type)){
jQuery(this).closest(".cr-form-item-media").addClass("cr-review-form-error");
jQuery(this).closest(".cr-form-item-media").find(".cr-review-form-field-error").text(cr_ajax_object.cr_upload_error_file_type);
uploadFiles.val("");
return;
}else if(uploadFiles[0].files[i].size&&uploadFiles[0].files[i].size > cr_ajax_object.cr_images_upload_max_size * 100){
jQuery(this).closest(".cr-form-item-media").addClass("cr-review-form-error");
jQuery(this).closest(".cr-form-item-media").find(".cr-review-form-field-error").text(cr_ajax_object.cr_upload_error_file_size);
uploadFiles.val("");
return;
}else{
let container=jQuery("<div/>", {class:"cr-upload-images-containers cr-upload-images-container-" + (lastIndex + i)});
let progressBar=jQuery("<div/>", {class:"cr-upload-images-pbar"});
progressBar.append(jQuery("<div/>", {class:"cr-upload-images-pbarin"})
);
if(-1===uploadFiles[0].files[i].type.indexOf('image') ){
container.append(jQuery("<svg class='cr-upload-video-thumbnail' viewBox='0 0 576 512'><path d='M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z'></path></svg>")
);
}else{
container.append(jQuery("<img>", {class:"cr-upload-images-thumbnail", src:URL.createObjectURL(uploadFiles[0].files[i])})
);
}
container.append(progressBar
);
let removeButton=jQuery("<button/>", {class:"cr-upload-images-delete"});
removeButton.append('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><rect x="0" fill="none" width="20" height="20"/><g><path class="cr-no-icon" d="M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z"/></g></svg>'
);
container.append(removeButton
);
container.append(jQuery("<input>", {name:"cr-upload-images-ids[]",type:"hidden",value:""})
);
container.append(jQuery("<span/>", {class:"cr-upload-images-delete-spinner"})
);
mediaPreview.find(".cr-form-item-media-add").remove();
mediaPreview.append(container);
if(countFiles + countUploaded < cr_ajax_object.cr_images_upload_limit){
mediaPreview.append(jQuery("<div class='cr-form-item-media-add'>+</div>")
);
}}
}
if(0 < mediaPreview.children(".cr-upload-images-containers").length&&! mediaPreview.hasClass("cr-form-visible") ){
mediaPreview.parents(".cr-form-item-subcontainer").addClass("cr-form-visible");
}
for(let i=0; i < countFiles; i++){
let formData=new FormData();
formData.append("action", "cr_upload_media");
formData.append("cr_file", uploadFiles[0].files[i]);
formData.append("cr_item", jQuery(this).closest(".cr-review-form-wrap").find(".cr-review-form-item-id").val());
var currentFileInput=jQuery(this);
jQuery.ajax({
url: cr_ajax_object.ajax_url,
data: formData,
processData: false,
contentType: false,
dataType: "json",
type: "POST",
context: this,
beforeSend: function(){
},
xhr: function(){
var myXhr=jQuery.ajaxSettings.xhr();
if(myXhr.upload){
myXhr.upload.addEventListener('progress', function(e){
if(e.lengthComputable){
let perc=(e.loaded / e.total) * 100;
perc=perc.toFixed(0);
currentFileInput.parent().find(".cr-form-item-media-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i) + " .cr-upload-images-pbar .cr-upload-images-pbarin").width(perc + "%");
}}, false);
}
return myXhr;
},
success: function(response){
if(200===response["code"]){
let idkey=JSON.stringify({ "id": response["attachment"]["id"], "key": response["attachment"]["key"] });
currentFileInput.parent().find(".cr-form-item-media-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i) + " input").val(idkey);
currentFileInput.parent().find(".cr-form-item-media-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i)).addClass("cr-upload-ok");
}else if(500 <=response["code"]){
currentFileInput.parent().find(".cr-form-item-media-preview .cr-upload-images-containers.cr-upload-images-container-" + (lastIndex + i)).remove();
let mediaPreview=jQuery(this).closest(".cr-form-item-media").find(".cr-form-item-media-preview");
let countUploaded=mediaPreview.find(".cr-upload-images-containers").length;
if(0 < countUploaded){
if(0===mediaPreview.children(".cr-form-item-media-add").length){
mediaPreview.append(jQuery("<div class='cr-form-item-media-add'>+</div>")
);
}}else{
mediaPreview.removeClass("cr-form-visible");
mediaPreview.parents(".cr-form-item-subcontainer").removeClass("cr-form-visible");
}
jQuery(this).closest(".cr-form-item-media").addClass("cr-review-form-error");
jQuery(this).closest(".cr-form-item-media").find(".cr-review-form-field-error").text(response["message"]);
}}
});
}
jQuery(this).attr("data-lastindex", lastIndex + countFiles);
uploadFiles.val("");
});
jQuery(".cr-review-form-wrap .cr-form-item-media-preview").on("click", ".cr-upload-images-delete", function (e){
e.preventDefault();
let imgContainer=jQuery(this).parent(),
mediaPreview=imgContainer.parent();
let ajaxData={
"action": "cr_delete_media",
"image": jQuery(this).parent().children("input").eq(0).val()
}
imgContainer.addClass("cr-upload-delete-pending");
jQuery.post(cr_ajax_object.ajax_url, ajaxData, function(response){
imgContainer.removeClass("cr-upload-delete-pending");
if(200===response["code"]){
imgContainer.remove();
let countUploaded=mediaPreview.children(".cr-upload-images-containers").length;
if(0 < countUploaded){
if(0===mediaPreview.children(".cr-form-item-media-add").length){
mediaPreview.append(jQuery("<div class='cr-form-item-media-add'>+</div>")
);
}}else{
mediaPreview.removeClass("cr-form-visible");
mediaPreview.parents(".cr-form-item-subcontainer").removeClass("cr-form-visible");
}}
}, "json");
});
cr_maybe_download_media_frontend();
if("object"===typeof elementorFrontend&&"hooks" in elementorFrontend){
elementorFrontend.hooks.addAction("frontend/element_ready/widget", function($scope){
if(-1!==$scope.data("widget_type").indexOf("shortcode") ){
if(0 < $scope.find(".cr-reviews-grid-inner").length){
crResizeAllGridItems();
}}
});
}});
const crValidateEmail=(email)=> {
return email.match(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
);
};
function initVoteClick(sel1, sel2, action){
jQuery(sel1).on("click", sel2, function(e){
e.preventDefault();
let reviewIDhtml=jQuery(this).data("vote");
let parent=jQuery(this).parents(".cr-voting-cont-uni");
if(reviewIDhtml!=null){
let reviewID=reviewIDhtml;
let data={
"action": action,
"reviewID": reviewID,
"upvote": jQuery(this).data("upvote")
};
parent.find(".cr-voting-a").removeClass("cr-voting-active");
parent.find(".cr-voting-a").addClass("cr-voting-update");
jQuery.post(cr_ajax_object.ajax_url, data, function(response){
parent.find(".cr-voting-a").removeClass("cr-voting-update");
if(response.code===0){
if(response.votes){
parent.find(".cr-voting-upvote-count").text("(" +  response.votes.upvotes + ")");
parent.find(".cr-voting-downvote-count").text("(" +  response.votes.downvotes + ")");
}
if(0!==response.votes.current){
if(0 < response.votes.current){
parent.find(".cr-voting-upvote").addClass("cr-voting-active");
}else{
parent.find(".cr-voting-downvote").addClass("cr-voting-active");
}}
}}, "json");
}});
}
function cr_keyup_delay(fn, ms){
let timer=0;
return function(...args){
clearTimeout(timer);
timer=setTimeout(fn.bind(this, ...args), ms||0);
};}
function cr_filter_all_reviews(refElement, show_more=false){
let attributes=refElement.parents(".cr-all-reviews-shortcode").data("attributes"),
cr_rating=refElement.parents(".cr-all-reviews-shortcode").find(".ivole-summaryBox .ivole-histogramRow.ivole-histogramRow-s .cr-histogram-a").attr("data-rating"),
cr_search=refElement.parents(".cr-all-reviews-shortcode").find(".cr-ajax-search input").val(),
cr_sort=refElement.parents(".cr-all-reviews-shortcode").find(".cr-ajax-reviews-sort").children("option:selected").val();
let cr_tags=[];
refElement.parents(".cr-all-reviews-shortcode").find(".cr-review-tags-filter .cr-tags-filter.cr-tag-selected").each(function(){
cr_tags.push(jQuery(this).attr("data-crtagid"));
}
);
let cr_data={
"action": "cr_show_more_all_reviews",
"attributes": attributes,
"rating": cr_rating,
"page": 0,
"search": cr_search,
"sort": cr_sort,
"tags": cr_tags
};
if(show_more){
cr_data.page=refElement.data("page");
jQuery(".cr-search-no-reviews").hide();
jQuery('.cr-show-more-button').hide();
if(refElement.hasClass("cr-page-numbers-a") ){
refElement.closest(".cr-all-reviews-shortcode").find(".commentlist").addClass("cr-pagination-load");
refElement.closest(".cr-all-reviews-shortcode").find(".cr-all-reviews-pagination").addClass("cr-pagination-load");
}else{
refElement.closest(".cr-all-reviews-shortcode").find(".cr-show-more-review-spinner").show();
}
jQuery.post({
url: cr_ajax_object.ajax_url,
data: cr_data,
context: refElement,
success: function(response){
let shcode=jQuery(this).closest(".cr-all-reviews-shortcode");
shcode.find(".cr-show-more-review-spinner").hide();
if(response.html!==""){
if(jQuery(this).hasClass("cr-page-numbers-a") ){
shcode.find(".commentlist").find("*").not(".cr-pagination-review-spinner").remove();
shcode.find(".commentlist").prepend(response.html);
}else{
shcode.find(".commentlist").append(response.html);
}
if(! response.last_page){
shcode.find(".cr-show-more-button").text(response.show_more_label);
shcode.find(".cr-show-more-button").show();
}
shcode.find(".cr-show-more-button").data("page", response.page);
shcode.find(".cr-count-row .cr-count-row-count").html(response.count_row);
if(response.pagination!==""){
shcode.find(".cr-all-reviews-pagination").html(response.pagination);
}}else{
shcode.find(".cr-show-more-button").hide();
}
if(response.html==""&&response.page===1){
shcode.find(".cr-search-no-reviews").show();
}
shcode.find(".commentlist").removeClass("cr-pagination-load");
shcode.find(".cr-all-reviews-pagination").removeClass("cr-pagination-load");
},
dataType: "json"
}
);
}else{
refElement.closest(".cr-all-reviews-shortcode").find(".cr-search-no-reviews").hide();
refElement.closest(".cr-all-reviews-shortcode").find(".cr-show-more-button").hide();
refElement.closest(".cr-all-reviews-shortcode").find(".commentlist").hide();
refElement.closest(".cr-all-reviews-shortcode").find(".cr-show-more-review-spinner").show();
refElement.closest(".cr-all-reviews-shortcode").find(".ivole-summaryBox").addClass("cr-summaryBar-updating");
refElement.closest(".cr-all-reviews-shortcode").find(".cr-seeAllReviews").addClass("cr-seeAll-updating");
refElement.closest(".cr-all-reviews-shortcode").find(".cr-ajax-reviews-sort").addClass("cr-sort-updating");
refElement.closest(".cr-all-reviews-shortcode").find(".cr-review-tags-filter").addClass("cr-tags-updating");
refElement.closest(".cr-all-reviews-shortcode").find(".cr-all-reviews-pagination").hide();
jQuery.post({
url: cr_ajax_object.ajax_url,
data: cr_data,
context: refElement,
success: function(response){
let shcode=jQuery(this).closest(".cr-all-reviews-shortcode");
shcode.find(".cr-show-more-review-spinner").hide();
shcode.find(".ivole-summaryBox").removeClass("cr-summaryBar-updating");
shcode.find(".cr-seeAllReviews").removeClass("cr-seeAll-updating");
shcode.find(".cr-ajax-reviews-sort").removeClass("cr-sort-updating");
shcode.find(".cr-review-tags-filter").removeClass("cr-tags-updating");
if(response.html!==""){
shcode.find(".commentlist").empty();
shcode.find(".commentlist").append(response.html);
shcode.find(".commentlist").show();
shcode.find(".cr-show-more-button").data("page",response.page);
if(!response.last_page){
shcode.find(".cr-show-more-button").text(response.show_more_label);
shcode.find(".cr-show-more-button").show();
}}else{
shcode.find(".cr-search-no-reviews").show();
}
shcode.find(".cr-count-row .cr-count-row-count").html(response.count_row);
shcode.find(".cr-all-reviews-pagination").html(response.pagination);
shcode.find(".cr-all-reviews-pagination").show();
},
dataType: "json"
}
);
}}
function cr_maybe_download_media_frontend(){
jQuery(".cr-comment-image-ext,.cr-comment-video-ext").each(function(){
let ajaxData={
"action": "cr_auto_download_media_frontend",
"reviewID": jQuery(this).data("reviewid")
}
jQuery.post(cr_ajax_object.ajax_url, ajaxData, function(response){
}, "json");
return false;
});
}
function cr_validate_review_form(submitBtn){
let validationResult=true;
submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-rating-cont.cr-review-form-rating-req").each(function(index){
if(1 > jQuery(this).find(".cr-review-form-rating-actv").length){
jQuery(this).closest(".cr-review-form-rating").addClass("cr-review-form-error");
validationResult=false;
}});
if(1 > submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-comment-txt").val().trim().length){
submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-comment").addClass("cr-review-form-error");
validationResult=false;
}
if(1 > submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-name .cr-review-form-txt").val().trim().length){
submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-name").addClass("cr-review-form-error");
validationResult=false;
}
if(! crValidateEmail(submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-email .cr-review-form-txt").val().trim()) ){
submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-email").addClass("cr-review-form-error");
validationResult=false;
}
submitBtn.closest(".cr-review-form-wrap").find(".cr-onsite-question.cr-review-form-que-req").each(function(index){
if(0 < jQuery(this).find("input[type=text]").length){
if(1 > jQuery(this).find("input[type=text]").val().trim().length){
jQuery(this).closest(".cr-onsite-question").addClass("cr-review-form-error");
validationResult=false;
}else{
jQuery(this).closest(".cr-onsite-question").removeClass("cr-review-form-error");
}}
if(0 < jQuery(this).find("input[type=number]").length){
if(1 > jQuery(this).find("input[type=number]").val().trim().length){
jQuery(this).closest(".cr-onsite-question").addClass("cr-review-form-error");
validationResult=false;
}else{
jQuery(this).closest(".cr-onsite-question").removeClass("cr-review-form-error");
}}
});
if(0 < submitBtn.closest(".cr-review-form-wrap").find('.cr-review-form-terms').length){
if(! submitBtn.closest(".cr-review-form-wrap").find('.cr-review-form-terms .cr-review-form-checkbox').is(':checked')){
submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-terms").addClass("cr-review-form-error");
validationResult=false;
}}
if(0 < submitBtn.closest(".cr-review-form-wrap").find('.cr-review-form-captcha .cr-recaptcha').length){
if(grecaptcha){
let widgetId=0;
if(0 < jQuery(".cr-review-form-captcha .cr-recaptcha").length){
jQuery(".cr-review-form-captcha .cr-recaptcha").each(function(index){
if(submitBtn.closest('.cr-review-form-wrap').find('.cr-review-form-captcha .cr-recaptcha').data('crcaptchaid')===jQuery(this).data('crcaptchaid')
){
widgetId=index;
}}
);
}
let captchaCheck="";
if(0 < widgetId){
captchaCheck=grecaptcha.getResponse(widgetId);
}else{
captchaCheck=grecaptcha.getResponse();
}
if(! captchaCheck.length > 0){
submitBtn.closest(".cr-review-form-wrap").find(".cr-review-form-captcha").addClass("cr-review-form-error");
validationResult=false;
}}
}
return validationResult;
}
function cr_validate_qna(submitBtn){
let validationResult=true;
if(1 > submitBtn.closest(".cr-qna-new-q-form").find(".cr-review-form-comment-txt").val().trim().length){
submitBtn.closest(".cr-qna-new-q-form").find(".cr-review-form-comment").addClass("cr-review-form-error");
validationResult=false;
}
if(1 > submitBtn.closest(".cr-qna-new-q-form").find(".cr-review-form-name .cr-review-form-txt").val().trim().length){
submitBtn.closest(".cr-qna-new-q-form").find(".cr-review-form-name").addClass("cr-review-form-error");
validationResult=false;
}
if(! crValidateEmail(submitBtn.closest(".cr-qna-new-q-form").find(".cr-review-form-email .cr-review-form-txt").val().trim()) ){
submitBtn.closest(".cr-qna-new-q-form").find(".cr-review-form-email").addClass("cr-review-form-error");
validationResult=false;
}
if(0 < submitBtn.closest(".cr-qna-new-q-form").find('.cr-review-form-terms').length){
if(! submitBtn.closest(".cr-qna-new-q-form").find('.cr-review-form-terms .cr-review-form-checkbox').is(':checked')){
submitBtn.closest(".cr-qna-new-q-form").find(".cr-review-form-terms").addClass("cr-review-form-error");
validationResult=false;
}}
return validationResult;
}
function cr_validate_ans(submitBtn){
let validationResult=true;
if(1 > submitBtn.closest(".cr-qna-list-inl-answ").find(".cr-review-form-comment-txt").val().trim().length){
submitBtn.closest(".cr-qna-list-inl-answ").find(".cr-review-form-comment").addClass("cr-review-form-error");
validationResult=false;
}
if(1 > submitBtn.closest(".cr-qna-list-inl-answ").find(".cr-review-form-name .cr-review-form-txt").val().trim().length){
submitBtn.closest(".cr-qna-list-inl-answ").find(".cr-review-form-name").addClass("cr-review-form-error");
validationResult=false;
}
if(! crValidateEmail(submitBtn.closest(".cr-qna-list-inl-answ").find(".cr-review-form-email .cr-review-form-txt").val().trim()) ){
submitBtn.closest(".cr-qna-list-inl-answ").find(".cr-review-form-email").addClass("cr-review-form-error");
validationResult=false;
}
if(0 < submitBtn.closest(".cr-qna-list-inl-answ").find('.cr-review-form-terms').length){
if(! submitBtn.closest(".cr-qna-list-inl-answ").find('.cr-review-form-terms .cr-review-form-checkbox').is(':checked')){
submitBtn.closest(".cr-qna-list-inl-answ").find(".cr-review-form-terms").addClass("cr-review-form-error");
validationResult=false;
}}
return validationResult;
}
function cr_reset_review_form(refElement){
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-rating-cont .cr-review-form-rating-inner").removeClass("cr-review-form-rating-actv");
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-rating-cont .cr-review-form-rating-inner .cr-rating-act").hide();
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-rating-cont .cr-review-form-rating-inner .cr-rating-deact").show();
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-rating-cont .cr-review-form-rating-nbr").text("0/5");
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-rating").removeClass("cr-review-form-error");
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-comment-txt").val('');
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-comment").removeClass("cr-review-form-error");
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-name .cr-review-form-txt").val('');
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-name").removeClass("cr-review-form-error");
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-email .cr-review-form-txt").val('');
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-email").removeClass("cr-review-form-error");
refElement.closest(".cr-review-form-wrap").find(".cr-onsite-questions .cr-onsite-question").removeClass("cr-review-form-error");
refElement.closest(".cr-review-form-wrap").find(".cr-onsite-questions .cr-onsite-question input[type='text']").val('');
refElement.closest(".cr-review-form-wrap").find(".cr-onsite-questions .cr-onsite-question input[type='number']").val('');
refElement.closest(".cr-review-form-wrap").find(".cr-onsite-key-question").removeClass("cr-review-form-error");
refElement.closest(".cr-review-form-wrap").find(".cr-onsite-key-question input[type='text']").val('');
refElement.closest(".cr-review-form-wrap").find(".cr-onsite-key-question input[type='number']").val('');
refElement.closest(".cr-review-form-wrap").find(".cr-form-item-media .cr-upload-images-containers").remove();
refElement.closest(".cr-review-form-wrap").find(".cr-form-item-media .cr-form-item-media-preview").removeClass("cr-form-visible");
refElement.closest(".cr-review-form-wrap").find(".cr-form-item-media .cr-form-item-media-preview").parents(".cr-form-item-subcontainer").removeClass("cr-form-visible");
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-terms .cr-review-form-checkbox").prop('checked', false);
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-terms").removeClass("cr-review-form-error");
refElement.closest(".cr-review-form-wrap").find(".cr-review-form-captcha").removeClass("cr-review-form-error");
}
function cr_reset_qna_form(refElement){
refElement.closest(".cr-qna-new-q-form").find(".cr-review-form-comment-txt").val('');
refElement.closest(".cr-qna-new-q-form").find(".cr-review-form-comment").removeClass("cr-review-form-error");
const nameField=refElement.closest(".cr-qna-new-q-form").find(".cr-review-form-name");
nameField.find(".cr-review-form-txt").val(nameField.find(".cr-review-form-txt").data('defval'));
nameField.removeClass("cr-review-form-error");
const emailField=refElement.closest(".cr-qna-new-q-form").find(".cr-review-form-email");
emailField.find(".cr-review-form-txt").val(emailField.find(".cr-review-form-txt").data('defval'));
emailField.removeClass("cr-review-form-error");
refElement.closest(".cr-qna-new-q-form").find(".cr-review-form-terms .cr-review-form-checkbox").prop('checked', false);
refElement.closest(".cr-qna-new-q-form").find(".cr-review-form-terms").removeClass("cr-review-form-error");
}
function cr_reset_ans_form(refElement){
refElement.closest(".cr-qna-list-inl-answ").find(".cr-review-form-comment-txt").val("");
refElement.closest(".cr-qna-list-inl-answ").find(".cr-review-form-comment").removeClass("cr-review-form-error");
const nameField=refElement.closest(".cr-qna-list-inl-answ").find(".cr-review-form-name");
nameField.find(".cr-review-form-txt").val("");
nameField.removeClass("cr-review-form-error");
const emailField=refElement.closest(".cr-qna-list-inl-answ").find(".cr-review-form-email");
emailField.find(".cr-review-form-txt").val("");
emailField.removeClass("cr-review-form-error");
refElement.closest(".cr-qna-list-inl-answ").find(".cr-review-form-terms .cr-review-form-checkbox").prop('checked', false);
refElement.closest(".cr-qna-list-inl-answ").find(".cr-review-form-terms").removeClass("cr-review-form-error");
}
function crDebounce(callback, wait){
let timeout;
return (...args)=> {
clearTimeout(timeout);
if(0 < args.length&&13===args[0].keyCode){
wait=0;
}else{
wait=1000;
}
timeout=setTimeout(function (){ callback.apply(this, args); }, wait);
};}
function crShowMoreReviewsPrd(refElement){
let cr_product_id=refElement.parents(".cr-reviews-ajax-comments").find(".commentlist.cr-ajax-reviews-list").attr("data-product");
let cr_nonce=refElement.parents(".cr-reviews-ajax-comments").attr("data-nonce");
let cr_page=refElement.parents(".cr-reviews-ajax-comments").attr("data-page");
let cr_sort=refElement.parents(".cr-reviews-ajax-comments").find(".cr-ajax-reviews-sort").children("option:selected").val();
let cr_rating=refElement.parents(".cr-reviews-ajax-comments").find(".cr-summaryBox-ajax tr.ivole-histogramRow.ivole-histogramRow-s a.ivole-histogram-a").attr("data-rating");
let cr_search=refElement.parents(".cr-reviews-ajax-comments").find(".cr-ajax-search input").val();
let cr_tags=[];
refElement.parents(".cr-reviews-ajax-comments").find(".cr-review-tags-filter .cr-tags-filter.cr-tag-selected").each(function(){
cr_tags.push(jQuery(this).attr("data-crtagid"));
}
);
if(! cr_rating){
cr_rating=0;
}
let cr_data={
"action": "cr_show_more_reviews",
"productID": cr_product_id,
"page": cr_page,
"sort": cr_sort,
"rating": cr_rating,
"search": cr_search,
"tags": cr_tags,
"security": cr_nonce
};
refElement.parents(".cr-reviews-ajax-comments").find(".cr-summaryBox-ajax").addClass("cr-summaryBar-updating");
refElement.parents(".cr-reviews-ajax-comments").find(".cr-ajax-reviews-sort").addClass("cr-sort-updating");
refElement.parents(".cr-reviews-ajax-comments").find(".cr-review-tags-filter").addClass("cr-review-tags-filter-disabled");
refElement.parents(".cr-reviews-ajax-comments").find(".cr-search-no-reviews").hide();
refElement.parents(".cr-reviews-ajax-comments").find(".cr-show-more-reviews-prd").hide();
refElement.parents(".cr-reviews-ajax-comments").find(".cr-show-more-review-spinner").show();
jQuery.post({
url: cr_ajax_object.ajax_url,
data: cr_data,
context: refElement,
success: function(response){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-review-spinner").hide();
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-summaryBox-ajax").removeClass("cr-summaryBar-updating");
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-ajax-reviews-sort").removeClass("cr-sort-updating");
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-review-tags-filter").removeClass("cr-review-tags-filter-disabled");
if(response.page > 0){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".commentlist.cr-ajax-reviews-list").append(response.html);
jQuery(this).parents(".cr-reviews-ajax-comments").attr("data-page",response.page);
if(response.show_more_label){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-reviews-prd").text(response.show_more_label);
}
if(response.count_row){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-count-row .cr-count-row-count").html(response.count_row);
}
if(! response.last_page){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-show-more-reviews-prd").show();
}
cr_maybe_download_media_frontend();
}
if(response.html==null&&response.page===1){
jQuery(this).parents(".cr-reviews-ajax-comments").find(".cr-search-no-reviews").show();
}},
dataType: "json"
});
}})();
function crResizeAllGridItemsUtil(grids){
jQuery(grids).each(function(){
if(800 > jQuery(this).width()){
jQuery(this).find(".cr-reviews-grid-col3").addClass("cr-reviews-grid-col-none");
}
if(550 > jQuery(this).width()){
jQuery(this).find(".cr-reviews-grid-col2").addClass("cr-reviews-grid-col-none");
}
jQuery(this).colcade({
columns: ".cr-reviews-grid-col",
items: ".cr-review-card"
});
});
}
function crResizeAllGridItems(){
if(typeof Colcade!=="undefined" &&
typeof Colcade.makeJQueryPlugin!=="undefined" &&
typeof Colcade.makeJQueryPlugin==="function"
){
if(! typeof jQuery.fn.colcade==="function" ||
typeof jQuery.fn.colcade==="undefined"
){
Colcade.makeJQueryPlugin();
}}
crResizeAllGridItemsUtil(jQuery(".cr-reviews-grid-inner"));
}
function crResizeTrustBadges(){
jQuery(".cr-trustbadgef").each(function(){
let badge=jQuery(this).find(".cr-badge").eq(0);
let scale=jQuery(this).width() / badge.outerWidth();
if(1 > scale){
badge.css("transform", "scale(" + scale + ")");
}
badge.css("visibility", "visible");
});
};
(function(window, factory){
if(typeof define=='function'&&define.amd){
define(factory);
}else if(typeof module=='object'&&module.exports){
module.exports=factory();
}else{
window.Colcade=factory();
}}(window, function factory(){
function Colcade(element, options){
element=getQueryElement(element);
if(element&&element.colcadeGUID){
var instance=instances[ element.colcadeGUID ];
instance.option(options);
return instance;
}
this.element=element;
this.options={};
this.option(options);
this.lastAppend=[];
this.lastColumnHeights=[];
this.create();
element.classList.add('cr-colcade-loaded');
}
var proto=Colcade.prototype;
proto.option=function(options){
this.options=extend(this.options, options);
};
var GUID=0;
var instances={};
proto.create=function(){
this.errorCheck();
var guid=this.guid=++GUID;
this.element.colcadeGUID=guid;
instances[ guid ]=this;
this.reload();
this._windowResizeHandler=this.onWindowResize.bind(this);
this._loadHandler=this.onLoad.bind(this);
window.addEventListener('resize', this._windowResizeHandler);
this.element.addEventListener('load', this._loadHandler, true);
};
proto.errorCheck=function(){
var errors=[];
if(!this.element){
errors.push('Bad element: ' + this.element);
}
if(!this.options.columns){
errors.push('columns option required: ' + this.options.columns);
}
if(!this.options.items){
errors.push('items option required: ' + this.options.items);
}
if(errors.length){
throw new Error('[Colcade error] ' + errors.join('. '));
}};
proto.reload=function(){
this.updateColumns();
this.updateItems();
this.layout();
};
proto.updateColumns=function(){
this.columns=querySelect(this.options.columns, this.element);
};
proto.updateItems=function(){
this.items=querySelect(this.options.items, this.element);
};
proto.getActiveColumns=function(){
return this.columns.filter(function(column){
var style=getComputedStyle(column);
return style.display!='none';
});
};
proto.layout=function(){
this.activeColumns=this.getActiveColumns();
this._layout();
};
proto._layout=function(){
this.columnHeights=this.activeColumns.map(function(){
return 0;
});
this.layoutItems(this.items);
};
proto.layoutItems=function(items){
items.forEach(this.layoutItem, this);
};
proto.layoutItem=function(item){
var minHeight=Math.min.apply(Math, this.columnHeights);
var index=this.columnHeights.indexOf(minHeight);
this.activeColumns[ index ].appendChild(item);
this.columnHeights[ index ] +=item.offsetHeight||1;
};
proto.append=function(elems){
var items=this.getQueryItems(elems);
this.items=this.items.concat(items);
this.lastAppend.length=0;
this.lastAppend=items.slice();
this.lastColumnHeights.length=0;
this.lastColumnHeights=this.columnHeights.slice();
this.layoutItems(items);
};
proto.prepend=function(elems){
var items=this.getQueryItems(elems);
this.items=items.concat(this.items);
this._layout();
};
proto.getQueryItems=function(elems){
elems=makeArray(elems);
var fragment=document.createDocumentFragment();
elems.forEach(function(elem){
fragment.appendChild(elem);
});
return querySelect(this.options.items, fragment);
};
proto.empty=function(){
this.lastAppend.length=0;
this.lastColumnHeights.length=0;
this.items.forEach(function(item){
item.remove();
}, this);
this.items.length=0;
this._layout();
};
proto.measureColumnHeight=function(elem){
var boundingRect=this.element.getBoundingClientRect();
this.activeColumns.forEach(function(column, i){
if(!elem||column.contains(elem) ){
var lastChildRect=column.lastElementChild.getBoundingClientRect();
this.columnHeights[ i ]=lastChildRect.bottom - boundingRect.top;
}}, this);
};
proto.onWindowResize=function(){
clearTimeout(this.resizeTimeout);
this.resizeTimeout=setTimeout(function(){
this.onDebouncedResize();
}.bind(this), 100);
};
proto.onDebouncedResize=function(){
var activeColumns=this.getActiveColumns();
var isSameLength=activeColumns.length==this.activeColumns.length;
var isSameColumns=true;
this.activeColumns.forEach(function(column, i){
isSameColumns=isSameColumns&&column==activeColumns[i];
});
if(isSameLength&&isSameColumns){
return;
}
this.activeColumns=activeColumns;
this._layout();
};
proto.onLoad=function(event){
this.measureColumnHeight(event.target);
if(0 < this.lastColumnHeights.length&&0 < this.lastAppend.length){
this.columnHeights.length=0;
this.columnHeights=this.lastColumnHeights.slice();
this.layoutItems(this.lastAppend);
}};
proto.destroy=function(){
this.items.forEach(function(item){
this.element.appendChild(item);
}, this);
window.removeEventListener('resize', this._windowResizeHandler);
this.element.removeEventListener('load', this._loadHandler, true);
delete this.element.colcadeGUID;
delete instances[ this.guid ];
};
docReady(function(){
var dataElems=querySelect('[data-colcade]');
dataElems.forEach(htmlInit);
});
function htmlInit(elem){
var attr=elem.getAttribute('data-colcade');
var attrParts=attr.split(',');
var options={};
attrParts.forEach(function(part){
var pair=part.split(':');
var key=pair[0].trim();
var value=pair[1].trim();
options[ key ]=value;
});
new Colcade(elem, options);
}
Colcade.data=function(elem){
elem=getQueryElement(elem);
var id=elem&&elem.colcadeGUID;
return id&&instances[ id ];
};
Colcade.makeJQueryPlugin=function($){
$=$||window.jQuery;
if(!$){
return;
}
$.fn.colcade=function(arg0 ){
if(typeof arg0=='string'){
var args=Array.prototype.slice.call(arguments, 1);
return methodCall(this, arg0, args);
}
plainCall(this, arg0);
return this;
};
function methodCall($elems, methodName, args){
var returnValue;
$elems.each(function(i, elem){
var colcade=$.data(elem, 'colcade');
if(!colcade){
return;
}
var value=colcade[ methodName ].apply(colcade, args);
returnValue=returnValue===undefined ? value:returnValue;
});
return returnValue!==undefined ? returnValue:$elems;
}
function plainCall($elems, options){
$elems.each(function(i, elem){
var colcade=$.data(elem, 'colcade');
if(colcade){
colcade.option(options);
colcade.layout();
}else{
colcade=new Colcade(elem, options);
$.data(elem, 'colcade', colcade);
}});
}};
Colcade.makeJQueryPlugin();
function extend(a, b){
for(var prop in b){
a[ prop ]=b[ prop ];
}
return a;
}
function makeArray(obj){
var ary=[];
if(Array.isArray(obj) ){
ary=obj;
}else if(obj&&typeof obj.length=='number'){
for(var i=0; i < obj.length; i++){
ary.push(obj[i]);
}}else{
ary.push(obj);
}
return ary;
}
function querySelect(selector, elem){
elem=elem||document;
var elems=elem.querySelectorAll(selector);
return makeArray(elems);
}
function getQueryElement(elem){
if(typeof elem=='string'){
elem=document.querySelector(elem);
}
return elem;
}
function docReady(onReady){
if(document.readyState=='complete'){
onReady();
return;
}
document.addEventListener('DOMContentLoaded', onReady);
}
return Colcade;
}));
!function(r){"use strict";var t,e,n;t=[function(r,t,e){e(1),e(53),e(81),e(82),e(93),e(94),e(99),e(100),e(110),e(120),e(122),e(123),e(124),r.exports=e(125)},function(r,t,e){var n=e(2),o=e(4),a=e(48),c=ArrayBuffer.prototype;n&&!("detached"in c)&&o(c,"detached",{configurable:!0,get:function(){return a(this)}})},function(r,t,e){var n=e(3);r.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(r,t,e){r.exports=function(r){try{return!!r()}catch(r){return!0}}},function(r,t,e){var n=e(5),o=e(23);r.exports=function(r,t,e){return e.get&&n(e.get,t,{getter:!0}),e.set&&n(e.set,t,{setter:!0}),o.f(r,t,e)}},function(t,e,n){var o=n(6),a=n(3),c=n(8),i=n(9),u=n(2),s=n(13).CONFIGURABLE,f=n(14),p=n(19),l=p.enforce,y=p.get,v=String,h=Object.defineProperty,g=o("".slice),b=o("".replace),m=o([].join),d=u&&!a((function(){return 8!==h((function(){}),"length",{value:8}).length})),w=String(String).split("String"),E=t.exports=function(t,e,n){"Symbol("===g(v(e),0,7)&&(e="["+b(v(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!i(t,"name")||s&&t.name!==e)&&(u?h(t,"name",{value:e,configurable:!0}):t.name=e),d&&n&&i(n,"arity")&&t.length!==n.arity&&h(t,"length",{value:n.arity});try{n&&i(n,"constructor")&&n.constructor?u&&h(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=r)}catch(r){}var o=l(t);return i(o,"source")||(o.source=m(w,"string"==typeof e?e:"")),t};Function.prototype.toString=E((function(){return c(this)&&y(this).source||f(this)}),"toString")},function(r,t,e){var n=e(7),o=Function.prototype,a=o.call,c=n&&o.bind.bind(a,a);r.exports=n?c:function(r){return function(){return a.apply(r,arguments)}}},function(r,t,e){var n=e(3);r.exports=!n((function(){var r=function(){}.bind();return"function"!=typeof r||r.hasOwnProperty("prototype")}))},function(t,e,n){var o="object"==typeof document&&document.all;t.exports=void 0===o&&o!==r?function(r){return"function"==typeof r||r===o}:function(r){return"function"==typeof r}},function(r,t,e){var n=e(6),o=e(10),a=n({}.hasOwnProperty);r.exports=Object.hasOwn||function(r,t){return a(o(r),t)}},function(r,t,e){var n=e(11),o=Object;r.exports=function(r){return o(n(r))}},function(r,t,e){var n=e(12),o=TypeError;r.exports=function(r){if(n(r))throw new o("Can't call method on "+r);return r}},function(t,e,n){t.exports=function(t){return null===t||t===r}},function(r,t,e){var n=e(2),o=e(9),a=Function.prototype,c=n&&Object.getOwnPropertyDescriptor,i=o(a,"name"),u=i&&"something"===function(){}.name,s=i&&(!n||n&&c(a,"name").configurable);r.exports={EXISTS:i,PROPER:u,CONFIGURABLE:s}},function(r,t,e){var n=e(6),o=e(8),a=e(15),c=n(Function.toString);o(a.inspectSource)||(a.inspectSource=function(r){return c(r)}),r.exports=a.inspectSource},function(r,t,e){var n=e(16),o=e(17),a=e(18),c="__core-js_shared__",i=r.exports=o[c]||a(c,{});(i.versions||(i.versions=[])).push({version:"3.39.0",mode:n?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(r,t,e){r.exports=!1},function(r,t,e){var n=function(r){return r&&r.Math===Math&&r};r.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof global&&global)||n("object"==typeof this&&this)||function(){return this}()||Function("return this")()},function(r,t,e){var n=e(17),o=Object.defineProperty;r.exports=function(r,t){try{o(n,r,{value:t,configurable:!0,writable:!0})}catch(e){n[r]=t}return t}},function(r,t,e){var n,o,a,c=e(20),i=e(17),u=e(21),s=e(22),f=e(9),p=e(15),l=e(46),y=e(47),v="Object already initialized",h=i.TypeError,g=i.WeakMap;if(c||p.state){var b=p.state||(p.state=new g);b.get=b.get,b.has=b.has,b.set=b.set,n=function(r,t){if(b.has(r))throw new h(v);return t.facade=r,b.set(r,t),t},o=function(r){return b.get(r)||{}},a=function(r){return b.has(r)}}else{var m=l("state");y[m]=!0,n=function(r,t){if(f(r,m))throw new h(v);return t.facade=r,s(r,m,t),t},o=function(r){return f(r,m)?r[m]:{}},a=function(r){return f(r,m)}}r.exports={set:n,get:o,has:a,enforce:function(r){return a(r)?o(r):n(r,{})},getterFor:function(r){return function(t){var e;if(!u(t)||(e=o(t)).type!==r)throw new h("Incompatible receiver, "+r+" required");return e}}}},function(r,t,e){var n=e(17),o=e(8),a=n.WeakMap;r.exports=o(a)&&/native code/.test(String(a))},function(r,t,e){var n=e(8);r.exports=function(r){return"object"==typeof r?null!==r:n(r)}},function(r,t,e){var n=e(2),o=e(23),a=e(45);r.exports=n?function(r,t,e){return o.f(r,t,a(1,e))}:function(r,t,e){return r[t]=e,r}},function(r,t,e){var n=e(2),o=e(24),a=e(26),c=e(27),i=e(28),u=TypeError,s=Object.defineProperty,f=Object.getOwnPropertyDescriptor,p="enumerable",l="configurable",y="writable";t.f=n?a?function(r,t,e){if(c(r),t=i(t),c(e),"function"==typeof r&&"prototype"===t&&"value"in e&&y in e&&!e[y]){var n=f(r,t);n&&n[y]&&(r[t]=e.value,e={configurable:l in e?e[l]:n[l],enumerable:p in e?e[p]:n[p],writable:!1})}return s(r,t,e)}:s:function(r,t,e){if(c(r),t=i(t),c(e),o)try{return s(r,t,e)}catch(r){}if("get"in e||"set"in e)throw new u("Accessors not supported");return"value"in e&&(r[t]=e.value),r}},function(r,t,e){var n=e(2),o=e(3),a=e(25);r.exports=!n&&!o((function(){return 7!==Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(r,t,e){var n=e(17),o=e(21),a=n.document,c=o(a)&&o(a.createElement);r.exports=function(r){return c?a.createElement(r):{}}},function(r,t,e){var n=e(2),o=e(3);r.exports=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(r,t,e){var n=e(21),o=String,a=TypeError;r.exports=function(r){if(n(r))return r;throw new a(o(r)+" is not an object")}},function(r,t,e){var n=e(29),o=e(31);r.exports=function(r){var t=n(r,"string");return o(t)?t:t+""}},function(t,e,n){var o=n(30),a=n(21),c=n(31),i=n(38),u=n(41),s=n(42),f=TypeError,p=s("toPrimitive");t.exports=function(t,e){if(!a(t)||c(t))return t;var n,s=i(t,p);if(s){if(e===r&&(e="default"),n=o(s,t,e),!a(n)||c(n))return n;throw new f("Can't convert object to primitive value")}return e===r&&(e="number"),u(t,e)}},function(r,t,e){var n=e(7),o=Function.prototype.call;r.exports=n?o.bind(o):function(){return o.apply(o,arguments)}},function(r,t,e){var n=e(32),o=e(8),a=e(33),c=e(34),i=Object;r.exports=c?function(r){return"symbol"==typeof r}:function(r){var t=n("Symbol");return o(t)&&a(t.prototype,i(r))}},function(t,e,n){var o=n(17),a=n(8);t.exports=function(t,e){return arguments.length<2?(n=o[t],a(n)?n:r):o[t]&&o[t][e];var n}},function(r,t,e){var n=e(6);r.exports=n({}.isPrototypeOf)},function(r,t,e){var n=e(35);r.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(r,t,e){var n=e(36),o=e(3),a=e(17).String;r.exports=!!Object.getOwnPropertySymbols&&!o((function(){var r=Symbol("symbol detection");return!a(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},function(r,t,e){var n,o,a=e(17),c=e(37),i=a.process,u=a.Deno,s=i&&i.versions||u&&u.version,f=s&&s.v8;f&&(o=(n=f.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&c&&(!(n=c.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=c.match(/Chrome\/(\d+)/))&&(o=+n[1]),r.exports=o},function(r,t,e){var n=e(17).navigator,o=n&&n.userAgent;r.exports=o?String(o):""},function(t,e,n){var o=n(39),a=n(12);t.exports=function(t,e){var n=t[e];return a(n)?r:o(n)}},function(r,t,e){var n=e(8),o=e(40),a=TypeError;r.exports=function(r){if(n(r))return r;throw new a(o(r)+" is not a function")}},function(r,t,e){var n=String;r.exports=function(r){try{return n(r)}catch(r){return"Object"}}},function(r,t,e){var n=e(30),o=e(8),a=e(21),c=TypeError;r.exports=function(r,t){var e,i;if("string"===t&&o(e=r.toString)&&!a(i=n(e,r)))return i;if(o(e=r.valueOf)&&!a(i=n(e,r)))return i;if("string"!==t&&o(e=r.toString)&&!a(i=n(e,r)))return i;throw new c("Can't convert object to primitive value")}},function(r,t,e){var n=e(17),o=e(43),a=e(9),c=e(44),i=e(35),u=e(34),s=n.Symbol,f=o("wks"),p=u?s.for||s:s&&s.withoutSetter||c;r.exports=function(r){return a(f,r)||(f[r]=i&&a(s,r)?s[r]:p("Symbol."+r)),f[r]}},function(r,t,e){var n=e(15);r.exports=function(r,t){return n[r]||(n[r]=t||{})}},function(t,e,n){var o=n(6),a=0,c=Math.random(),i=o(1..toString);t.exports=function(t){return"Symbol("+(t===r?"":t)+")_"+i(++a+c,36)}},function(r,t,e){r.exports=function(r,t){return{enumerable:!(1&r),configurable:!(2&r),writable:!(4&r),value:t}}},function(r,t,e){var n=e(43),o=e(44),a=n("keys");r.exports=function(r){return a[r]||(a[r]=o(r))}},function(r,t,e){r.exports={}},function(r,t,e){var n=e(17),o=e(49),a=e(51),c=n.ArrayBuffer,i=c&&c.prototype,u=i&&o(i.slice);r.exports=function(r){if(0!==a(r))return!1;if(!u)return!1;try{return u(r,0,0),!1}catch(r){return!0}}},function(r,t,e){var n=e(50),o=e(6);r.exports=function(r){if("Function"===n(r))return o(r)}},function(r,t,e){var n=e(6),o=n({}.toString),a=n("".slice);r.exports=function(r){return a(o(r),8,-1)}},function(r,t,e){var n=e(17),o=e(52),a=e(50),c=n.ArrayBuffer,i=n.TypeError;r.exports=c&&o(c.prototype,"byteLength","get")||function(r){if("ArrayBuffer"!==a(r))throw new i("ArrayBuffer expected");return r.byteLength}},function(r,t,e){var n=e(6),o=e(39);r.exports=function(r,t,e){try{return n(o(Object.getOwnPropertyDescriptor(r,t)[e]))}catch(r){}}},function(t,e,n){var o=n(54),a=n(73);a&&o({target:"ArrayBuffer",proto:!0},{transfer:function(){return a(this,arguments.length?arguments[0]:r,!0)}})},function(t,e,n){var o=n(17),a=n(55).f,c=n(22),i=n(59),u=n(18),s=n(60),f=n(72);t.exports=function(t,e){var n,p,l,y,v,h=t.target,g=t.global,b=t.stat;if(n=g?o:b?o[h]||u(h,{}):o[h]&&o[h].prototype)for(p in e){if(y=e[p],l=t.dontCallGetSet?(v=a(n,p))&&v.value:n[p],!f(g?p:h+(b?".":"#")+p,t.forced)&&l!==r){if(typeof y==typeof l)continue;s(y,l)}(t.sham||l&&l.sham)&&c(y,"sham",!0),i(n,p,y,t)}}},function(r,t,e){var n=e(2),o=e(30),a=e(56),c=e(45),i=e(57),u=e(28),s=e(9),f=e(24),p=Object.getOwnPropertyDescriptor;t.f=n?p:function(r,t){if(r=i(r),t=u(t),f)try{return p(r,t)}catch(r){}if(s(r,t))return c(!o(a.f,r,t),r[t])}},function(r,t,e){var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,a=o&&!n.call({1:2},1);t.f=a?function(r){var t=o(this,r);return!!t&&t.enumerable}:n},function(r,t,e){var n=e(58),o=e(11);r.exports=function(r){return n(o(r))}},function(r,t,e){var n=e(6),o=e(3),a=e(50),c=Object,i=n("".split);r.exports=o((function(){return!c("z").propertyIsEnumerable(0)}))?function(r){return"String"===a(r)?i(r,""):c(r)}:c},function(t,e,n){var o=n(8),a=n(23),c=n(5),i=n(18);t.exports=function(t,e,n,u){u||(u={});var s=u.enumerable,f=u.name!==r?u.name:e;if(o(n)&&c(n,f,u),u.global)s?t[e]=n:i(e,n);else{try{u.unsafe?t[e]&&(s=!0):delete t[e]}catch(r){}s?t[e]=n:a.f(t,e,{value:n,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return t}},function(r,t,e){var n=e(9),o=e(61),a=e(55),c=e(23);r.exports=function(r,t,e){for(var i=o(t),u=c.f,s=a.f,f=0;f<i.length;f++){var p=i[f];n(r,p)||e&&n(e,p)||u(r,p,s(t,p))}}},function(r,t,e){var n=e(32),o=e(6),a=e(62),c=e(71),i=e(27),u=o([].concat);r.exports=n("Reflect","ownKeys")||function(r){var t=a.f(i(r)),e=c.f;return e?u(t,e(r)):t}},function(r,t,e){var n=e(63),o=e(70).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(r){return n(r,o)}},function(r,t,e){var n=e(6),o=e(9),a=e(57),c=e(64).indexOf,i=e(47),u=n([].push);r.exports=function(r,t){var e,n=a(r),s=0,f=[];for(e in n)!o(i,e)&&o(n,e)&&u(f,e);for(;t.length>s;)o(n,e=t[s++])&&(~c(f,e)||u(f,e));return f}},function(r,t,e){var n=e(57),o=e(65),a=e(68),c=function(r){return function(t,e,c){var i=n(t),u=a(i);if(0===u)return!r&&-1;var s,f=o(c,u);if(r&&e!=e){for(;u>f;)if((s=i[f++])!=s)return!0}else for(;u>f;f++)if((r||f in i)&&i[f]===e)return r||f||0;return!r&&-1}};r.exports={includes:c(!0),indexOf:c(!1)}},function(r,t,e){var n=e(66),o=Math.max,a=Math.min;r.exports=function(r,t){var e=n(r);return e<0?o(e+t,0):a(e,t)}},function(r,t,e){var n=e(67);r.exports=function(r){var t=+r;return t!=t||0===t?0:n(t)}},function(r,t,e){var n=Math.ceil,o=Math.floor;r.exports=Math.trunc||function(r){var t=+r;return(t>0?o:n)(t)}},function(r,t,e){var n=e(69);r.exports=function(r){return n(r.length)}},function(r,t,e){var n=e(66),o=Math.min;r.exports=function(r){var t=n(r);return t>0?o(t,9007199254740991):0}},function(r,t,e){r.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(r,t,e){t.f=Object.getOwnPropertySymbols},function(r,t,e){var n=e(3),o=e(8),a=/#|\.prototype\./,c=function(r,t){var e=u[i(r)];return e===f||e!==s&&(o(t)?n(t):!!t)},i=c.normalize=function(r){return String(r).replace(a,".").toLowerCase()},u=c.data={},s=c.NATIVE="N",f=c.POLYFILL="P";r.exports=c},function(t,e,n){var o=n(17),a=n(6),c=n(52),i=n(74),u=n(75),s=n(51),f=n(76),p=n(80),l=o.structuredClone,y=o.ArrayBuffer,v=o.DataView,h=Math.min,g=y.prototype,b=v.prototype,m=a(g.slice),d=c(g,"resizable","get"),w=c(g,"maxByteLength","get"),E=a(b.getInt8),x=a(b.setInt8);t.exports=(p||f)&&function(t,e,n){var o,a=s(t),c=e===r?a:i(e),g=!d||!d(t);if(u(t),p&&(t=l(t,{transfer:[t]}),a===c&&(n||g)))return t;if(a>=c&&(!n||g))o=m(t,0,c);else{var b=n&&!g&&w?{maxByteLength:w(t)}:r;o=new y(c,b);for(var O=new v(t),R=new v(o),S=h(c,a),A=0;A<S;A++)x(R,A,E(O,A))}return p||f(t),o}},function(t,e,n){var o=n(66),a=n(69),c=RangeError;t.exports=function(t){if(t===r)return 0;var e=o(t),n=a(e);if(e!==n)throw new c("Wrong length or index");return n}},function(r,t,e){var n=e(48),o=TypeError;r.exports=function(r){if(n(r))throw new o("ArrayBuffer is detached");return r}},function(r,t,e){var n,o,a,c,i=e(17),u=e(77),s=e(80),f=i.structuredClone,p=i.ArrayBuffer,l=i.MessageChannel,y=!1;if(s)y=function(r){f(r,{transfer:[r]})};else if(p)try{l||(n=u("worker_threads"))&&(l=n.MessageChannel),l&&(o=new l,a=new p(2),c=function(r){o.port1.postMessage(null,[r])},2===a.byteLength&&(c(a),0===a.byteLength&&(y=c)))}catch(r){}r.exports=y},function(r,t,e){var n=e(17),o=e(78);r.exports=function(r){if(o){try{return n.process.getBuiltinModule(r)}catch(r){}try{return Function('return require("'+r+'")')()}catch(r){}}}},function(r,t,e){var n=e(79);r.exports="NODE"===n},function(r,t,e){var n=e(17),o=e(37),a=e(50),c=function(r){return o.slice(0,r.length)===r};r.exports=c("Bun/")?"BUN":c("Cloudflare-Workers")?"CLOUDFLARE":c("Deno/")?"DENO":c("Node.js/")?"NODE":n.Bun&&"string"==typeof Bun.version?"BUN":n.Deno&&"object"==typeof Deno.version?"DENO":"process"===a(n.process)?"NODE":n.window&&n.document?"BROWSER":"REST"},function(r,t,e){var n=e(17),o=e(3),a=e(36),c=e(79),i=n.structuredClone;r.exports=!!i&&!o((function(){if("DENO"===c&&a>92||"NODE"===c&&a>94||"BROWSER"===c&&a>97)return!1;var r=new ArrayBuffer(8),t=i(r,{transfer:[r]});return 0!==r.byteLength||8!==t.byteLength}))},function(t,e,n){var o=n(54),a=n(73);a&&o({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return a(this,arguments.length?arguments[0]:r,!1)}})},function(r,t,e){var n=e(54),o=e(6),a=e(39),c=e(11),i=e(83),u=e(92),s=e(16),f=e(3),p=u.Map,l=u.has,y=u.get,v=u.set,h=o([].push),g=s||f((function(){return 1!==p.groupBy("ab",(function(r){return r})).get("a").length}));n({target:"Map",stat:!0,forced:s||g},{groupBy:function(r,t){c(r),a(t);var e=new p,n=0;return i(r,(function(r){var o=t(r,n++);l(e,o)?h(y(e,o),r):v(e,o,[r])})),e}})},function(r,t,e){var n=e(84),o=e(30),a=e(27),c=e(40),i=e(85),u=e(68),s=e(33),f=e(87),p=e(88),l=e(91),y=TypeError,v=function(r,t){this.stopped=r,this.result=t},h=v.prototype;r.exports=function(r,t,e){var g,b,m,d,w,E,x,O=e&&e.that,R=!(!e||!e.AS_ENTRIES),S=!(!e||!e.IS_RECORD),A=!(!e||!e.IS_ITERATOR),T=!(!e||!e.INTERRUPTED),D=n(t,O),_=function(r){return g&&l(g,"normal",r),new v(!0,r)},I=function(r){return R?(a(r),T?D(r[0],r[1],_):D(r[0],r[1])):T?D(r,_):D(r)};if(S)g=r.iterator;else if(A)g=r;else{if(!(b=p(r)))throw new y(c(r)+" is not iterable");if(i(b)){for(m=0,d=u(r);d>m;m++)if((w=I(r[m]))&&s(h,w))return w;return new v(!1)}g=f(r,b)}for(E=S?r.next:g.next;!(x=o(E,g)).done;){try{w=I(x.value)}catch(r){l(g,"throw",r)}if("object"==typeof w&&w&&s(h,w))return w}return new v(!1)}},function(t,e,n){var o=n(49),a=n(39),c=n(7),i=o(o.bind);t.exports=function(t,e){return a(t),e===r?t:c?i(t,e):function(){return t.apply(e,arguments)}}},function(t,e,n){var o=n(42),a=n(86),c=o("iterator"),i=Array.prototype;t.exports=function(t){return t!==r&&(a.Array===t||i[c]===t)}},function(r,t,e){r.exports={}},function(r,t,e){var n=e(30),o=e(39),a=e(27),c=e(40),i=e(88),u=TypeError;r.exports=function(r,t){var e=arguments.length<2?i(r):t;if(o(e))return a(n(e,r));throw new u(c(r)+" is not iterable")}},function(r,t,e){var n=e(89),o=e(38),a=e(12),c=e(86),i=e(42)("iterator");r.exports=function(r){if(!a(r))return o(r,i)||o(r,"@@iterator")||c[n(r)]}},function(t,e,n){var o=n(90),a=n(8),c=n(50),i=n(42)("toStringTag"),u=Object,s="Arguments"===c(function(){return arguments}());t.exports=o?c:function(t){var e,n,o;return t===r?"Undefined":null===t?"Null":"string"==typeof(n=function(r,t){try{return r[t]}catch(r){}}(e=u(t),i))?n:s?c(e):"Object"===(o=c(e))&&a(e.callee)?"Arguments":o}},function(r,t,e){var n={};n[e(42)("toStringTag")]="z",r.exports="[object z]"===String(n)},function(r,t,e){var n=e(30),o=e(27),a=e(38);r.exports=function(r,t,e){var c,i;o(r);try{if(!(c=a(r,"return"))){if("throw"===t)throw e;return e}c=n(c,r)}catch(r){i=!0,c=r}if("throw"===t)throw e;if(i)throw c;return o(c),e}},function(r,t,e){var n=e(6),o=Map.prototype;r.exports={Map,set:n(o.set),get:n(o.get),has:n(o.has),remove:n(o.delete),proto:o}},function(r,t,e){var n=e(54),o=e(32),a=e(6),c=e(39),i=e(11),u=e(28),s=e(83),f=e(3),p=Object.groupBy,l=o("Object","create"),y=a([].push);n({target:"Object",stat:!0,forced:!p||f((function(){return 1!==p("ab",(function(r){return r})).a.length}))},{groupBy:function(r,t){i(r),c(t);var e=l(null),n=0;return s(r,(function(r){var o=u(t(r,n++));o in e?y(e[o],r):e[o]=[r]})),e}})},function(t,e,n){var o=n(54),a=n(17),c=n(95),i=n(96),u=n(97),s=n(39),f=n(98),p=a.Promise,l=!1;o({target:"Promise",stat:!0,forced:!p||!p.try||f((function(){p.try((function(r){l=8===r}),8)})).error||!l},{try:function(t){var e=arguments.length>1?i(arguments,1):[],n=u.f(this),o=f((function(){return c(s(t),r,e)}));return(o.error?n.reject:n.resolve)(o.value),n.promise}})},function(r,t,e){var n=e(7),o=Function.prototype,a=o.apply,c=o.call;r.exports="object"==typeof Reflect&&Reflect.apply||(n?c.bind(a):function(){return c.apply(a,arguments)})},function(r,t,e){var n=e(6);r.exports=n([].slice)},function(t,e,n){var o=n(39),a=TypeError,c=function(t){var e,n;this.promise=new t((function(t,o){if(e!==r||n!==r)throw new a("Bad Promise constructor");e=t,n=o})),this.resolve=o(e),this.reject=o(n)};t.exports.f=function(r){return new c(r)}},function(r,t,e){r.exports=function(r){try{return{error:!1,value:r()}}catch(r){return{error:!0,value:r}}}},function(r,t,e){var n=e(54),o=e(97);n({target:"Promise",stat:!0},{withResolvers:function(){var r=o.f(this);return{promise:r.promise,resolve:r.resolve,reject:r.reject}}})},function(t,e,n){var o=n(54),a=n(17),c=n(32),i=n(45),u=n(23).f,s=n(9),f=n(101),p=n(102),l=n(106),y=n(108),v=n(109),h=n(2),g=n(16),b="DOMException",m=c("Error"),d=c(b),w=function(){f(this,E);var t=arguments.length,e=l(t<1?r:arguments[0]),n=l(t<2?r:arguments[1],"Error"),o=new d(e,n),a=new m(e);return a.name=b,u(o,"stack",i(1,v(a.stack,1))),p(o,this,w),o},E=w.prototype=d.prototype,x="stack"in new m(b),O="stack"in new d(1,2),R=d&&h&&Object.getOwnPropertyDescriptor(a,b),S=!(!R||R.writable&&R.configurable),A=x&&!S&&!O;o({global:!0,constructor:!0,forced:g||A},{DOMException:A?w:d});var T=c(b),D=T.prototype;if(D.constructor!==T)for(var _ in g||u(D,"constructor",i(1,T)),y)if(s(y,_)){var I=y[_],j=I.s;s(T,j)||u(T,j,i(6,I.c))}},function(r,t,e){var n=e(33),o=TypeError;r.exports=function(r,t){if(n(t,r))return r;throw new o("Incorrect invocation")}},function(r,t,e){var n=e(8),o=e(21),a=e(103);r.exports=function(r,t,e){var c,i;return a&&n(c=t.constructor)&&c!==e&&o(i=c.prototype)&&i!==e.prototype&&a(r,i),r}},function(t,e,n){var o=n(52),a=n(21),c=n(11),i=n(104);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r,t=!1,e={};try{(r=o(Object.prototype,"__proto__","set"))(e,[]),t=e instanceof Array}catch(r){}return function(e,n){return c(e),i(n),a(e)?(t?r(e,n):e.__proto__=n,e):e}}():r)},function(r,t,e){var n=e(105),o=String,a=TypeError;r.exports=function(r){if(n(r))return r;throw new a("Can't set "+o(r)+" as a prototype")}},function(r,t,e){var n=e(21);r.exports=function(r){return n(r)||null===r}},function(t,e,n){var o=n(107);t.exports=function(t,e){return t===r?arguments.length<2?"":e:o(t)}},function(r,t,e){var n=e(89),o=String;r.exports=function(r){if("Symbol"===n(r))throw new TypeError("Cannot convert a Symbol value to a string");return o(r)}},function(r,t,e){r.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},function(r,t,e){var n=e(6),o=Error,a=n("".replace),c=String(new o("zxcasd").stack),i=/\n\s*at [^:]*:[^\n]*/,u=i.test(c);r.exports=function(r,t){if(u&&"string"==typeof r&&!o.prepareStackTrace)for(;t--;)r=a(r,i,"");return r}},function(t,e,n){var o,a=n(16),c=n(54),i=n(17),u=n(32),s=n(6),f=n(3),p=n(44),l=n(8),y=n(111),v=n(12),h=n(21),g=n(31),b=n(83),m=n(27),d=n(89),w=n(9),E=n(112),x=n(22),O=n(68),R=n(113),S=n(114),A=n(92),T=n(116),D=n(117),_=n(76),I=n(119),j=n(80),M=i.Object,k=i.Array,P=i.Date,C=i.Error,L=i.TypeError,B=i.PerformanceMark,N=u("DOMException"),U=A.Map,F=A.has,z=A.get,W=A.set,V=T.Set,H=T.add,G=T.has,Y=u("Object","keys"),Q=s([].push),q=s((!0).valueOf),X=s(1..valueOf),K=s("".valueOf),Z=s(P.prototype.getTime),$=p("structuredClone"),J="DataCloneError",rr="Transferring",tr=function(r){return!f((function(){var t=new i.Set([7]),e=r(t),n=r(M(7));return e===t||!e.has(7)||!h(n)||7!=+n}))&&r},er=function(r,t){return!f((function(){var e=new t,n=r({a:e,b:e});return!(n&&n.a===n.b&&n.a instanceof t&&n.a.stack===e.stack)}))},nr=i.structuredClone,or=a||!er(nr,C)||!er(nr,N)||(o=nr,!!f((function(){var r=o(new i.AggregateError([1],$,{cause:3}));return"AggregateError"!==r.name||1!==r.errors[0]||r.message!==$||3!==r.cause}))),ar=!nr&&tr((function(r){return new B($,{detail:r}).detail})),cr=tr(nr)||ar,ir=function(r){throw new N("Uncloneable type: "+r,J)},ur=function(r,t){throw new N((t||"Cloning")+" of "+r+" cannot be properly polyfilled in this engine",J)},sr=function(r,t){return cr||ur(t),cr(r)},fr=function(t,e,n){if(F(e,t))return z(e,t);var o,a,c,u,s,f;if("SharedArrayBuffer"===(n||d(t)))o=cr?cr(t):t;else{var p=i.DataView;p||l(t.slice)||ur("ArrayBuffer");try{if(l(t.slice)&&!t.resizable)o=t.slice(0);else{a=t.byteLength,c="maxByteLength"in t?{maxByteLength:t.maxByteLength}:r,o=new ArrayBuffer(a,c),u=new p(t),s=new p(o);for(f=0;f<a;f++)s.setUint8(f,u.getUint8(f))}}catch(r){throw new N("ArrayBuffer is detached",J)}}return W(e,t,o),o},pr=function(t,e){if(g(t)&&ir("Symbol"),!h(t))return t;if(e){if(F(e,t))return z(e,t)}else e=new U;var n,o,a,c,s,f,p,y,v=d(t);switch(v){case"Array":a=k(O(t));break;case"Object":a={};break;case"Map":a=new U;break;case"Set":a=new V;break;case"RegExp":a=new RegExp(t.source,S(t));break;case"Error":switch(o=t.name){case"AggregateError":a=new(u(o))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":a=new(u(o));break;case"CompileError":case"LinkError":case"RuntimeError":a=new(u("WebAssembly",o));break;default:a=new C}break;case"DOMException":a=new N(t.message,t.name);break;case"ArrayBuffer":case"SharedArrayBuffer":a=fr(t,e,v);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":f="DataView"===v?t.byteLength:t.length,a=function(r,t,e,n,o){var a=i[t];return h(a)||ur(t),new a(fr(r.buffer,o),e,n)}(t,v,t.byteOffset,f,e);break;case"DOMQuad":try{a=new DOMQuad(pr(t.p1,e),pr(t.p2,e),pr(t.p3,e),pr(t.p4,e))}catch(r){a=sr(t,v)}break;case"File":if(cr)try{a=cr(t),d(a)!==v&&(a=r)}catch(r){}if(!a)try{a=new File([t],t.name,t)}catch(r){}a||ur(v);break;case"FileList":if(c=function(){var r;try{r=new i.DataTransfer}catch(t){try{r=new i.ClipboardEvent("").clipboardData}catch(r){}}return r&&r.items&&r.files?r:null}()){for(s=0,f=O(t);s<f;s++)c.items.add(pr(t[s],e));a=c.files}else a=sr(t,v);break;case"ImageData":try{a=new ImageData(pr(t.data,e),t.width,t.height,{colorSpace:t.colorSpace})}catch(r){a=sr(t,v)}break;default:if(cr)a=cr(t);else switch(v){case"BigInt":a=M(t.valueOf());break;case"Boolean":a=M(q(t));break;case"Number":a=M(X(t));break;case"String":a=M(K(t));break;case"Date":a=new P(Z(t));break;case"Blob":try{a=t.slice(0,t.size,t.type)}catch(r){ur(v)}break;case"DOMPoint":case"DOMPointReadOnly":n=i[v];try{a=n.fromPoint?n.fromPoint(t):new n(t.x,t.y,t.z,t.w)}catch(r){ur(v)}break;case"DOMRect":case"DOMRectReadOnly":n=i[v];try{a=n.fromRect?n.fromRect(t):new n(t.x,t.y,t.width,t.height)}catch(r){ur(v)}break;case"DOMMatrix":case"DOMMatrixReadOnly":n=i[v];try{a=n.fromMatrix?n.fromMatrix(t):new n(t)}catch(r){ur(v)}break;case"AudioData":case"VideoFrame":l(t.clone)||ur(v);try{a=t.clone()}catch(r){ir(v)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":ur(v);default:ir(v)}}switch(W(e,t,a),v){case"Array":case"Object":for(p=Y(t),s=0,f=O(p);s<f;s++)y=p[s],E(a,y,pr(t[y],e));break;case"Map":t.forEach((function(r,t){W(a,pr(t,e),pr(r,e))}));break;case"Set":t.forEach((function(r){H(a,pr(r,e))}));break;case"Error":x(a,"message",pr(t.message,e)),w(t,"cause")&&x(a,"cause",pr(t.cause,e)),"AggregateError"===o?a.errors=pr(t.errors,e):"SuppressedError"===o&&(a.error=pr(t.error,e),a.suppressed=pr(t.suppressed,e));case"DOMException":I&&x(a,"stack",pr(t.stack,e))}return a};c({global:!0,enumerable:!0,sham:!j,forced:or},{structuredClone:function(t){var e,n,o=R(arguments.length,1)>1&&!v(arguments[1])?m(arguments[1]):r,a=o?o.transfer:r;a!==r&&(n=function(t,e){if(!h(t))throw new L("Transfer option cannot be converted to a sequence");var n=[];b(t,(function(r){Q(n,m(r))}));for(var o,a,c,u,s,f=0,p=O(n),v=new V;f<p;){if(o=n[f++],"ArrayBuffer"===(a=d(o))?G(v,o):F(e,o))throw new N("Duplicate transferable",J);if("ArrayBuffer"!==a){if(j)u=nr(o,{transfer:[o]});else switch(a){case"ImageBitmap":c=i.OffscreenCanvas,y(c)||ur(a,rr);try{(s=new c(o.width,o.height)).getContext("bitmaprenderer").transferFromImageBitmap(o),u=s.transferToImageBitmap()}catch(r){}break;case"AudioData":case"VideoFrame":l(o.clone)&&l(o.close)||ur(a,rr);try{u=o.clone(),o.close()}catch(r){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":ur(a,rr)}if(u===r)throw new N("This object cannot be transferred: "+a,J);W(e,o,u)}else H(v,o)}return v}(a,e=new U));var c=pr(t,e);return n&&function(r){D(r,(function(r){j?cr(r,{transfer:[r]}):l(r.transfer)?r.transfer():_?_(r):ur("ArrayBuffer",rr)}))}(n),c}})},function(r,t,e){var n=e(6),o=e(3),a=e(8),c=e(89),i=e(32),u=e(14),s=function(){},f=i("Reflect","construct"),p=/^\s*(?:class|function)\b/,l=n(p.exec),y=!p.test(s),v=function(r){if(!a(r))return!1;try{return f(s,[],r),!0}catch(r){return!1}},h=function(r){if(!a(r))return!1;switch(c(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return y||!!l(p,u(r))}catch(r){return!0}};h.sham=!0,r.exports=!f||o((function(){var r;return v(v.call)||!v(Object)||!v((function(){r=!0}))||r}))?h:v},function(r,t,e){var n=e(2),o=e(23),a=e(45);r.exports=function(r,t,e){n?o.f(r,t,a(0,e)):r[t]=e}},function(r,t,e){var n=TypeError;r.exports=function(r,t){if(r<t)throw new n("Not enough arguments");return r}},function(t,e,n){var o=n(30),a=n(9),c=n(33),i=n(115),u=RegExp.prototype;t.exports=function(t){var e=t.flags;return e!==r||"flags"in u||a(t,"flags")||!c(u,t)?e:o(i,t)}},function(r,t,e){var n=e(27);r.exports=function(){var r=n(this),t="";return r.hasIndices&&(t+="d"),r.global&&(t+="g"),r.ignoreCase&&(t+="i"),r.multiline&&(t+="m"),r.dotAll&&(t+="s"),r.unicode&&(t+="u"),r.unicodeSets&&(t+="v"),r.sticky&&(t+="y"),t}},function(r,t,e){var n=e(6),o=Set.prototype;r.exports={Set,add:n(o.add),has:n(o.has),remove:n(o.delete),proto:o}},function(r,t,e){var n=e(6),o=e(118),a=e(116),c=a.Set,i=a.proto,u=n(i.forEach),s=n(i.keys),f=s(new c).next;r.exports=function(r,t,e){return e?o({iterator:s(r),next:f},t):u(r,t)}},function(t,e,n){var o=n(30);t.exports=function(t,e,n){for(var a,c,i=n?t:t.iterator,u=t.next;!(a=o(u,i)).done;)if((c=e(a.value))!==r)return c}},function(r,t,e){var n=e(3),o=e(45);r.exports=!n((function(){var r=new Error("a");return!("stack"in r)||(Object.defineProperty(r,"stack",o(1,7)),7!==r.stack)}))},function(t,e,n){var o=n(54),a=n(32),c=n(3),i=n(113),u=n(107),s=n(121),f=a("URL"),p=s&&c((function(){f.canParse()})),l=c((function(){return 1!==f.canParse.length}));o({target:"URL",stat:!0,forced:!p||l},{canParse:function(t){var e=i(arguments.length,1),n=u(t),o=e<2||arguments[1]===r?r:u(arguments[1]);try{return!!new f(n,o)}catch(r){return!1}}})},function(t,e,n){var o=n(3),a=n(42),c=n(2),i=n(16),u=a("iterator");t.exports=!o((function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,n=new URLSearchParams("a=1&a=2&b=3"),o="";return t.pathname="c%20d",e.forEach((function(r,t){e.delete("b"),o+=t+r})),n.delete("a",2),n.delete("b",r),i&&(!t.toJSON||!n.has("a",1)||n.has("a",2)||!n.has("a",r)||n.has("b"))||!e.size&&(i||!c)||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[u]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==o||"x"!==new URL("https://x",r).host}))},function(t,e,n){var o=n(54),a=n(32),c=n(113),i=n(107),u=n(121),s=a("URL");o({target:"URL",stat:!0,forced:!u},{parse:function(t){var e=c(arguments.length,1),n=i(t),o=e<2||arguments[1]===r?r:i(arguments[1]);try{return new s(n,o)}catch(r){return null}}})},function(t,e,n){var o=n(59),a=n(6),c=n(107),i=n(113),u=URLSearchParams,s=u.prototype,f=a(s.append),p=a(s.delete),l=a(s.forEach),y=a([].push),v=new u("a=1&a=2&b=3");v.delete("a",1),v.delete("b",r),v+""!="a=2"&&o(s,"delete",(function(t){var e=arguments.length,n=e<2?r:arguments[1];if(e&&n===r)return p(this,t);var o=[];l(this,(function(r,t){y(o,{key:t,value:r})})),i(e,1);for(var a,u=c(t),s=c(n),v=0,h=0,g=!1,b=o.length;v<b;)a=o[v++],g||a.key===u?(g=!0,p(this,a.key)):h++;for(;h<b;)(a=o[h++]).key===u&&a.value===s||f(this,a.key,a.value)}),{enumerable:!0,unsafe:!0})},function(t,e,n){var o=n(59),a=n(6),c=n(107),i=n(113),u=URLSearchParams,s=u.prototype,f=a(s.getAll),p=a(s.has),l=new u("a=1");!l.has("a",2)&&l.has("a",r)||o(s,"has",(function(t){var e=arguments.length,n=e<2?r:arguments[1];if(e&&n===r)return p(this,t);var o=f(this,t);i(e,1);for(var a=c(n),u=0;u<o.length;)if(o[u++]===a)return!0;return!1}),{enumerable:!0,unsafe:!0})},function(r,t,e){var n=e(2),o=e(6),a=e(4),c=URLSearchParams.prototype,i=o(c.forEach);n&&!("size"in c)&&a(c,"size",{get:function(){var r=0;return i(this,(function(){r++})),r},configurable:!0,enumerable:!0})}],e={},(n=function(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}).m=t,n.c=e,n.d=function(r,t,e){n.o(r,t)||Object.defineProperty(r,t,{enumerable:!0,get:e})},n.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.t=function(r,t){if(1&t&&(r=n(r)),8&t)return r;if(4&t&&"object"==typeof r&&r&&r.__esModule)return r;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:r}),2&t&&"string"!=typeof r)for(var o in r)n.d(e,o,function(t){return r[t]}.bind(null,o));return e},n.n=function(r){var t=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(t,"a",t),t},n.o=function(r,t){return Object.prototype.hasOwnProperty.call(r,t)},n.p="",n(n.s=0)}();
(()=>{var t={507:(t,e,r)=>{"use strict";r.d(e,{A:()=>A});var n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var i=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var o=function(t,e){return function(r,o,s,c=10){const l=t[e];if(!i(r))return;if(!n(o))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:o};if(l[r]){const t=l[r].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=a:t.splice(e,0,a),l.__current.forEach((t=>{t.name===r&&t.currentIndex>=e&&t.currentIndex++}))}else l[r]={handlers:[a],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,o,s,c)}};var s=function(t,e,r=!1){return function(o,s){const c=t[e];if(!i(o))return;if(!r&&!n(s))return;if(!c[o])return 0;let l=0;if(r)l=c[o].handlers.length,c[o]={runs:c[o].runs,handlers:[]};else{const t=c[o].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==o&&t.doAction("hookRemoved",o,s),l}};var c=function(t,e){return function(r,n){const i=t[e];return void 0!==n?r in i&&i[r].handlers.some((t=>t.namespace===n)):r in i}};var l=function(t,e,r,n){return function(i,...o){const s=t[e];s[i]||(s[i]={handlers:[],runs:0}),s[i].runs++;const c=s[i].handlers;if(!c||!c.length)return r?o[0]:void 0;const l={name:i,currentIndex:0};return(n?async function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){const e=c[l.currentIndex];t=await e.callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}}:function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){t=c[l.currentIndex].callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}})()}};var a=function(t,e){return function(){const r=t[e],n=Array.from(r.__current);return n.at(-1)?.name??null}};var d=function(t,e){return function(r){const n=t[e];return void 0===r?n.__current.size>0:Array.from(n.__current).some((t=>t.name===r))}};var u=function(t,e){return function(r){const n=t[e];if(i(r))return n[r]&&n[r].runs?n[r].runs:0}};class h{actions;filters;addAction;addFilter;removeAction;removeFilter;hasAction;hasFilter;removeAllActions;removeAllFilters;doAction;doActionAsync;applyFilters;applyFiltersAsync;currentAction;currentFilter;doingAction;doingFilter;didAction;didFilter;constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=o(this,"actions"),this.addFilter=o(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=c(this,"actions"),this.hasFilter=c(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=l(this,"actions",!1,!1),this.doActionAsync=l(this,"actions",!1,!0),this.applyFilters=l(this,"filters",!0,!1),this.applyFiltersAsync=l(this,"filters",!0,!0),this.currentAction=a(this,"actions"),this.currentFilter=a(this,"filters"),this.doingAction=d(this,"actions"),this.doingFilter=d(this,"filters"),this.didAction=u(this,"actions"),this.didFilter=u(this,"filters")}}var A=function(){return new h}},8770:()=>{}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{actions:()=>x,addAction:()=>s,addFilter:()=>c,applyFilters:()=>m,applyFiltersAsync:()=>v,createHooks:()=>t.A,currentAction:()=>y,currentFilter:()=>F,defaultHooks:()=>o,didAction:()=>b,didFilter:()=>k,doAction:()=>f,doActionAsync:()=>p,doingAction:()=>_,doingFilter:()=>g,filters:()=>w,hasAction:()=>d,hasFilter:()=>u,removeAction:()=>l,removeAllActions:()=>h,removeAllFilters:()=>A,removeFilter:()=>a});var t=r(507),e=r(8770),i={};for(const t in e)["default","actions","addAction","addFilter","applyFilters","applyFiltersAsync","createHooks","currentAction","currentFilter","defaultHooks","didAction","didFilter","doAction","doActionAsync","doingAction","doingFilter","filters","hasAction","hasFilter","removeAction","removeAllActions","removeAllFilters","removeFilter"].indexOf(t)<0&&(i[t]=()=>e[t]);r.d(n,i);const o=(0,t.A)(),{addAction:s,addFilter:c,removeAction:l,removeFilter:a,hasAction:d,hasFilter:u,removeAllActions:h,removeAllFilters:A,doAction:f,doActionAsync:p,applyFilters:m,applyFiltersAsync:v,currentAction:y,currentFilter:F,doingAction:_,doingFilter:g,didAction:b,didFilter:k,actions:x,filters:w}=o})(),(window.wp=window.wp||{}).hooks=n})();
(()=>{"use strict";var t={d:(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};t.r(n),t.d(n,{__:()=>F,_n:()=>L,_nx:()=>D,_x:()=>w,createI18n:()=>h,defaultI18n:()=>b,getLocaleData:()=>g,hasTranslation:()=>O,isRTL:()=>P,resetLocaleData:()=>x,setLocaleData:()=>v,sprintf:()=>l,subscribe:()=>m});var e,r,a,i,o=/%(((\d+)\$)|(\(([$_a-zA-Z][$_a-zA-Z0-9]*)\)))?[ +0#-]*\d*(\.(\d+|\*))?(ll|[lhqL])?([cduxXefgsp%])/g;function l(t,...n){return function(t,...n){var e=0;return Array.isArray(n[0])&&(n=n[0]),t.replace(o,(function(){var t,r,a,i,o;return t=arguments[3],r=arguments[5],"%"===(i=arguments[9])?"%":("*"===(a=arguments[7])&&(a=n[e],e++),void 0===r?(void 0===t&&(t=e+1),e++,o=n[t-1]):n[0]&&"object"==typeof n[0]&&n[0].hasOwnProperty(r)&&(o=n[0][r]),"f"===i?o=parseFloat(o)||0:"d"===i&&(o=parseInt(o)||0),void 0!==a&&("f"===i?o=o.toFixed(a):"s"===i&&(o=o.substr(0,a))),null!=o?o:"")}))}(t,...n)}e={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},r=["(","?"],a={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var s={"!":function(t){return!t},"*":function(t,n){return t*n},"/":function(t,n){return t/n},"%":function(t,n){return t%n},"+":function(t,n){return t+n},"-":function(t,n){return t-n},"<":function(t,n){return t<n},"<=":function(t,n){return t<=n},">":function(t,n){return t>n},">=":function(t,n){return t>=n},"==":function(t,n){return t===n},"!=":function(t,n){return t!==n},"&&":function(t,n){return t&&n},"||":function(t,n){return t||n},"?:":function(t,n,e){if(t)throw n;return e}};function u(t){var n=function(t){for(var n,o,l,s,u=[],d=[];n=t.match(i);){for(o=n[0],(l=t.substr(0,n.index).trim())&&u.push(l);s=d.pop();){if(a[o]){if(a[o][0]===s){o=a[o][1]||o;break}}else if(r.indexOf(s)>=0||e[s]<e[o]){d.push(s);break}u.push(s)}a[o]||d.push(o),t=t.substr(n.index+o.length)}return(t=t.trim())&&u.push(t),u.concat(d.reverse())}(t);return function(t){return function(t,n){var e,r,a,i,o,l,u=[];for(e=0;e<t.length;e++){if(o=t[e],i=s[o]){for(r=i.length,a=Array(r);r--;)a[r]=u.pop();try{l=i.apply(null,a)}catch(t){return t}}else l=n.hasOwnProperty(o)?n[o]:+o;u.push(l)}return u[0]}(n,t)}}var d={contextDelimiter:"",onMissingKey:null};function c(t,n){var e;for(e in this.data=t,this.pluralForms={},this.options={},d)this.options[e]=void 0!==n&&e in n?n[e]:d[e]}c.prototype.getPluralForm=function(t,n){var e,r,a,i=this.pluralForms[t];return i||("function"!=typeof(a=(e=this.data[t][""])["Plural-Forms"]||e["plural-forms"]||e.plural_forms)&&(r=function(t){var n,e,r;for(n=t.split(";"),e=0;e<n.length;e++)if(0===(r=n[e].trim()).indexOf("plural="))return r.substr(7)}(e["Plural-Forms"]||e["plural-forms"]||e.plural_forms),a=function(t){var n=u(t);return function(t){return+n({n:t})}}(r)),i=this.pluralForms[t]=a),i(n)},c.prototype.dcnpgettext=function(t,n,e,r,a){var i,o,l;return i=void 0===a?0:this.getPluralForm(t,a),o=e,n&&(o=n+this.options.contextDelimiter+e),(l=this.data[t][o])&&l[i]?l[i]:(this.options.onMissingKey&&this.options.onMissingKey(e,t),0===i?e:r)};const p={plural_forms:t=>1===t?0:1},f=/^i18n\.(n?gettext|has_translation)(_|$)/,h=(t,n,e)=>{const r=new c({}),a=new Set,i=()=>{a.forEach((t=>t()))},o=(t,n="default")=>{r.data[n]={...r.data[n],...t},r.data[n][""]={...p,...r.data[n]?.[""]},delete r.pluralForms[n]},l=(t,n)=>{o(t,n),i()},s=(t="default",n,e,a,i)=>(r.data[t]||o(void 0,t),r.dcnpgettext(t,n,e,a,i)),u=t=>t||"default",d=(t,n,r)=>{let a=s(r,n,t);return e?(a=e.applyFilters("i18n.gettext_with_context",a,t,n,r),e.applyFilters("i18n.gettext_with_context_"+u(r),a,t,n,r)):a};if(t&&l(t,n),e){const t=t=>{f.test(t)&&i()};e.addAction("hookAdded","core/i18n",t),e.addAction("hookRemoved","core/i18n",t)}return{getLocaleData:(t="default")=>r.data[t],setLocaleData:l,addLocaleData:(t,n="default")=>{r.data[n]={...r.data[n],...t,"":{...p,...r.data[n]?.[""],...t?.[""]}},delete r.pluralForms[n],i()},resetLocaleData:(t,n)=>{r.data={},r.pluralForms={},l(t,n)},subscribe:t=>(a.add(t),()=>a.delete(t)),__:(t,n)=>{let r=s(n,void 0,t);return e?(r=e.applyFilters("i18n.gettext",r,t,n),e.applyFilters("i18n.gettext_"+u(n),r,t,n)):r},_x:d,_n:(t,n,r,a)=>{let i=s(a,void 0,t,n,r);return e?(i=e.applyFilters("i18n.ngettext",i,t,n,r,a),e.applyFilters("i18n.ngettext_"+u(a),i,t,n,r,a)):i},_nx:(t,n,r,a,i)=>{let o=s(i,a,t,n,r);return e?(o=e.applyFilters("i18n.ngettext_with_context",o,t,n,r,a,i),e.applyFilters("i18n.ngettext_with_context_"+u(i),o,t,n,r,a,i)):o},isRTL:()=>"rtl"===d("ltr","text direction"),hasTranslation:(t,n,a)=>{const i=n?n+""+t:t;let o=!!r.data?.[a??"default"]?.[i];return e&&(o=e.applyFilters("i18n.has_translation",o,t,n,a),o=e.applyFilters("i18n.has_translation_"+u(a),o,t,n,a)),o}}},_=window.wp.hooks,y=h(void 0,void 0,_.defaultHooks);var b=y;const g=y.getLocaleData.bind(y),v=y.setLocaleData.bind(y),x=y.resetLocaleData.bind(y),m=y.subscribe.bind(y),F=y.__.bind(y),w=y._x.bind(y),L=y._n.bind(y),D=y._nx.bind(y),P=y.isRTL.bind(y),O=y.hasTranslation.bind(y);(window.wp=window.wp||{}).i18n=n})();