' }, fetchListeners: [], initialize: function () { for (var t = [{ domain: "gempages", type: "net" }], i = _chpmgr.audienceConditions._getCurrentHostData(), a = !1, r = 0; r < t.length; r++) { var o = t[r]; if (o.domain == i.domain && o.type == i.type) { a = !0; break } } if (a) return console.warn("---:> Not loading chppps"), !1; jQuery("body").append(""); var n = !1; for (var s of _chpmgr.popups) { for (var c of s.audience_conditions) if ("country_code" == c.type) { n = !0; break } if (n) break } var p = document.querySelector('form[action*="/contact#"]'); if (p && !p.querySelector('input[type="hidden"][name="contact[tags]"]')) { var l = document.createElement("input"); l.type = "hidden", l.name = "contact[tags]", l.value = "newsletter", p.appendChild(l) } (document.URL.indexOf("preview_theme_id") >= 0 || document.URL.indexOf("dragon=fly") >= 0) && 4 == _chpmgr.chp_platform || (jQuery.each(_chpmgr.popups, function (t, i) { _chpmgr.setupPopup(i) }), _chpmgr.addGeneralEvents(), n ? _chpmgr.envInfo.isCountryCode("-", function (t) { _chpmgr.cartEvts.init(), _chpmgr.cartEvts.onCartChanged() }) : (_chpmgr.cartEvts.init(), _chpmgr.cartEvts.onCartChanged()), jQuery(document).trigger("chpmgr_popups_ready"), _chpmgr.appBlockForms.init(), _chpmgr.backInStock.checkInit(), _chpmgr.starRatings.init(), _chpmgr.FloatingReviewsTab.init(), _chpmgr.ProductReviews.init(), _chpmgr.VideoReviews.init(), _chpmgr.GridReviews.init(), "function" == typeof _chpmgr.chpCustomShopFunctions[_chpmgr.site] && _chpmgr.chpCustomShopFunctions[_chpmgr.site]()) }, addGeneralEvents: function () { jQuery(document).off("chp_cart_obtained.chp_abandon_cart").on("chp_cart_obtained.chp_abandon_cart", function () { jQuery(document).off("chp_cart_obtained.chp_abandon_cart"), _chpmgr._addAbandonedCartEvents() }), "1" != String(_chpmgr.chp_platform) && "" != _chpmgr.chp_platform && _chpmgr.chp_platform || (window.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], function (t) { if (t) throw t; _chpmgr.settings.userCanBeTracked = !window.Shopify.customerPrivacy || window.Shopify.customerPrivacy.userCanBeTracked() }), document.addEventListener("trackingConsentAccepted", () => { _chpmgr.settings.userCanBeTracked = !0 })) }, _addFetchListener: function (t) { var i, a; _chpmgr.fetchListeners.push(t), i = window, "function" == typeof (a = window.fetch) && (i.fetch = function () { let t = a.apply(this, arguments); return t.then(function (t) { _chpmgr.fetchListeners.forEach(function (i) { i(t) }) }), t }) }, _addAbandonedCartEvents: function () { var t = "chp_abndn_cart_shown", i = "chp_abndn_cart_added", a = _chpmgr.getPopupsDataByType("crt_ml_cpt")[0]; if (a) { var r = a.id; jQuery(document).ajaxComplete(c), _chpmgr._addFetchListener(function (t) { c(null, {}, { type: "post", url: t.url }) }), jQuery('form[action="/cart"]').removeClass("chp_form_continue"), jQuery('form[action="/cart"] [name="checkout"]').off("click.chp_btn_chkt").on("click.chp_btn_chkt", function () { jQuery(this).parents("form").hasClass("chp_form_continue") || jQuery(this).parents("form").addClass("chp_go_checkout") }), jQuery('form[action="/cart"] [name="add"]').off("click.chp_btn_cart_add").on("click.chp_btn_cart_add", function () { jQuery(this).parents("form").hasClass("chp_form_continue") || jQuery(this).parents("form").addClass("chp_add_to_cart") }), jQuery('form[action="/cart"], form[action="/cart/add"]').off("submit.chp_form_cart").on("submit.chp_form_cart", function (t) { var a = jQuery(this); a.hasClass("chp_go_checkout") ? jQuery(document).trigger("chilli_before_go_chkt", { origin: "chp_submit_form", stop: function () { t.preventDefault() }, continue: function () { a.removeClass("chp_go_checkout").addClass("chp_form_continue"), a.find("[name='checkout']").click() } }) : (a.hasClass("chp_add_to_cart") || String(a.attr("action")).indexOf("cart/add") >= 0) && _chpmgr._setCookie(i, !0) }), _chpmgr._getCookie(i) && !_chpmgr._getCookie(t) && p(), jQuery(document).off("chp_pp_cart_changed").on("chp_pp_cart_changed", function (t, a) { "add" == a.type && (_chpmgr._setCookie(i, !0), p()) }); var o = {}, n = !1, s = !1; jQuery(document).off("chilli_before_go_chkt").on("chilli_before_go_chkt", function (a, r) { if (o[r.origin || "none"] = r.continue, _chpmgr._getCookie(i) && !_chpmgr._getCookie(t) && r.stop(), !n) { n = !0, p(function () { l() }); return } l() }) } function c(t, i, a) { if (a.url.indexOf("add.js") >= 0 || a.url.indexOf("change.js") >= 0) { var r = ""; a.url.indexOf("add.js") >= 0 && (r = "add"), a.url.indexOf("change.js") >= 0 && (r = "change"), jQuery(document).trigger("chp_pp_cart_changed", { type: r }) } } function p(i) { if (_chpmgr.cartEvts.currentCart && _chpmgr.cartEvts.currentCart.items && 0 != _chpmgr.cartEvts.currentCart.items.length) { if (!_chpmgr._getCookie(t)) { jQuery(document).off("chp_pp_open.chp_abandon_cart").on("chp_pp_open.chp_abandon_cart", function (i, a) { jQuery(document).off("chp_pp_open.chp_abandon_cart"), a.ref == r && _chpmgr._setCookie(t, !0) }); var o = _chpmgr.envInfo.getLanguage().toLowerCase(), n = "true" == _chpmgr.triggersMgr._getTriggerByKey(a, "preselect_email_marketing_option").value.toString(), s = jQuery(_chpmgr.abandonCartPopupContents[o] || _chpmgr.abandonCartPopupContents.en); s.attr("id", r), s.addClass("chp_pp_abandon_cart"), s.find(".chp_chk_policy").attr("not-mandatory", !0), _chpmgr._popupShowMgr._showChilliPopup({ ref: r }, { content: s }), n && s.find(".chp_chk_policy").prop("checked", !0), jQuery("#" + r).find(".chp_link.snd_frm").off("click").on("click", function (t) { t.preventDefault(); var a = { ref: r }; _chpmgr._validateAndSendData(a, function (t, r) { _chpmgr.active = !1, jQuery("#" + a.ref).find(".chp_button.snd_frm").removeClass("chp_locked"), ChilliPopups.close(), !t && r && console.warn("Registration couldn't be completed.\ncode " + r.error_code), i && i() }) }), jQuery(document).off("chp_pp_closed.chp_abandon_cart").on("chp_pp_closed.chp_abandon_cart", function (t, a) { jQuery(document).off("chp_pp_closed.chp_abandon_cart"), a.ref == r && i && i() }) } } } function l() { if (!s) { var t = o.upkit_submit_form || o.chp_submit_form || Object.values(o)[0]; t && (s = !0, t()) } } }, getURLParameter: function (t) { var i = _chpmgr.getScriptURL(); return decodeURI((RegExp(t + "=(.+?)(&|$)").exec(i) || [, null])[1]) }, getShopName: function () { var t = jQuery('meta[property="og:site_name"]').attr("content"); return (!t || "" == t) && "undefined" != typeof Shopify && Shopify.shop && (t = Shopify.shop.split(".myshopify.com")[0]), t }, getScriptURL: function () { var t = "", i = [], a = ""; return jQuery("script").each(function () { if ((a = String(jQuery(this).prop("src") || jQuery(this).attr("data-src"))).indexOf("?") > -1 && a.split("?")[0].indexOf("chpmgr.js") > -1) { var r = a; i.push(r), r.indexOf("dzb8cpemp5pp6") >= 0 && (t = r) } }), "" == t && (t = i[0]), t }, getFloatNumberFromString: function (t) { t || (t = "0"); var i = t.match(/\-|(\d+|\.)/g); return i ? Number(i.join("")) : 0 }, getFonts: function () { var t = []; return jQuery(".chp_component span").each(function () { var i = jQuery(this); t.push(i.css("fontFamily")) }), jQuery(".chp_button").each(function () { var i = jQuery(this); t.push(i.css("fontFamily")) }), t }, setupPopup: function (t) { if (jQuery("#" + t.id).length > 0) return !1; var i = jQuery(t.popup_html); i.addClass("chpp mfp-hide"), i.attr("id", t.id), i.find(".popup_col:empty").append(" "), jQuery("body").append(i), this.checkPreloadBgs(t.id), this.checkCustomShopsFunctions(), _chpmgr.triggersMgr.setupTriggers(t) }, checkPreloadBgs: function (t) { jQuery("#" + t).find(".popup_col").each(function () { var t = jQuery(this).css("background-image"); if (!t || t.length < 10) return !0; t = (t = t.replace(/"|'|\)|\s/g, "")).replace("url(", ""), new Image().src = t }) }, checkCustomShopsFunctions: function () { jQuery(document).on("chp_bar_announcement_opened", function (t, i) { "whatif-foods.myshopify.com" == _chpmgr.site && jQuery(".sidebar").css("top", i.bar_height + "px") }), jQuery(document).on("chp_bar_announcement_closed", function (t, i) { "whatif-foods.myshopify.com" == _chpmgr.site && jQuery(".sidebar").css("top", "0px") }) }, popupHasValidConditions: function (t) { return _chpmgr.getPopupDataById(t).validConditions }, checkPopupValidConditionsAndOpen: function (t, i) { var a = _chpmgr.getPopupDataById(t.ref); a.validConditions && (String(a.ref || a.id).includes("sndv_whtsp") ? (jQuery(".chp_chat_btn_wrapper").show(), "exit" == t.key && jQuery(".chp_chat_btn_wrapper .floating_popup").addClass("active"), ChilliChatButtons.rView()) : _chpmgr.openPopup(t, i)) }, openPopup: function (t, i) { if (ChilliPopups.isShowingPopup() || "manual" != t.invocation && _chpmgr.existsDisplayedPopupCookie(t.ref) || window.location.href.indexOf("/orders/") >= 0) return !1; jQuery("#" + t.ref).find(".chp_button.snd_frm").removeClass("chp_locked"), _chpmgr._resetFields(), _chpmgr._evtsClick(t), _chpmgr._checkShowPopupByType(t, i) }, _evtsClick: function (t) { jQuery("#" + t.ref).find(".chp_link").off("click").on("click", function (i) { _chpmgr.evRept.rClick(t.ref, "rclick"), jQuery(document).trigger("chp_link_click", { event: i, item: jQuery(this) }) }) }, _checkShowPopupByType: function (t, i) { var a = _chpmgr.getPopupDataById(t.ref); if (!(!a || "manual" != t.invocation && _chpmgr.hideIfCustomerRegistered(a)) && !0 != a.lkbyadv) { if ("nnbr" == a.ptk) { _chpmgr._popupShowMgr._showBar(t); return } _chpmgr._popupShowMgr._showChilliPopup(t, { callback: i }) } }, _popupShowMgr: { _showBar: function (t) { jQuery("#" + t.ref), _chpmgr.evRept.rView(t.ref), _chpmgr.setDisplayedPopupCookie(t); var i = _chpmgr._popupShowMgr._checkBarAndSetPadding(t.ref, "open"); _chpmgr._popupShowMgr.__addBarEvents(t, i) }, __addBarEvents: function (t, i) { if (jQuery("#" + t.ref).find(".btn_chp_close, .chp_link.cls_pp").off("click").on("click", function (i) { i.preventDefault(), _chpmgr._popupShowMgr._checkBarAndSetPadding(t.ref, "close") }), jQuery("#" + t.ref).find(".chp_link.cpy_clp").off("click").on("click", function (t) { t.preventDefault(), _chpmgr._tryCopyBtnText(jQuery(this)) }), jQuery("#" + t.ref).find(".chp_open_popup").off("click").on("click", function (t) { t.preventDefault(), t.stopPropagation(), _chpmgr.openPopup({ key: "button", invocation: "manual", ref: jQuery(this).attr("data-chp-id"), type_id: 2 }) }), "chp_bar_abs" == jQuery("#" + t.ref).attr("data-chp-behavior")) { var a = "scroll.chp_bar" + t.ref, r = i, o = null; jQuery(window).off(a).on(a, function () { o || (o = setTimeout(function () { jQuery(document).scrollTop() > r ? jQuery("#" + t.ref).hide() : jQuery("#" + t.ref).show(), o = null }, 100)) }) } }, _showChilliPopup: function (t, i = {}) { jQuery("body").addClass("chp_ppvisible"); var a = { src: `#${t.ref}` }; i.content && (a = { src: i.content, type: "inline" }), ChilliPopups.open({ item: a, callbacks: { open: function () { jQuery("body").addClass("chp_no_scroll"), _chpmgr.evRept.rView(t.ref), _chpmgr.setDisplayedPopupCookie(t), _chpmgr.setOverlayColor(t.ref), _chpmgr._setOverlayImage(t.ref), _chpmgr._showPopupScreenSection(t.ref, "form"), _chpmgr.smsPopups.checkDynamicFieldForPopup(_chpmgr.getPopupDataById(t.ref)), _chpmgr._checkShowBrand(t.ref), jQuery(document).trigger("chp_pp_open", { ref: t.ref }), i.callback && i.callback("open") }, close: function () { jQuery("body").removeClass("chp_no_scroll").removeClass("chp_ppvisible"), jQuery(document).trigger("chp_pp_closed", { ref: t.ref }), i.callback && i.callback("close") } } }), _chpmgr._popupShowMgr.__addChilliPopupEvents(t) }, __addChilliPopupEvents: function (t) { var i = jQuery("#" + t.ref); jQuery("#" + t.ref).find(".chp_chk_policy").prop("checked", !1), jQuery("#" + t.ref).find(".chp_checkbox_error_msg").hide(), i.find(".chp_link.cls_pp").off("click").on("click", function (t) { t.preventDefault(), ChilliPopups.close() }), i.find(".chp_link.cpy_clp").off("click").on("click", function (t) { t.preventDefault(), _chpmgr._tryCopyBtnText(jQuery(this)) }), i.find(".chp_link.snd_frm").off("click").on("click", function (i) { i.preventDefault(), !_chpmgr.active && (_chpmgr.active = !1, _chpmgr._validateAndSendData(t, function (i, a) { _chpmgr.active = !1, jQuery("#" + t.ref).find(".chp_button.snd_frm").removeClass("chp_locked"), i ? (_chpmgr._showPopupScreenSection(t.ref, "success"), _chpmgr._checkKeywordsOnSuccess(t.ref, a), _chpmgr.setCustomerRegisteredCookie()) : a && a.error_code && alert("Registration couldn't be completed.\ncode " + a.error_code) })) }), i.find(".btn_chp_close").off("click").on("click", ChilliPopups.close) }, _checkBarAndSetPadding: function (t, i) { var a = jQuery("#" + t), r = a.height(); "open" == i ? (a.removeClass("bar_hidden"), a.removeClass("mfp-hide"), r = a.height(), a.css("opacity", "0").animate({ opacity: "0.9" }, 20), jQuery("html").addClass("chp_bar_announcement_open")) : (r = a.height(), a.addClass("bar_hidden mfp-hide"), jQuery("html").removeClass("chp_bar_announcement_open")); var o = "Top"; a.hasClass("chp_pos_bottom") && (o = "Bottom"); var n = _chpmgr.getFloatNumberFromString(jQuery("html").css("padding" + o)); if (a.hasClass("chp_bar_padd_added") && "open" == i) return n + r; if ("open" == i) { var s = n + r; a.addClass("chp_bar_padd_added"), jQuery(document).trigger("chp_bar_announcement_opened", { bar_height: s }) } else { var s = n - r; a.removeClass("chp_bar_padd_added"), jQuery(document).trigger("chp_bar_announcement_closed", { bar_height: s }) } return "Top" == o ? jQuery("html").animate({ paddingTop: s + "px" }, 80) : "Bottom" == o && jQuery("html").animate({ paddingBottom: s + "px" }, 80), n + r } }, getPopupDataById: function (t) { var i = null; return t.includes("sndv_appblk_") ? { ref: t, hs: t } : t.includes("sndv_whtsp") ? ChilliChatButtons._widget : (jQuery.each(_chpmgr.popups, function (a, r) { if (r.id == t) return i = r, !0 }), i) }, getPopupsDataByType: function (t) { var i = []; return jQuery.each(_chpmgr.popups, function (a, r) { r.ptk == t && i.push(r) }), i }, _resetFields: function () { jQuery(".chp_textbox").removeClass("with_error").val("") }, _validatePopupForm: function (t) { var i = 0; if (0 == jQuery("#" + t).find(".chp_textbox:visible[name='email']").length || (jQuery("#" + t).find(".chp_textbox:visible[name='email']").each(function () { var t = jQuery(this), a = t.val().trim(); "" == t.val() ? (t.addClass("with_error"), t.focus(), i++) : !a.match(/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{3,})$/) && !a.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,}))$/) && 320 > !a.length && (t.addClass("with_error"), t.focus(), i++) }), i > 0)) return !1; var a = jQuery("#" + t).find(".chp_chk_policy"); return !(a.length > 0) || !!a.is(":checked") || "true" == a.attr("not-mandatory") || (jQuery("#" + t).find(".chp_checkbox_error_msg").show(), !1) }, _validateAndSendData: function (t, i) { _chpmgr._validatePopupForm(t.ref) ? _chpmgr._sendFormData(t, i) : i(!1) }, _getPopupFormData: function (t) { var i = {}; return jQuery(`#${t} .chp_textbox:visible`).each(function () { var a = jQuery(this), r = a.attr("name") || "str", o = a.val(); if ("email" == r) { var n = function i(a) { var r = (jQuery("#" + t).find(".flag_dropdown:visible").parents(".chp_sms_country_select").find(".chp_selected_country_code").val() || "").trim(); if (0 == r.length) return { is_phone: !1, value: a }; var o = `+${(_chpmgr.smsPopups.countries_data[r] || {}).code}`; return -1 == a.indexOf(o) && -1 == a.indexOf("+") && (a = o + a), { is_phone: !0, value: a } }(o = o.replace(/\s/g, "")); n.is_phone && (o = n.value, r = "phone", i.sms_marketing_phone = o), o.length > 320 && (o = o.substring(0, 320)) } i[r] = o }), i.h = t.replace("_chpp", ""), i.site = _chpmgr.site, i.accepts_marketing = jQuery("#" + t).find(".chp_chk_policy").prop("checked"), i.customer_tags = jQuery("#" + t).find("[name='chp_customer_tags']").val(), i.chp_platform = _chpmgr.chp_platform, _chpmgr.cartEvts.currentCart && (i.cart_token = _chpmgr.cartEvts.currentCart.token), i }, _sendFormData: function (t, i) { var a = _chpmgr.getPopupDataById(t.ref); _chpmgr.active = !0, jQuery("#" + t.ref).find(".chp_button.snd_frm").addClass("chp_locked"), this._getToken(a.hs, function (r, o) { if (r) (function r(o) { var n = _chpmgr._getPopupFormData(t.ref); if (n.token = o, n.hs = a.hs, "_chpp11" == a.tp && (n.cart_info = _chpmgr.cartEvts.currentCart), jQuery(document).trigger("sendvio:before_send_popup_form", { setExtraParams(t) { n = { ...n, ...t } } }), jQuery.isEmptyObject(n.email) && jQuery.isEmptyObject(n.phone)) { i(!1, { error_code: "ML0218" }); return } if (_chpmgr.site.indexOf("myshopify.com") >= 0 && !0 == _chpmgr.settings.useProxy) var s = "https://" + window.location.host + "/apps/chilliapps/leads/create"; else var s = "https://pop.chilliapps.com/leads/create"; jQuery.post(s, n, function (t) { var a, r; r = {}, (a = n).email && (r.email = a.email), a.phone && (r.phone = a.phone), Shopify.analytics.visitor(r, { appId: "157087" }), i(!0, n) }).fail(function (t) { var a = (t.responseJSON || {}).status, r = "PST0701"; a && (r = r + " - " + a), i(!1, { error_code: r }) }) })(o.token); else { var n = "TK0443"; o.status ? 304 == o.status ? n += " - This form is pending configuration. If you are the user, please log in to your Sendvio dashboard and follow the provided instructions to complete the setup process." : n = n + " - " + o.status : n += ", some Ad Blockers could stop the registration.", i(!1, { error_code: n }) } }) }, _getToken: function (t, i) { if (_chpmgr.site.indexOf("myshopify.com") >= 0 && !0 == _chpmgr.settings.useProxy) var a = "https://" + window.location.host + "/apps/chilliapps/token"; else var a = "https://pop.chilliapps.com/token"; jQuery.post(a, { hs: t, site: _chpmgr.site }, function (t) { i(!0, t) }).fail(function (t) { i(!1, { status: (t.responseJSON || {}).status }) }) }, _showPopupScreenSection: function (t, i) { jQuery("#" + t).find(".chpopup").addClass("chp_hidden"), jQuery("#" + t).css({ display: "inline-block", width: "auto" }); var a = jQuery("#" + t).width(); "form" == i ? (jQuery("#" + t).find(".chpopup.popup_main_wrapper").removeClass("chp_hidden").removeClass("hidden"), a = jQuery("#" + t).find(".chpopup.popup_main_wrapper").width()) : "success" == i && (jQuery("#" + t).find(".chpopup.popup_success_wrapper").removeClass("chp_hidden").removeClass("hidden"), a = jQuery("#" + t).find(".chpopup.popup_success_wrapper").width()), jQuery("#" + t).css({ display: "" }) }, _checkKeywordsOnSuccess: function (t, i) { jQuery("#" + t).find(".chp_k_email").text(i.email || i.phone) }, _tryCopyBtnText: function (t) { try { if (t.parents(".chpopup_container").append(jQuery("#chp_txt_utstttco")), jQuery("#chp_txt_utstttco").val(t.text()), navigator.userAgent.match(/ipad|iphone/i)) { var i = document.createRange(); i.selectNodeContents(jQuery("#chp_txt_utstttco")[0]); var a = window.getSelection(); a.removeAllRanges(), a.addRange(i), jQuery("#chp_txt_utstttco")[0].setSelectionRange(0, 999999) } else jQuery("#chp_txt_utstttco").select(); var r = document.execCommand("copy"); jQuery("#chp_txt_utstttco").blur(), r ? alert("Text copied") : (console.error("Cannot copy text"), prompt("Please copy next text", t.text())) } catch (o) { console.error("Unable to copy."), jQuery("#chp_txt_utstttco").blur(), prompt("Please copy next text", t.text()) } }, evRept: { rClick: function (t, i) { _chpmgr.evRept._mReq(t, "rclick", i) }, rView: function (t, i) { _chpmgr.evRept._mReq(t, "rview", i) }, _mReq: function (t, i, a) { var r = _chpmgr.getPopupDataById(t); if (!r) { console.warn("Popup data not found"); return } var o = r.id.replace("_chpp", ""); if ("true" != r._skp_stt && _chpmgr.settings.userCanBeTracked) { var n = { h: o, hs: r.hs, site: _chpmgr.site }; _chpmgr.settings.use_web_pixel ? (Shopify.analytics.publish({ rclick: "sendvio_popup_click", rview: "sendvio_popup_view", rchat: "sendvio_popup_chat" }[i] || "sendvio_popup_event", n), "function" == typeof a && a()) : _chpmgr.evRept._sendToApi(i, n, a) } }, _sendToApi: function (t, i, a) { var r = { rclick: "/popup_click/create", rview: "/popup_view/create", rchat: "/popup_chat/create" }; if (_chpmgr.site.indexOf("myshopify.com") >= 0 && !0 == _chpmgr.settings.useProxy) var o = "https://" + window.location.host + "/apps/chilliapps" + r[t]; else var o = "https://pop.chilliapps.com" + r[t]; jQuery.post(o, i, function (t) { "function" == typeof a && a(t) }).fail(function () { }) } }, _getCookie: function (t) { var i = RegExp(t + "=[^;]+", "i"); return document.cookie.match(i) ? document.cookie.match(i)[0].split("=")[1] : null }, _setCookie: function (t, i, a) { var r = ""; if (a && (r = "expires=" + a.toUTCString()), "object" == typeof Shopify && Shopify.designMode) var o = t + "=" + i + "; " + r + "; SameSite=None; Secure;"; else var o = t + "=" + i + "; " + r + "; path=/"; return document.cookie = o, o }, setOverlayColor: function (t) { var i = jQuery("#" + t).attr("data-overlay") || "rgba(0,0,0,0.8)"; jQuery(".chp_popups_overlay").css({ background: i, opacity: 1 }) }, _setOverlayImage: function (t) { var i = jQuery("#" + t).attr("data-bg-image") || "", a = jQuery("#" + t).attr("data-fill-type"), r = Number(jQuery("#" + t).attr("data-bg-op") || "1"), o = Number(jQuery("#" + t).attr("data-tile-size") || ""); if ("" != i) { jQuery(".chp_popups_overlay").html("
"); var n = _chpmgr.getFillTypeCss(a, o); n.backgroundPosition = "center", n.backgroundImage = "url(" + i + ")", n.opacity = r, jQuery(".chp_popups_overlay .chp_image_overlay").css(n) } }, _checkShowBrand: function (t) { var i = jQuery(`#${t}`); i.find(".chp_brand_container").remove(); var a = _chpmgr.getPopupDataById(t); if (a && a.show_brand) { var r = '
` } }, _chpmgr.appBlockForms = { alert_texts: { widget_added: { en: { title: "After saving, return to the dashboard to finish the setup", content: 'After adding the "Subscription form" app block to your theme and clicking SAVE, don\'t forget to customize and activate welcome messages that will be sent to new subscribers of your form.', btn_text1: "Edit welcome messages", btn_text2: "I'll do it later" }, es: { title: "Despu\xe9s de guardar, vuelve al panel de control para finalizar la configuraci\xf3n", content: 'Despu\xe9s de a\xf1adir el bloque de aplicaci\xf3n "Formulario de suscripci\xf3n" a tu tema y hacer clic en GUARDAR, no olvides personalizar y activar los mensajes de bienvenida que se enviar\xe1n a los nuevos suscriptores de tu formulario.', btn_text1: "Editar mensajes de bienvenida", btn_text2: "Lo har\xe9 m\xe1s tarde" }, fr: { title: "Apr\xe8s avoir enregistr\xe9, retournez au tableau de bord pour terminer la configuration", content: "Apr\xe8s avoir ajout\xe9 le bloc d'application \"Formulaire d'abonnement\" \xe0 votre th\xe8me et cliqu\xe9 sur ENREGISTRER, n'oubliez pas de personnaliser et d'activer les messages de bienvenue qui seront envoy\xe9s aux nouveaux abonn\xe9s de votre formulaire.", btn_text1: "Modifier les notifications", btn_text2: "Je le ferai plus tard" }, ja: { title: "保存後、ダッシュボードに戻って設定を完了してください", content: "テーマにサブスクリプションフォームのアプリブロックを追加して「保存」をクリックした後、新しい購読者に送信されるウェルカムメッセージをカスタマイズしてアクティブにすることをお忘れなく", btn_text1: "ウェルカムメッセージを編集", btn_text2: "後で設定する" } } }, init: function () { var t = _chpmgr.appBlockForms; t._addEvents(), t._resetBlockView() }, _addEvents: function () { var t = _chpmgr.appBlockForms; jQuery(".sendvio_app_block_wrapper .sndv_tab_item").off().click(function (i) { i.preventDefault(), t._setActiveTab(jQuery(this)) }), jQuery(".sendvio_app_block_wrapper .chp_button.snd_frm").attr("href", "javascript:;"), jQuery(".sendvio_app_block_wrapper .chp_button.snd_frm").off().click(function () { if (!_chpmgr.envInfo.isDesignMode()) { var i = jQuery(this).parents(".sendvio_app_block_wrapper"), a = jQuery(this); a.addClass("chp_locked"); var r = { ref: i.attr("id") }; _chpmgr._validateAndSendData(r, function (r, o) { a.removeClass("chp_locked"), r ? t._showBlockSection(i, "success_message") : o && o.error_code && alert("Registration couldn't be completed.\ncode " + o.error_code) }) } }) }, _showBlockSection: function (t, i) { t.find(".sndv_app_block_section").addClass("chp_hidden").hide(), t.find(`.sndv_app_block_section[data-section='${i}']`).removeClass("chp_hidden").show(), t.find(".sndv_bkstk_notify_btn.chp_cloned").addClass("chp_hidden").hide() }, _setActiveFirstTab: function (t) { _chpmgr.appBlockForms._setActiveTab(t.find(".sndv_tab_content").first()) }, _setActiveTab: function (t) { var i = t.attr("data-item"), a = t.parents(".sendvio_app_block_wrapper"), r = a.find(".sndv_tab_item").length; if (a.find(".sndv_tab_item").removeClass("active"), a.find(".sndv_tab_content").addClass("chp_hidden").hide(), a.find(`.sndv_tab_item[data-item='${i}']`).addClass("active"), a.find(`.sndv_tab_content.tab_${i}`).removeClass("chp_hidden").show(), "sms" == i) { var o = a.find(".sndv_tab_content.tab_sms"); _chpmgr.smsPopups.checkDynamicFieldForPopup({ sms: !0, container: o }) } else { var o = a.find(".sndv_tab_content.tab_email"); r > 1 ? o.find(".chp_textbox[name='email']").off().on("change keyup", function () { var t = $(this), i = t.val(); !isNaN(i) && String(i).length == i.length && i.length >= 5 && (t.val(""), _chpmgr.appBlockForms._setActiveTab(a.find(".sndv_tab_item[data-item='sms']")), a.find(".sndv_tab_content[data-item='sms'] .chp_textbox[name='email']").val(i).focus()) }) : _chpmgr.smsPopups._clearDynamicField(a.find(".sndv_tab_content.tab_sms")) } }, _resetBlockView: function (t = null) { (t = t || jQuery(".sendvio_app_block_wrapper")).find(".optin_error_message_container").hide(), t.find(".sndv_app_block_section[data-section='success_message']").hide(), _chpmgr.appBlockForms._showBlockSection(t, "form"), _chpmgr.appBlockForms._setActiveFirstTab(t) }, _checkConfigAlert: function () { if (_chpmgr.envInfo.isDesignMode() && "true" != _chpmgr._getCookie("snvd_subs_form_alert_dismiss")) { var t, i, a, r = { es: "660", fr: "700" }, o = jQuery(".sendvio_app_block_wrapper.subscription_form_wrapper").length > 0, n = _chpmgr.envInfo.getLanguage(); o && "complete" != _chpmgr.settings.welcome_config_status && (t = _chpmgr.appBlockForms.alert_texts.widget_added[n] || _chpmgr.appBlockForms.alert_texts.widget_added.en, i = r[n] || "650", a = `
{{popup_title}}
{{popup_message}}
`, a = (a = (a = (a = a.replace("{{popup_title}}", t.title)).replace("{{popup_message}}", t.content)).replace("{{btn_text1}}", t.btn_text1)).replace("{{btn_text2}}", t.btn_text2), ChilliPopups.open({ item: { src: a, type: "inline" }, callbacks: { open: function () { jQuery("body").addClass("chp_no_scroll") }, close: function () { jQuery("body").removeClass("chp_no_scroll").removeClass("chp_ppvisible") } } }), jQuery(".chpopup_container.subscription_form_alert .btn_main_action").off().click(function (t) { t.preventDefault(); var i = _chpmgr.settings.welcome_action_url; i = i.includes("?") ? `${i}&src=theme_editor` : `${i}?src=theme_editor`, window.open(i, "_blank"), ChilliPopups.close() }), jQuery(".chpopup_container.subscription_form_alert .btn_close_alert").off().click(function () { var t = new Date; t.setTime(t.getTime() + 864e5), _chpmgr._setCookie("snvd_subs_form_alert_dismiss", "true", t), ChilliPopups.close() })) } } }, _chpmgr.backInStock = {
validationTimer: null, productInfo: null, currentVariant: null, product_handle: "", alert_texts: { widget_added: { en: { title: "After saving, return to the dashboard to finish the setup", content: 'After adding the "Back in Stock" app block to your theme and clicking SAVE, don\'t forget to customize and activate the workflow with the email and SMS templates that will be sent to new subscribers of your form.', btn_text1: "Edit notifications", btn_text2: "I'll do it later" }, es: { title: "Despu\xe9s de guardar, vuelve al panel de control para completar la configuraci\xf3n", content: 'Despu\xe9s de agregar el bloque de la aplicaci\xf3n "Back in Stock" a tu tema y hacer clic en GUARDAR, no olvides personalizar y activar el flujo de trabajo con las plantillas de correo electr\xf3nico y SMS que se enviar\xe1n a los nuevos suscriptores de tu formulario.', btn_text1: "Editar notificaciones", btn_text2: "Lo har\xe9 m\xe1s tarde" }, fr: { title: "Apr\xe8s avoir enregistr\xe9, retournez au tableau de bord pour terminer la configuration", content: "Apr\xe8s avoir ajout\xe9 le bloc d'application \"Back in Stock\" \xe0 votre th\xe8me et cliqu\xe9 sur ENREGISTRER, n'oubliez pas de personnaliser et d'activer le flux de travail avec les mod\xe8les d'email et SMS qui seront envoy\xe9s aux nouveaux abonn\xe9s de votre formulaire.", btn_text1: "Modifier les notifications", btn_text2: "Je le ferai plus tard" }, ja: { title: "保存後、ダッシュボードに戻って設定を完了してください", content: "テーマに「再入荷お知らせ」アプリブロックを追加し、「保存」をクリックした後は、フォームの新規登録者に送信されるメールおよびSMSテンプレートで、ワークフローをカスタマイズし、有効化するのをお忘れなく。", btn_text1: "通知を編集する", btn_text2: "後で行う" } }, widget_added_flows: { en: { title: "After saving, return to the dashboard to finish the setup", content: 'After adding the "Back in Stock" app block to your theme and clicking SAVE, please return to the Shopify Flow edit tab to activate the workflow with the email and SMS templates that will be sent to new subscribers of your form.', btn_text2: "Ok, got it!" }, es: { title: "Despu\xe9s de guardar, vuelve al panel de control para completar la configuraci\xf3n", content: 'Despu\xe9s de agregar el bloque de la aplicaci\xf3n "De nuevo en stock" a tu tema y hacer clic en GUARDAR, por favor regresa a la pesta\xf1a de edici\xf3n de Shopify Flow para activar el flujo de trabajo con las plantillas de correo electr\xf3nico y SMS que se enviar\xe1n a los nuevos suscriptores de tu formulario.', btn_text2: "\xa1Ok, entendido!" }, fr: { title: "Apr\xe8s avoir enregistr\xe9, retournez au tableau de bord pour terminer la configuration", content: "Apr\xe8s avoir ajout\xe9 le bloc de l'application \"Retour en stock\" \xe0 votre th\xe8me et cliqu\xe9 sur ENREGISTRER, veuillez revenir \xe0 l'onglet d'\xe9dition de Shopify Flow pour activer le flux de travail avec les mod\xe8les d'email et SMS qui seront envoy\xe9s aux nouveaux abonn\xe9s de votre formulaire.", btn_text2: "D'accord, compris !" }, ja: { title: "保存後、設定を完了するためにダッシュボードに戻ってください", content: "テーマに「再入荷お知らせ」アプリブロックを追加して「保存」をクリックした後、Shopify Flowの編集タブに戻り、フォームの新規登録者に送信されるメールおよびSMSテンプレートでワークフローを有効化してください。", btn_text2: "了解しました" } }, widget_missing: { en: { title: "The Back in Stock widget is missing", content: "You've set up Back in Stock alerts in the Sendvio app, but the widget to let customers subscribe to those alerts is missing. Install the widget so customers can sign up for alerts.", btn_text1: "Install now", btn_text2: "Don't show again" }, es: { title: 'Falta el widget "De nuevo en stock"', content: 'Has configurado alertas "De nuevo en stock" en la aplicaci\xf3n de Sendvio, pero falta el widget que permite a los clientes suscribirse a esas alertas. Instala el widget para que los clientes puedan registrarse para recibir notificaciones.', btn_text1: "Instalar ahora", btn_text2: "No mostrar de nuevo" }, fr: { title: 'Le widget "De retour en stock" est manquant', content: "Vous avez configur\xe9 des alertes \"De retour en stock\" dans l'application Sendvio, mais le widget permettant aux clients de s'abonner \xe0 ces alertes est manquant. Installez le widget pour que vos clients puissent s'inscrire aux alertes.", btn_text1: "Installer maintenant", btn_text2: "Ne plus afficher" } } }, checkInit: function () { var t = _chpmgr.backInStock, i = _chpmgr.envInfo.getUrlProductHandleIfExists(); if (i && "" != i) _chpmgr.backInStock._getFormWrapper() && (t.product_handle = i, t._listenForVariantChanges(), 0 == t._getButtons().length ? t._checkProductInfo(i, "first_out_of_stock") : t._checkProductInfo(i, _chpmgr.backInStock._getCurrentVariantId())) }, _getCurrentVariantId: function () { var t = document.URL; return new URL(t).searchParams.get("variant") }, _checkConfigAlert: function () { if (_chpmgr.envInfo.isDesignMode()) { var t = _chpmgr.envInfo.getUrlProductHandleIfExists(); if (t && "" != t && "true" != _chpmgr._getCookie("snvd_bkstk_alert_dismiss")) { var i = jQuery(".sendvio_back_in_stock_wrapper").length > 0, a = _chpmgr.envInfo.getLanguage(), r = { es: "680", fr: "705" }; i && "missing" == _chpmgr.settings.bkstk_config_status && (_chpmgr.settings.bkstk_wtype && "flows" == _chpmgr.settings.bkstk_wtype ? o(_chpmgr.backInStock.alert_texts.widget_added_flows[a] || _chpmgr.backInStock.alert_texts.widget_added_flows.en, "flows") : o(_chpmgr.backInStock.alert_texts.widget_added[a] || _chpmgr.backInStock.alert_texts.widget_added.en)) } } function o(t, i = "sendvio") { var o = r[a] || "650"; if ("flows" == i) var n = `
{{popup_title}}
{{popup_message}}
`; else var n = `
{{popup_title}}
{{popup_message}}
`; n = (n = (n = (n = n.replace("{{popup_title}}", t.title)).replace("{{popup_message}}", t.content)).replace("{{btn_text1}}", t.btn_text1)).replace("{{btn_text2}}", t.btn_text2), ChilliPopups.open({ item: { src: n, type: "inline" }, callbacks: { open: function () { jQuery("body").addClass("chp_no_scroll") }, close: function () { jQuery("body").removeClass("chp_no_scroll").removeClass("chp_ppvisible") } } }), jQuery(".chpopup_container.back_in_stock_alert .btn_main_action").off().click(function (t) { t.preventDefault(); var i = _chpmgr.settings.bkstk_action_url; i = i.includes("?") ? `${i}&src=theme_editor` : `${i}?src=theme_editor`, window.open(i, "_blank"), ChilliPopups.close() }), jQuery(".chpopup_container.back_in_stock_alert .btn_close_alert").off().click(function () { if (!jQuery(this).hasClass("btn_close_alert")) { var t = new Date; t.setTime(t.getTime() + 864e5), _chpmgr._setCookie("snvd_bkstk_alert_dismiss", "true", t) } ChilliPopups.close() }) } }, _listenForVariantChanges: function () { var t = _chpmgr.backInStock; document.addEventListener("change", function (i) { if (!(jQuery(i.target).parents(".sendvio_back_in_stock_wrapper").length > 0)) { clearTimeout(t.validationTimer); var a = t._getCurrentVariantId(); a && "" != a && (t.validationTimer = setTimeout(function () { t._checkProductInfo(t.product_handle, a) }, 100)) } }) }, _checkProductInfo: function (t, i) { var a = _chpmgr.backInStock; function r() { var t = a.productInfo.variants.filter(t => t.id == Number(i))[0]; "first_out_of_stock" == i && (t = a.productInfo.variants.filter(t => !t.available)[0]), t || (t = a.productInfo.variants.filter(t => t.available)[0]), t || (t = a.productInfo.variants[0]), a._resetButtons(), a.currentVariant = t, (!t.available || _chpmgr.envInfo.isDesignMode()) && a._setupButtons() } a.productInfo ? r() : _chpmgr.envInfo.getProductInfo({ force_get: !0, product_handle: t, callback(t) { t && (a.productInfo = t, r()) } }) }, _setupButtons: function () {
var t = _chpmgr.backInStock, i = t._getFormWrapper(); if ("app_block" == i.type) { var a = jQuery(i.container.find(".sndv_bkstk_notify_btn").get(0)).clone(); a.removeClass("chp_hidden").show(), i.container.find(".sndv_bkstk_notify_btn").addClass("chp_hidden").hide(), t._resetBlockView() } else var a = jQuery(`
${i.container.popup_html}
`).find(".chp_component.btn_notify_me .chp_button"); if (a && 0 != a.length) { var r = t._getButtons(); 0 == r.length && ("app_block" == i.type ? o() : setTimeout(function () { o() }, 5e3)), jQuery.each(r, function (t, i) { var r = jQuery(this), n = a.clone(); n.css({ marginBottom: "10px", width: "100%", display: "block" }), n.attr("data-chp-pos", t).addClass("chp_cloned"), n.removeAttr("disabled"), n.off().click(function (t) { t.preventDefault(), t.stopPropagation(), o(n) }), n.insertAfter(r), r.addClass("chp_original chp_hidden").hide() }), _chpmgr.envInfo.isDesignMode() || "app_block" != i.type || i.container.insertAfter(r.get(0)) } function o(a) {
if ("app_block" == i.type) {
if (t._addEventsForAppBlock(), t._showBlockSection("form"), _chpmgr.backInStock._setActiveFirstTab(), i.container.find(".sndv_bkstk_prod_kwd").text(n()), _chpmgr.envInfo.isDesignMode()) {
var r, o, s = _chpmgr.envInfo.getLanguage();["en", "es", "fr", "ja"].includes(s) || (s = "en"), jQuery(".sndv_bkstk_help_text").remove(), jQuery(`
${{ en: "Your customers will see the subscription form here.", es: "Tus clientes ver\xe1n aqu\xed el formulario de suscripci\xf3n.", fr: " Vos clients verront ici le formulaire d’abonnement.", ja: "お客様はここに再入荷通知の登録フォームが表示されます。" }[s]}
${{ en: "Because of theme editor limitations, the form must be edited in a separate block.", es: "Debido a las limitaciones del editor de temas, el formulario debe editarse en un bloque separado.", fr: "En raison des limitations de l’\xe9diteur de th\xe8me, le formulaire doit \xeatre modifi\xe9 dans un bloc s\xe9par\xe9.", ja: "テーマエディタの制限により、このフォームは別のブロックで編集する必要があります。" }[s]}
`).insertAfter(a), jQuery(".chp_btn_bkstk_edit_form").off().click(function () { i.container[0].scrollIntoView({ behavior: "smooth" }) })
}
} else { _chpmgr._popupShowMgr._showChilliPopup({ ref: i.container.id, invocation: "manual" }, () => { }), jQuery(".chp_component.btn_notify_me").hide().addClass("chp_hidden"), t._addEventsForPopup(i.container.id), r = "{{product_with_variant}}", o = n(), jQuery("#" + i.container.id).find(".popup_main_wrapper .chp_component span").each(function () { if ($(this).text().includes(r)) { var t = $(this)[0].outerHTML; t = t.replace(r, o), $(this).replaceWith(t) } }) }
} function n() { var i = t.productInfo.title; return "Default Title" != t.currentVariant.title && (i = `${i} - ${t.currentVariant.title}`), i }
}, _getButtons: function () { var t = jQuery("form[action^='/cart/add'] .shop-button-soldout, form[action^='/cart/add'] [type='submit'], .addtocart"); return 0 == t.length && (t = jQuery("[name='add'], .addToCart, .add, .ADDTOCART, .AddToCart, .add_to_cart, .add-to-cart, .Add-To-Cart, #AddToCart, .add-to-cart-btn")), t = t.slice(0, 1) }, _resetButtons: function () { jQuery(".chp_original").removeClass("chp_hidden").css("display", ""), jQuery(".chp_cloned").remove(), _chpmgr.backInStock._showBlockSection("none") }, _getFormWrapper: function () { var t = _chpmgr.envInfo.getLanguage(), i = _chpmgr.getPopupsDataByType("bstk"); return jQuery(".sendvio_back_in_stock_wrapper").length > 0 ? { container: jQuery(".sendvio_back_in_stock_wrapper"), type: "app_block" } : i.length > 0 ? { container: i.filter(i => i.language == t)[0] || i[0], type: "popup" } : null }, _addEventsForPopup: function (t) { var i = _chpmgr.backInStock; jQuery(document).on("sendvio:before_send_popup_form", function (t, a) { a.setExtraParams({ shopify_product_id: i.productInfo.id, shopify_product_variant_id: i.currentVariant.id }) }), jQuery(document).on("chp_pp_closed", function (i, a) { a.ref == t && jQuery("#" + t).find(".chp_textbox").val("").removeClass("with_error") }) }, _addEventsForAppBlock: function () { var t = _chpmgr.backInStock; jQuery(".sndv_tab_item").off().click(function (t) { t.preventDefault(), _chpmgr.backInStock._setActiveTab(jQuery(this)) }), jQuery(".sndv_btn_notify").attr("href", "javascript:;"), jQuery(".sndv_btn_notify").off().click(function () { if (_chpmgr.envInfo.isDesignMode()) { console.log("-- design mode, returning"); return } var i = jQuery(this); i.addClass("chp_locked"); var a = i.parents(".sndv_bkstk_form_wrapper").find(".chp_pp_id").val(); _chpmgr._validateAndSendData({ ref: a }, function (a, r) { i.removeClass("chp_locked"), a ? t._showBlockSection("success_message") : r && r.error_code && alert("Registration couldn't be completed.\ncode " + r.error_code) }) }), jQuery(document).on("sendvio:before_send_popup_form", function (i, a) { a.setExtraParams({ shopify_product_id: t.productInfo.id, shopify_product_variant_id: t.currentVariant.id }) }) }, _showBlockSection: function (t) { "button_notify" != t && jQuery(".sendvio_back_in_stock_wrapper").show(), jQuery(".sndv_bkstk_screen_section").addClass("chp_hidden").hide(), jQuery(`.sndv_bkstk_screen_section[data-section='${t}']`).removeClass("chp_hidden").show(), jQuery(".sndv_bkstk_notify_btn.chp_cloned").addClass("chp_hidden").hide() }, _setActiveFirstTab: function () { _chpmgr.backInStock._setActiveTab(jQuery(".sndv_tab_content").first()) }, _setActiveTab: function (t) { var i = t.attr("data-item"), a = t.parents(".sendvio_back_in_stock_wrapper"), r = a.find(".sndv_tab_item").length; if (jQuery(".sndv_tab_item").removeClass("active"), jQuery(".sndv_tab_content").addClass("chp_hidden").hide(), jQuery(`.sndv_tab_item[data-item='${i}']`).addClass("active"), jQuery(`.sndv_tab_content.tab_${i}`).removeClass("chp_hidden").show(), "sms" == i) _chpmgr.smsPopups.checkDynamicFieldForPopup({ sms: !0, container: a.find(".sndv_tab_content.tab_sms") }); else { var o = a.find(".sndv_tab_content.tab_email"); r > 1 ? o.find(".chp_textbox[name='email']").off().on("change keyup", function () { var t = $(this), i = t.val(); !isNaN(i) && String(i).length == i.length && i.length >= 5 && (t.val(""), _chpmgr.backInStock._setActiveTab(a.find(".sndv_tab_item[data-item='sms']")), a.find(".sndv_tab_content[data-item='sms'] .chp_textbox[name='email']").val(i).focus()) }) : _chpmgr.smsPopups._clearDynamicField(a.find(".sndv_tab_content.tab_sms")) } }, _resetBlockView: function () { jQuery(".optin_error_message_container").hide(), jQuery(".sndv_bkstk_success_message").hide(), jQuery(".sendvio_back_in_stock_wrapper").hide(), _chpmgr.backInStock._showBlockSection("button_notify"), _chpmgr.backInStock._setActiveFirstTab(), jQuery(".sndv_bkstk_notify_btn.chp_cloned").removeClass("chp_hidden").show() }
}, _chpmgr.ProductReviews = {
itemTemplate: null, reviewsType: "products", backgroundColor: null, textColor: null, filePage: 1, mediaPage: 1, reviews_loaded_callbacks: [], get_reviews_callbacks: {}, get_reviews_with_media_callbacks: [], get_filtered_reviews_with_media_callbacks: [], reviews_summary: {}, back_svg: '', next_svg: '', custom_close_icon: '', translations: { en: { how_d_rate_product: "How would you rate this product?", add_photo_video_discount: "Add a photo or video for {{discount}}% off your next order.", add_photo_video: "Add a photo or video.", add_media: "Add media", file_size_less_than: "File size must be less than 10MB", review_title: "Review title", review_content: "Review content", your_nickname: "Your nickname", your_email: "Your email", field_required: "This field is required", how_was_xper_with_shop: "How was your experience shopping with us?", confirm_review: "Please confirm your review", we_ve_sent_email_to: "We have sent an email to", back: "Back", next: "Next", skip: "Skip", submit: "Submit", customer_reviews: "Customer reviews", reviews: "Reviews", x_reviews: "{{count}} reviews", star: "stars", "1_star": "1 star", write_a_review: "Write a review", video_too_large: "Video size must be less than 100MB", image_too_large: "Image size must be less than 10MB", invalid_file: "Only JPG, PNG, GIF, MP4 and MOV files are allowed", email_not_displayed: "Your email address will not be displayed on our website.", click_confirm_review: "To complete your review, please open the email and click the Confirm Review button.", reviews_with_images: "Reviews with images", see_all_photos: "See all photos", form_customer_use_only: "This form is for customer use only.", attempting_submit_review: "It appears you’re attempting to submit a review on behalf of a customer. To ensure review authenticity and remain compliant with applicable laws, please use the official bulk upload tool in your Sendvio dashboard.", upload_reviews: " Upload Reviews", download_sample_csv: "Download Sample CSV File", no_reviews_available: "No reviews available yet", be_first_share_experience: "Be the first to share your experience and help others make informed decisions." }, fr: { how_d_rate_product: "Comment \xe9valueriez-vous ce produit ?", add_photo_video_discount: "Ajoutez une photo ou une vid\xe9o pour obtenir {{discount}} % de r\xe9duction sur votre prochaine commande.", add_photo_video: "Ajoutez une photo ou une vid\xe9o.", add_media: "Ajouter un m\xe9dia", file_size_less_than: "La taille du fichier doit \xeatre inf\xe9rieure \xe0 10 Mo", review_title: "Titre de l'avis", review_content: "Contenu de l'avis", your_nickname: "Votre pseudo", your_email: "Votre e-mail", field_required: "Ce champ est obligatoire", how_was_xper_with_shop: "Comment s’est pass\xe9e votre exp\xe9rience d’achat avec nous ?", confirm_review: "Veuillez confirmer votre avis", we_ve_sent_email_to: "Nous avons envoy\xe9 un e-mail \xe0", back: "Retour", next: "Suivant", skip: "Ignorer", submit: "Envoyer", customer_reviews: "Avis clients", reviews: "Avis", x_reviews: "{{count}} avis", star: "\xe9toiles", "1_star": "1 \xe9toile", write_a_review: "\xc9crire un avis", video_too_large: "La taille de la vid\xe9o doit \xeatre inf\xe9rieure \xe0 100 Mo", image_too_large: "La taille de l'image doit \xeatre inf\xe9rieure \xe0 10 Mo", invalid_file: "Seuls les fichiers JPG, PNG, GIF, MP4 et MOV sont autoris\xe9s", email_not_displayed: "Votre adresse e-mail ne sera pas affich\xe9e sur notre site web.", click_confirm_review: "Pour compl\xe9ter votre avis, veuillez ouvrir l'e-mail et cliquer sur le bouton Confirmer l'avis.", reviews_with_images: "Avis avec images", see_all_photos: "Voir toutes les photos", form_customer_use_only: "Ce formulaire est r\xe9serv\xe9 aux clients", attempting_submit_review: "Il semble que vous essayiez de soumettre un avis au nom d’un client. Pour garantir l’authenticit\xe9 des avis et respecter les lois en vigueur, veuillez utiliser l’outil d’importation en masse disponible dans votre tableau de bord Sendvio.", upload_reviews: "Importer des avis", download_sample_csv: "T\xe9l\xe9charger un exemple de fichier CSV", no_reviews_available: "Aucun avis disponible pour le moment", be_first_share_experience: "Soyez le premier \xe0 partager votre exp\xe9rience et \xe0 aider les autres \xe0 faire des d\xe9cisions \xe9clair\xe9es." }, es: { how_d_rate_product: "\xbfC\xf3mo calificar\xedas este producto?", add_photo_video_discount: "Agrega una foto o video y obt\xe9n un {{discount}}% de descuento en tu pr\xf3ximo pedido.", add_photo_video: "Agrega una foto o video.", add_media: "Agregar archivo", file_size_less_than: "El archivo debe pesar menos de 10MB", review_title: "T\xedtulo de la rese\xf1a", review_content: "Contenido de la rese\xf1a", your_nickname: "Tu apodo", your_email: "Tu correo electr\xf3nico", field_required: "Este campo es obligatorio", how_was_xper_with_shop: "\xbfC\xf3mo fue tu experiencia comprando con nosotros?", confirm_review: "Por favor, confirma tu rese\xf1a", we_ve_sent_email_to: "Hemos enviado un correo electr\xf3nico a", back: "Atr\xe1s", next: "Siguiente", skip: "Omitir", submit: "Enviar", customer_reviews: "Opiniones de clientes", reviews: "Rese\xf1as", x_reviews: "{{count}} rese\xf1as", star: "estrellas", "1_star": "1 estrella", write_a_review: "Escribir una rese\xf1a", video_too_large: "El tama\xf1o del video debe ser menor a 100MB", image_too_large: "El tama\xf1o de la imagen debe ser menor a 10MB", invalid_file: "Solo se permiten archivos JPG, PNG, GIF, MP4 y MOV", email_not_displayed: "Tu direcci\xf3n de correo electr\xf3nico no se mostrar\xe1 en nuestro sitio web.", click_confirm_review: "Para completar tu rese\xf1a, por favor abre el correo electr\xf3nico y haz clic en el bot\xf3n Confirmar rese\xf1a.", reviews_with_images: "Rese\xf1as con im\xe1genes", see_all_photos: "Ver todas las fotos", form_customer_use_only: "Este formulario es para uso de clientes.", attempting_submit_review: "Parece que est\xe1s intentando enviar una rese\xf1a en nombre de un cliente. Para garantizar la autenticidad de las rese\xf1as y cumplir con las leyes aplicables, utiliza la herramienta oficial de carga masiva en tu panel de Sendvio.", upload_reviews: "Subir rese\xf1as", download_sample_csv: "Descargar archivo CSV de ejemplo", no_reviews_available: "A\xfan no hay rese\xf1as disponibles", be_first_share_experience: "S\xe9 el primero en compartir tu experiencia y ayudar a otros a tomar decisiones informadas." }, ja: { how_d_rate_product: "この商品をどう評価しますか?", add_photo_video_discount: "写真または動画を追加すると、次回のご注文が{{discount}}%割引になります。", add_photo_video: "写真または動画を追加", add_media: "メディアを追加", file_size_less_than: "ファイルサイズは10MB未満である必要があります", review_title: "レビュータイトル", review_content: "レビュー内容", your_nickname: "ニックネーム", your_email: "メールアドレス", field_required: "この項目は必須です", how_was_xper_with_shop: "当店でのお買い物はいかがでしたか?", confirm_review: "レビューを確認してください", we_ve_sent_email_to: "メールを送信しました", back: "戻る", next: "次へ", skip: "スキップ", submit: "送信", customer_reviews: "カスタマーレビュー", reviews: "レビュー", x_reviews: "レビュー {{count}} 件", star: "星", "1_star": "星1つ", write_a_review: "レビューを書く", video_too_large: "動画のサイズは100MB未満である必要があります", image_too_large: "画像のサイズは10MB未満である必要があります", invalid_file: "JPG、PNG、GIF、MP4、MOVファイルのみ許可されています", email_not_displayed: "あなたのメールアドレスはウェブサイトに表示されません。", click_confirm_review: "レビューを完了するには、メールを開き、確認レビューボタンをクリックしてください。", reviews_with_images: "画像付きのレビュー", see_all_photos: "すべての写真を見る", form_customer_use_only: "このフォームはお客様専用です", attempting_submit_review: "お客様に代わってレビューを送信しようとしているようです。レビューの信頼性を確保し、適用される法律を遵守するために、Sendvioダッシュボードの一括アップロード機能をご利用ください。", upload_reviews: "レビューをアップロードする", download_sample_csv: "CSVサンプルファイルをダウンロード", no_reviews_available: "まだレビューはありません", be_first_share_experience: "最初の人になって、あなたの体験を共有し、他の人が情報に基づいた決定をするのを手助けしてください。" }, ko: { how_d_rate_product: "이 제품을 어떻게 평가하시겠습니까?", add_photo_video_discount: "사진이나 영상을 추가하면 count다음 주문 시 {{discount}}% 할인됩니다.", add_photo_video: "사진이나 영상 추가하기", add_media: "미디어 추가", file_size_less_than: "파일 크기는 10MB 미만이어야 합니다", review_title: "리뷰 제목", review_content: "리뷰 내용", your_nickname: "닉네임", your_email: "이메일", field_required: "이 필드는 필수입니다", how_was_xper_with_shop: "저희 쇼핑몰에서의 쇼핑 경험은 어떠셨나요?", confirm_review: "리뷰를 확인해주세요", we_ve_sent_email_to: "이메일을 전송했습니다", back: "뒤로", next: "다음", skip: "건너뛰기", submit: "제출하기", customer_reviews: "고객 리뷰", reviews: "리뷰", x_reviews: "리뷰 {{count}}개", star: "별들", "1_star": "별1개", write_a_review: "리뷰 작성", video_too_large: "동영상 크기는 100MB 미만이어야 합니다", image_too_large: "이미지 크기는 10MB 미만이어야 합니다", invalid_file: "JPG, PNG, GIF, MP4, MOV 파일만 허용됩니다", email_not_displayed: "이메일 주소는 웹사이트에 표시되지 않습니다.", click_confirm_review: "리뷰를 완료하려면 이메일을 열고 확인 리뷰 버튼을 클릭하세요.", reviews_with_images: "이미지가 포함된 리뷰", see_all_photos: "모든 사진 보기", form_customer_use_only: "이 양식은 고객 전용입니다", attempting_submit_review: "고객을 대신하여 리뷰를 제출하려는 것으로 보입니다. 리뷰의 진위성을 보장하고 관련 법률을 준수하기 위해 Sendvio 대시보드의 공식 대량 업로드 도구를 사용해 주세요.", upload_reviews: "리뷰 업로드", download_sample_csv: "샘플 CSV 파일 다운로드", no_reviews_available: "아직 이용 가능한 리뷰가 없습니다", be_first_share_experience: "첫 번째 사람이 되어 경헙을 공유하고 다른 사람들이 정보에 기반한 결정을 내리는 데 도움을 줍니다." }, de: { how_d_rate_product: "Wie w\xfcrden Sie dieses Produkt bewerten?", add_photo_video_discount: "F\xfcgen Sie ein Foto oder Video hinzu und erhalten Sie {{discount}} % Rabatt auf Ihre n\xe4chste Bestellung.", add_photo_video: "Foto oder Video hinzuf\xfcgen", add_media: "Medien hinzuf\xfcgen", file_size_less_than: "Dateigr\xf6\xdfe muss unter 10 MB liegen", review_title: "Titel der Bewertung", review_content: "Bewertungstext", your_nickname: "Ihr Spitzname", your_email: "Ihre E-Mail", field_required: "Dieses Feld ist erforderlich", how_was_xper_with_shop: "Wie war Ihr Einkaufserlebnis bei uns?", confirm_review: "Bitte best\xe4tigen Sie Ihre Bewertung", we_ve_sent_email_to: "Wir haben eine E-Mail gesendet an", back: "Zur\xfcck", next: "Weiter", skip: "\xdcberspringen", submit: "Absenden", customer_reviews: "Kundenbewertungen", reviews: "Bewertungen", x_reviews: "{{count}} Bewertungen", star: "Sterne", "1_star": "1 Stern", write_a_review: "Eine Bewertung schreiben", video_too_large: "Videogr\xf6\xdfe muss unter 100 MB liegen", image_too_large: "Bildgr\xf6\xdfe muss unter 10 MB liegen", invalid_file: "Nur JPG-, PNG-, GIF-, MP4- und MOV-Dateien sind erlaubt", email_not_displayed: "Ihre E-Mail-Adresse wird nicht auf unserer Website angezeigt.", click_confirm_review: "Um Ihre Bewertung abzuschlie\xdfen, \xf6ffnen Sie die E-Mail und klicken Sie auf den Best\xe4tigungs-Bewertungs-Button.", reviews_with_images: "Bewertungen mit Bildern", see_all_photos: "Alle Fotos ansehen", form_customer_use_only: "Dieses Formular ist nur f\xfcr Kunden bestimmt", attempting_submit_review: "Es scheint, dass Sie versuchen, eine Bewertung im Namen eines Kunden abzugeben. Um die Authentizit\xe4t der Bewertungen zu gew\xe4hrleisten und geltende Gesetze einzuhalten, verwenden Sie bitte das offizielle Massen-Upload-Tool in Ihrem Sendvio-Dashboard.", upload_reviews: "Bewertungen hochladen", download_sample_csv: "Beispiel-CSV-Datei herunterladen", no_reviews_available: "Noch keine Bewertungen verf\xfcgbar", be_first_share_experience: "Seien Sie der Erste, der Ihre Erfahrung teilt und anderen dabei hilft, informierte Entscheidungen zu treffen." }, pt: { how_d_rate_product: "Como voc\xea avaliaria este produto?", add_photo_video_discount: "Adicione uma foto ou v\xeddeo e ganhe {{discount}}% de desconto na pr\xf3xima compra.", add_photo_video: "Adicione uma foto ou v\xeddeo.", add_media: "Adicionar m\xeddia", file_size_less_than: "O tamanho do arquivo deve ser inferior a 10MB", review_title: "T\xedtulo da avalia\xe7\xe3o", review_content: "Conte\xfado da avalia\xe7\xe3o", your_nickname: "Seu apelido", your_email: "Seu e-mail", field_required: "Este campo \xe9 obrigat\xf3rio", how_was_xper_with_shop: "Como foi sua experi\xeancia conosco?", confirm_review: "Por favor, confirme sua avalia\xe7\xe3o", we_ve_sent_email_to: "Enviamos um e-mail para", back: "Voltar", next: "Pr\xf3ximo", skip: "Pular", submit: "Enviar", customer_reviews: "Avalia\xe7\xf5es dos clientes", reviews: "Avalia\xe7\xf5es", x_reviews: "{{count}} avalia\xe7\xf5es", star: "estrelas", "1_star": "1 estrela", write_a_review: "Escrever uma avalia\xe7\xe3o", video_too_large: "O tamanho do v\xeddeo deve ser inferior a 100MB", image_too_large: "O tamanho da imagem deve ser inferior a 10MB", invalid_file: "Apenas arquivos JPG, PNG, GIF, MP4 e MOV s\xe3o permitidos", email_not_displayed: "Seu endere\xe7o de e-mail n\xe3o ser\xe1 exibido no nosso site.", click_confirm_review: "Para completar sua avalia\xe7\xe3o, abra o e-mail e clique no bot\xe3o Confirmar avalia\xe7\xe3o.", reviews_with_images: "Avalia\xe7\xf5es com imagens", see_all_photos: "Ver todas as fotos", form_customer_use_only: "Este formul\xe1rio \xe9 apenas para clientes", attempting_submit_review: "Parece que voc\xea est\xe1 tentando enviar uma avalia\xe7\xe3o em nome de um cliente. Para garantir a autenticidade das avalia\xe7\xf5es e estar em conformidade com as leis aplic\xe1veis, use a ferramenta oficial de envio em massa no seu painel do Sendvio.", upload_reviews: "Enviar avalia\xe7\xf5es", download_sample_csv: "Beispiel-CSV-Datei herunterladen", no_reviews_available: "Ainda n\xe3o h\xe1 avalia\xe7\xf5es dispon\xedveis", be_first_share_experience: "Seja o primeiro a compartilhar sua experi\xeancia e ajudar outros a tomar decis\xf5es informadas." }, it: { how_d_rate_product: "Come valuteresti questo prodotto?", add_photo_video_discount: "Aggiungi una foto o un video per ottenere uno sconto del {{discount}}% sul tuo prossimo ordine.", add_photo_video: "Aggiungi una foto o un video.", add_media: "Aggiungi media", file_size_less_than: "La dimensione del file deve essere inferiore a 10 MB", review_title: "Titolo della recensione", review_content: "Contenuto della recensione", your_nickname: "Il tuo nickname", your_email: "La tua email", field_required: "Questo campo \xe8 obbligatorio", how_was_xper_with_shop: "Com'\xe8 stata la tua esperienza con noi?", confirm_review: "Per favore, conferma la tua recensione", we_ve_sent_email_to: "Abbiamo inviato un'e-mail a", back: "Indietro", next: "Avanti", skip: "Salta", submit: "Invia", customer_reviews: "Recensioni dei clienti", reviews: "Recensioni", x_reviews: "{{count}} recensioni", star: "stelle", "1_star": "1 stella", write_a_review: "Scrivi una recensione", video_too_large: "La dimensione del video deve essere inferiore a 100 MB", image_too_large: "La dimensione dell'immagine deve essere inferiore a 10 MB", invalid_file: "Sono consentiti solo file JPG, PNG, GIF, MP4 e MOV", email_not_displayed: "Il tuo indirizzo email non sar\xe0 visualizzato sul nostro sito web.", click_confirm_review: "Per completare la tua recensione, apri l'e-mail e fai clic sul pulsante Conferma recensione.", reviews_with_images: "Recensioni con immagini", see_all_photos: "Vedi tutte le foto", form_customer_use_only: "Questo modulo \xe8 riservato ai clienti", attempting_submit_review: "Sembra che tu stia tentando di inviare una recensione per conto di un cliente. Per garantire l’autenticit\xe0 delle recensioni e rispettare le leggi vigenti, utilizza lo strumento di caricamento massivo nel tuo pannello di controllo Sendvio.", upload_reviews: "Carica recensioni", download_sample_csv: "Scarica file CSV di esempio", no_reviews_available: "Nessuna recensione disponibile al momento", be_first_share_experience: "Sii il primo a condividere la tua esperienza e ad aiutare gli altri a prendere decisioni informate." }, zh: { how_d_rate_product: "您如何评价这款产品?", add_photo_video_discount: "添加照片或视频可享受下一单 {{discount}}% 的折扣。", add_photo_video: "添加照片或视频", add_media: "添加媒体", file_size_less_than: "文件大小必须小于 10MB", review_title: "评价标题", review_content: "评价内容", your_nickname: "您的昵称", your_email: "您的邮箱", field_required: "此字段为必填项", how_was_xper_with_shop: "您在我们店的购物体验如何?", confirm_review: "请确认您的评价", we_ve_sent_email_to: "我们已发送电子邮件至", back: "返回", next: "下一步", skip: "跳过", submit: "提交", customer_reviews: "客户评价", reviews: "评价", x_reviews: "{{count}} 评价", star: "星星", "1_star": "星1颗", write_a_review: "写评价", video_too_large: "视频大小必须小于 100MB", image_too_large: "图片大小必须小于 10MB", invalid_file: "仅允许 JPG、PNG、GIF、MP4 和 MOV 文件", email_not_displayed: "您的电子邮件地址不会显示在我们的网站上。", click_confirm_review: "要完成您的评价,请打开电子邮件并点击确认评价按钮。", reviews_with_images: "带图片的评论", see_app_photos: "查看所有照片", form_customer_use_only: "此表单仅供客户使用", attempting_submit_review: "您似乎正在尝试代表客户提交评论。为确保评论的真实性并遵守相关法律,请使用 Sendvio 仪表板中的官方批量上传工具。", upload_reviews: "上传评论", download_sample_csv: "下载示例 CSV 文件", no_reviews_available: "暂无评论", be_first_share_experience: "成为第一个分享您体验的人,帮助他人做出明智的决定。" }, nl: { how_d_rate_product: "Hoe zou je dit product beoordelen?", add_photo_video_discount: "Voeg een foto of video toe en ontvang {{discount}}% korting op je volgende bestelling.", add_photo_video: "Voeg een foto of video toe.", add_media: "Media toevoegen", file_size_less_than: "Bestandsgrootte moet minder dan 10MB zijn", review_title: "Titel van de beoordeling", review_content: "Beoordelingstekst", your_nickname: "Je bijnaam", your_email: "Je e-mailadres", field_required: "Dit veld is verplicht", how_was_xper_with_shop: "Hoe was je ervaring met ons?", confirm_review: "Bedankt", we_ve_sent_email_to: "We hebben een e-mail gestuurd naar", back: "Terug", next: "Volgende", skip: "Overslaan", submit: "Verzenden", customer_reviews: "Klantbeoordelingen", reviews: "Beoordelingen", x_reviews: "{{count}} beoordelingen", star: "sterren", "1_star": "1 ster", write_a_review: "Schrijf een beoordeling", video_too_large: "Videogrootte moet minder dan 100MB zijn", image_too_large: "Afbeeldingsgrootte moet minder dan 10MB zijn", invalid_file: "Alleen JPG-, PNG-, GIF-, MP4- en MOV-bestanden zijn toegestaan", email_not_displayed: "Uw e-mailadres wordt niet op onze website weergegeven.", click_confirm_review: "Om uw beoordeling te voltooien, open de e-mail en klik op de bevestigingsbeoordelingsknop.", reviews_with_images: "Beoordelingen met afbeeldingen", see_all_photos: "Alle foto's bekijken", form_customer_use_only: "Dit formulier is alleen voor klanten", attempting_submit_review: "Het lijkt erop dat je probeert een beoordeling namens een klant in te dienen. Gebruik de offici\xeble bulk-uploadtool in je Sendvio-dashboard om de authenticiteit van beoordelingen te waarborgen en aan de toepasselijke wetgeving te voldoen.", upload_reviews: "Beoordelingen uploaden", download_sample_csv: "Voorbeeld CSV-bestand downloaden", no_reviews_available: "Nog geen beoordelingen beschikbaar", be_first_share_experience: "Word de eerste die je ervaring deelt en anderen helpt om een informeerde keuze te maken." }, ru: { how_d_rate_product: "Как бы вы оценили этот продукт?", add_photo_video_discount: "Добавьте фото или видео и получите скидку {{discount}}% на следующий заказ.", add_photo_video: "Добавить фото или видео", add_media: "Добавить медиа", file_size_less_than: "Размер файла должен быть менее 10 МБ", review_title: "Заголовок отзыва", review_content: "Текст отзыва", your_nickname: "Ваш псевдоним", your_email: "Ваш email", field_required: "Это поле обязательно", how_was_xper_with_shop: "Как вам опыт с нами?", confirm_review: "Пожалуйста, подтвердите ваш отзыв", we_ve_sent_email_to: "Мы отправили письмо на", back: "Назад", next: "Далее", skip: "Пропустить", submit: "Отправить", customer_reviews: "Отзывы клиентов", reviews: "Отзывы", x_reviews: "{{count}} отзывы", star: "звезды", "1_star": "1 звезда", write_a_review: "Написать отзыв", video_too_large: "Размер видео должен быть менее 100 МБ", image_too_large: "Размер изображения должен быть менее 10 МБ", invalid_file: "Разрешены только файлы JPG, PNG, GIF, MP4 и MOV", email_not_displayed: "Ваш адрес электронной почты не будет отображаться на нашем сайте.", click_confirm_review: "Для завершения вашего отзыва, пожалуйста, откройте электронную почту и нажмите кнопку Подтвердить отзыв.", reviews_with_images: "Отзывы с изображениями", see_all_photos: "Посмотреть все фотографии", form_customer_use_only: "Эта форма предназначена только для клиентов", attempting_submit_review: "Похоже, вы пытаетесь оставить отзыв от имени клиента. Чтобы обеспечить подлинность отзывов и соблюдение законодательства, используйте официальную функцию массовой загрузки в панели управления Sendvio.", upload_reviews: "Загрузить отзывы", download_sample_csv: "Скачать пример файла CSV", no_reviews_available: "Отзывов пока нет", be_first_share_experience: "Будьте первым, кто делится своим опытом и помогает другим принимать обоснованные решения." }, da: { how_d_rate_product: "Hvordan vil du bed\xf8mme dette produkt?", add_photo_video_discount: "Tilf\xf8j et foto eller en video og f\xe5 {{discount}} % rabat p\xe5 din n\xe6ste ordre.", add_photo_video: "Tilf\xf8j et foto eller en video", add_media: "Tilf\xf8j medie", file_size_less_than: "Filst\xf8rrelsen skal v\xe6re under 10 MB", review_title: "Anmeldelsestitel", review_content: "Anmeldelsesindhold", your_nickname: "Dit kaldenavn", your_email: "Din e-mail", field_required: "Dette felt er p\xe5kr\xe6vet", how_was_xper_with_shop: "Hvordan var din oplevelse med os?", confirm_review: "Bed\xf8m din anmeldelse", we_ve_sent_email_to: "Vi har sendt en e-mail til", back: "Tilbage", next: "N\xe6ste", skip: "Spring over", submit: "Indsend", customer_reviews: "Kundeanmeldelser", reviews: "Anmeldelser", x_reviews: "{{count}} anmeldelser", star: "stjerner", "1_star": "1 stjerne", write_a_review: "Skriv en anmeldelse", video_too_large: "Videost\xf8rrelsen skal v\xe6re under 100 MB", image_too_large: "Billedst\xf8rrelsen skal v\xe6re under 10 MB", invalid_file: "Kun JPG-, PNG-, GIF-, MP4- og MOV-filer er tilladt", email_not_displayed: "Din e-postadresse vil ikke blive vist p\xe5 vores hjemmeside.", click_confirm_review: "For at afslutte din anmeldelse, \xe5bn e-mailen og klik p\xe5 bekr\xe6ftelsesanmeldelsesknappen.", reviews_with_images: "Anmeldelser med billeder", see_all_photos: "Se alle billeder", form_customer_use_only: "Denne formular er kun til kunder", attempting_submit_review: "Det ser ud til, at du fors\xf8ger at indsende en anmeldelse p\xe5 vegne af en kunde. For at sikre \xe6gtheden af anmeldelser og overholde g\xe6ldende lovgivning, bedes du bruge det officielle v\xe6rkt\xf8j til masseupload i dit Sendvio-dashboard.", upload_reviews: "Upload anmeldelser", download_sample_csv: "Download eksempel p\xe5 CSV-fil", no_reviews_available: "Ingen anmeldelser tilg\xe6ngelige endnu", be_first_share_experience: "V\xe6r den f\xf8rste, der deler sin oplevelse og hj\xe6lper andre med at tr\xe6ffe informerede valg." }, sv: { how_d_rate_product: "Hur skulle du betygs\xe4tta denna produkt?", add_photo_video_discount: "L\xe4gg till ett foto eller en video f\xf6r {{discount}} % rabatt p\xe5 din n\xe4sta best\xe4llning.", add_photo_video: "L\xe4gg till foto eller video", add_media: "L\xe4gg till media", file_size_less_than: "Filstorleken m\xe5ste vara under 10 MB", review_title: "Recensionstitel", review_content: "Recensionstext", your_nickname: "Ditt smeknamn", your_email: "Din e-postadress", field_required: "Detta f\xe4lt \xe4r obligatoriskt", how_was_xper_with_shop: "Hur var din upplevelse med oss?", confirm_review: "Bekr\xe4fta din recension", we_ve_sent_email_to: "Vi har skickat ett e-postmeddelande till", back: "Tillbaka", next: "N\xe4sta", skip: "Hoppa \xf6ver", submit: "Skicka", customer_reviews: "Kundrecensioner", reviews: "Recensioner", x_reviews: "{{count}} recensioner", star: "stj\xe4rnor", "1_star": "1 stjerne", write_a_review: "Skriv en recension", video_too_large: "Videostorleken m\xe5ste vara under 100 MB", image_too_large: "Bildstorleken m\xe5ste vara under 10 MB", invalid_file: "Endast JPG-, PNG-, GIF-, MP4- och MOV-filer \xe4r till\xe5tna", email_not_displayed: "Din e-postadresse kommer inte att visas p\xe5 v\xe5r webbplats.", click_confirm_review: "F\xf6r att slutf\xf6ra din recension, \xf6ppna e-posten och klicka p\xe5 bekr\xe4ftelsesrecensionsknappen.", reviews_with_images: "Recensioner med bilder", see_all_photos: "Se alla bilder", form_customer_use_only: "Detta formul\xe4r \xe4r endast f\xf6r kunder", attempting_submit_review: "Det verkar som att du f\xf6rs\xf6ker skicka in en recension f\xf6r en kunds r\xe4kning. F\xf6r att s\xe4kerst\xe4lla recensionernas \xe4kthet och f\xf6lja till\xe4mpliga lagar, anv\xe4nd det officiella verktyget f\xf6r massuppladdning i din Sendvio-panel.", upload_reviews: "Ladda upp recensioner", download_sample_csv: "Ladda ner exempel p\xe5 CSV-fil", no_reviews_available: "Inga recensioner tillg\xe4ngliga \xe4nnu", be_first_share_experience: "Var den f\xf6rsta som delar sin erfarenhet och hj\xe4lper andra att fatta informerade beslut." }, fi: { how_d_rate_product: "Miten arvioisit t\xe4m\xe4n tuotteen?", add_photo_video_discount: "Lis\xe4\xe4 kuva tai video ja saat {{discount}} % alennuksen seuraavasta tilauksestasi.", add_photo_video: "Lis\xe4\xe4 kuva tai video", add_media: "Lis\xe4\xe4 media", file_size_less_than: "Tiedoston koon on oltava alle 10 Mt", review_title: "Arvostelun otsikko", review_content: "Arvostelun sis\xe4lt\xf6", your_nickname: "Nimimerkkisi", your_email: "S\xe4hk\xf6postiosoitteesi", field_required: "T\xe4m\xe4 kentt\xe4 on pakollinen", how_was_xper_with_shop: "Miten arvioisit kokemuksesi kanssamme?", confirm_review: "Vahvista arvostelusi", we_ve_sent_email_to: "L\xe4hetimme s\xe4hk\xf6postin osoitteeseen", back: "Takaisin", next: "Seuraava", skip: "Ohita", submit: "L\xe4het\xe4", customer_reviews: "Asiakasarvostelut", reviews: "Arvostelut", x_reviews: "{{count}} arvostelut", star: "t\xe4hdet", "1_star": "1 t\xe4hti", write_a_review: "Kirjoita arvostelu", video_too_large: "Videon koon on oltava alle 100 Mt", image_too_large: "Kuvan koon on oltava alle 10 Mt", invalid_file: "Vain JPG-, PNG-, GIF-, MP4- ja MOV-tiedostot ovat sallittuja", email_not_displayed: "S\xe4hk\xf6postiosoitteesi ei n\xe4y k\xe4ytt\xe4j\xe4n k\xe4ytt\xe4m\xe4ss\xe4 k\xe4ytt\xf6liittym\xe4ss\xe4.", click_confirm_review: "Arvostelun lopettamiseksi avaa s\xe4hk\xf6posti ja klikkaa vahvistusarvostelu-painiketta.", reviews_with_images: "Arvostelut kuvien kanssa", see_all_photos: "N\xe4yt\xe4 kaikki kuvat", form_customer_use_only: "T\xe4m\xe4 lomake on tarkoitettu vain asiakkaille", attempting_submit_review: "N\xe4ytt\xe4\xe4 silt\xe4, ett\xe4 yrit\xe4t l\xe4hett\xe4\xe4 arvostelun asiakkaan puolesta. Arvostelujen aitouden varmistamiseksi ja sovellettavien lakien noudattamiseksi k\xe4yt\xe4 Sendvion hallintapaneelin virallista joukkolatausty\xf6kalua.", upload_reviews: "Lataa arvosteluja", download_sample_csv: "Lataa CSV-esimerkkitiedosto", no_reviews_available: "Ei arvosteluja viel\xe4 saatavilla", be_first_share_experience: "Ole ensimm\xe4inen, joka jakaa kokemuksensa ja auttaa muita tekem\xe4\xe4n tietynlaisia p\xe4\xe4t\xf6ksi\xe4." }, no: { how_d_rate_product: "Hvordan vil du vurdere dette produktet?", add_photo_video_discount: "Legg til et bilde eller en video og f\xe5 {{discount}} % rabatt p\xe5 din neste bestilling.", add_photo_video: "Legg til bilde eller video", add_media: "Legg til media", file_size_less_than: "Filst\xf8rrelsen m\xe5 v\xe6re under 10 MB", review_title: "Tittel p\xe5 anmeldelse", review_content: "Anmeldelsesinnhold", your_nickname: "Ditt kallenavn", your_email: "Din e-post", field_required: "Dette feltet er obligatorisk", how_was_xper_with_shop: "Hvordan var din opplevelse med oss?", confirm_review: "Bekreft din anmeldelse", we_ve_sent_email_to: "Vi har sendt en e-post til", back: "Tilbake", next: "Neste", skip: "Hopp over", submit: "Send inn", customer_reviews: "Kundeanmeldelser", reviews: "Anmeldelser", x_reviews: "{{count}} anmeldelser", star: "stjerner", "1_star": "1 stjerne", write_a_review: "Skriv en anmeldelse", video_too_large: "Videost\xf8rrelsen m\xe5 v\xe6re under 100 MB", image_too_large: "Bildest\xf8rrelsen m\xe5 v\xe6re under 10 MB", invalid_file: "Kun JPG-, PNG-, GIF-, MP4- og MOV-filer er tillatt", email_not_displayed: "Din e-postadresse vil ikke blive vist p\xe5 vores hjemmeside.", click_confirm_review: "For \xe5 fullf\xf8re din anmeldelse, \xe5pne e-posten og klikk p\xe5 bekreftelsesanmeldelsesknappen.", reviews_with_images: "Anmeldelser med bilder", see_all_photos: "Se alle bilder", form_customer_use_only: "Dette skjemaet er kun for kunder", attempting_submit_review: "Det ser ut til at du pr\xf8ver \xe5 sende inn en anmeldelse p\xe5 vegne av en kunde. For \xe5 sikre at anmeldelsene er autentiske og i samsvar med gjeldende lover, vennligst bruk det offisielle verkt\xf8yet for masseopplasting i Sendvio-kontrollpanelet.", upload_reviews: "Last opp anmeldelser", download_sample_csv: "Last ned eksempel p\xe5 CSV-fil", no_reviews_available: "Ingen anmeldelser tilg\xe6ngelige endnu", be_first_share_experience: "V\xe6r den f\xf8rste, der deler sin oplevelse og hj\xe6lper andre med at tr\xe6ffe informerede valg." } }, translationsConfirm: { en: { title: "Your review is confirmed.", thank_you: "Thank you!" }, fr: { title: "Votre avis a \xe9t\xe9 confirm\xe9.", thank_you: "Merci!" }, es: { title: "Tu rese\xf1a ha sido confirmada.", thank_you: "\xa1Gracias!" }, ja: { title: "あなたのレビューが確認されました。", thank_you: "ありがとうございます!" }, ko: { title: "리뷰가 확인되었습니다.", thank_you: "감사합니다!" }, de: { title: "Ihre Bewertung wurde best\xe4tigt.", thank_you: "Vielen Dank!" }, pt: { title: "Sua avalia\xe7\xe3o est\xe1 confirmada.", thank_you: "Obrigado!" }, it: { title: "La tua recensione \xe8 confermata.", thank_you: "Grazie!" }, zh: { title: "您的评论已确认。", thank_you: "谢谢!" }, nl: { title: "Uw beoordeling is bevestigd.", thank_you: "Dank u!" }, ru: { title: "Ваш отзыв подтвержден.", thank_you: "Спасибо!" }, da: { title: "Din anmeldelse er bekr\xe6ftet.", thank_you: "Tak!" }, sv: { title: "Din recension \xe4r bekr\xe4ftad.", thank_you: "Tack!" }, fi: { title: "Arvostelusi on vahvistettu.", thank_you: "Kiitos!" }, no: { title: "Din anmeldelse er bekreftet.", thank_you: "Takk!" } }, sampleReviews(t, i = null) { var a = { en: "Customer name", fr: "Nom du client", es: "Nombre del cliente", ja: "顧客名", ko: "고객 이름", de: "Kundenname", pt: "Nome do cliente", it: "Nome del cliente", zh: "客户姓名", nl: "Klantnaam", ru: "Имя клиента", da: "Kundens navn", sv: "Kundnamn", fi: "Asiakkaan nimi", no: "Kundens navn" }, r = { en: "The review title will appear here.", fr: "Le titre de l’avis appara\xeetra ici.", es: "El t\xedtulo de la rese\xf1a aparecer\xe1 aqu\xed.", ja: "ここにレビューのタイトルが表示されます。", ko: "여기에는 리뷰 제목이 표시됩니다.", de: "Der Titel der Bewertung wird hier angezeigt.", pt: "O t\xedtulo da avalia\xe7\xe3o aparecer\xe1 aqui.", it: "Il titolo della recensione verr\xe0 visualizzato qui.", zh: "评论标题将显示在此处。", nl: "De titel van de beoordeling wordt hier weergegeven.", ru: "Заголовок отзыва появится здесь.", da: "Anmeldelsens titel vises her.", sv: "Recensionens titel visas h\xe4r.", fi: "Arvion otsikko n\xe4kyy t\xe4ss\xe4.", no: "Anmeldelsens tittel vises her." }, o = { en: "The review description will appear here.", fr: "La description de l’avis appara\xeetra ici.", es: "La descripci\xf3n de la rese\xf1a aparecer\xe1 aqu\xed.", ja: "レビューの説明はここに表示されます。", ko: "리뷰 설명이 여기에 표시됩니다.", de: "Die Beschreibung der Bewertung wird hier angezeigt.", pt: "A descri\xe7\xe3o da avalia\xe7\xe3o aparecer\xe1 aqui.", it: "La descrizione della recensione verr\xe0 visualizzata qui.", zh: "评论描述将显示在此处。", nl: "De beschrijving van de beoordeling wordt hier weergegeven.", ru: "Описание отзыва будет отображаться здесь.", da: "Beskrivelsen af anmeldelsen vises her.", sv: "Beskrivningen av recensionen visas h\xe4r.", fi: "Arvostelun kuvaus n\xe4kyy t\xe4ss\xe4.", no: "Beskrivelsen av anmeldelsen vises her." }, n = { en: "If you reply to the review, your response will appear here.", fr: "Si vous r\xe9pondez \xe0 l’avis, votre r\xe9ponse appara\xeetra ici.", es: "Si respondes a la rese\xf1a, tu respuesta aparecer\xe1 aqu\xed.", ja: "レビューに返信すると、あなたの返信内容がここに表示されます。", ko: "리뷰에 답글을 달면, 그 내용이 여기 표시됩니다.", de: "Wenn Sie auf die Bewertung antworten, erscheint Ihre Antwort hier.", pt: "Se voc\xea responder \xe0 avalia\xe7\xe3o, sua resposta aparecer\xe1 aqui.", it: "Se rispondi alla recensione, la tua risposta verr\xe0 visualizzata qui.", zh: "如果您回复评论,您的回复将显示在此处。", nl: "Als je op de beoordeling reageert, verschijnt je antwoord hier.", ru: "Если вы ответите на отзыв, ваш ответ появится здесь.", da: "Hvis du svarer p\xe5 anmeldelsen, vises dit svar her.", sv: "Om du svarar p\xe5 recensionen visas ditt svar h\xe4r.", fi: "Jos vastaat arvosteluun, vastauksesi n\xe4kyy t\xe4ss\xe4.", no: "Hvis du svarer p\xe5 anmeldelsen, vises svaret ditt her." }, s = a[t] || a.en, c = r[t] || r.en, p = o[t] || o.en, l = n[t] || n.en, d = { name: s, rating: 5, review_date: new Date().toISOString(), title: c, content: p, response_text: l, verified_buyer: !0, is_sample: !0, images: [] }, h = []; return [["4aeaac50-413a-4b69-9d5c-dc92a4b73411_vj06ivm4qd9-thumb.jpg", "8ba6799f-1e47-45aa-b372-4258f8f76bcb_vj06ivm4qd9-medium.jpg", "8e865e49-82e1-4f0f-a93d-7983f1278f83_vj06ivm4qd9-video.mov", "1b2c24e4-9726-482d-8c57-70dff3cea9da_x8qdqz8lgrhx-large.png", "eb84f3d9-0ec8-499d-908f-3c12d25b8ecf_x8qdqz8lgrhx-thumb.png", "7ac3bd0a-87f9-4003-9477-eb5f181a1626_x8qdqz8lgrhx-medium.png", "c10ad45f-3e3b-4538-b180-7f3f8378994c_x24m0qyfjemj-thumb.png", "d2ad0091-3060-457e-a9b4-6c81d0147a35_x24m0qyfjemj-large.png", "3d3784db-4b38-4190-8819-f7e6bba35b56_x24m0qyfjemj-medium.png"], ["ca54652f-f476-4f9d-95bd-135e3f3e74e6_jw69odg9z5h-thumb.png", "4df7d821-56a8-4294-8dc8-e936972533fc_jw69odg9z5h-large.png", "540850d1-f767-4dbe-8be2-bd43b9379c79_jw69odg9z5h-medium.png", "64c53766-8b6d-44aa-8bc1-405aaa832149_p4t38h6bybp-thumb.png", "f99fe917-ee9c-41d9-b51b-3debefa73d3f_p4t38h6bybp-medium.png", "b744f154-ed31-4834-b74a-d9925f6ce2e0_p4t38h6bybp-large.png", "5df7acf5-a01a-45a7-a3c1-7cfe395ba96c_rpwu2ltu29j-thumb.png", "9c51d69a-d299-4eeb-af4a-95323c02f43b_rpwu2ltu29j-large.png", "ca255f09-35f1-4ea9-b76d-102391bf95c1_rpwu2ltu29j-medium.png"], ["35e47d2f-f845-46a2-b120-39dd3e3e6406_kcv19l4036-medium.jpg", "821f5382-ef7d-4f4b-b774-3a83b350925a_kcv19l4036-thumb.jpg", "f6af016f-5f06-4f14-a5c6-2afb3ba057de_kcv19l4036-video.mov", "a344f847-2cbf-4ff8-91a9-14ecf166223d_wo4710zx8nd-thumb.png", "ca84554f-c773-43c7-a33f-acdfe8e61c5a_wo4710zx8nd-medium.png", "34c22270-6408-461c-a903-b5b0d7ad5735_wo4710zx8nd-large.png", "f7c4cda0-064d-4731-8744-848c0dde444d_igl4ubx5za-thumb.png", "eedaf1de-2dae-4cba-ab2d-c789615a803b_igl4ubx5za-medium.png", "64d38b43-b7f3-4018-a442-37e9977ead16_igl4ubx5za-large.png"], ["a724c421-d950-491f-bbbb-bc8fde9f890d_m6napzsvrt-thumb.jpg", "487efe93-624e-4bd2-b0d9-0c16f3c6601d_m6napzsvrt-medium.jpg", "f845d7b2-332e-467c-9cea-7707c76af651_m6napzsvrt-video.mov", "4287d5a0-50a8-4a83-986d-f63e3991a889_x573671z6tij-thumb.png", "550b3e40-acc8-40e7-b4a0-65c4cb605d45_x573671z6tij-medium.png", "0f869b9e-3d1f-47b6-a7ec-cf65bf03f3cd_x573671z6tij-large.png", "8605e5e0-baca-4a18-b584-5dd639138634_gv578pjdpsk-thumb.png", "f8520318-8488-4a46-aea6-6611224a3745_gv578pjdpsk-medium.png", "a8cedf9d-0fed-4e94-9dec-af8be49f8188_gv578pjdpsk-large.png"], ["1c078eb4-1bea-40b8-a87b-315f17faeebc_wb8tuucj1lh-thumb.jpg", "4247ac9f-dcaf-4f3f-9a81-c7bafbbaace9_wb8tuucj1lh-medium.jpg", "a7e5ac94-6667-4fd0-80f9-42cb2bc8cbe5_wb8tuucj1lh-video.mov", "4842c1e4-c0cb-43fe-be85-f528976f1a1e_a35jxwfv3jo-thumb.png", "3e26ac7e-9659-4175-ae28-8c8d84d996d0_a35jxwfv3jo-medium.png", "1fc62e07-52f5-4581-baf4-b86f3939f248_a35jxwfv3jo-large.png", "f36e767b-0d69-48ef-9bfd-6b128bad6994_s57zql2r3t-thumb.png", "e06f2f8b-6c58-4197-99ce-909a142a8600_s57zql2r3t-medium.png", "2e1e4cd1-95f3-4db3-9fbf-d884a0175e63_s57zql2r3t-large.png"], ["edddfa32-830d-493f-8c18-9298b75639d9_x6o7i5a8hb6i-thumb.jpg", "c60375f2-c06e-497c-a83c-05d647d3dfd7_x6o7i5a8hb6i-medium.jpg", "1115e9f6-88c3-4bdf-9858-b69549541cf4_x6o7i5a8hb6i-video.mov", "961209cc-acbc-47fa-8024-dd7691cea8e0_u9jntxkw6bi-thumb.png", "0eb47849-ab9f-4617-a5c6-f944058ff811_u9jntxkw6bi-medium.png", "a729a135-adda-4795-939e-848f98644e96_u9jntxkw6bi-large.png", "20b69e41-52a2-47a7-8dd8-3a1f45baaece_zktaelt9b9h-thumb.png", "4f03de38-1b39-40ec-88a7-69a2899f8d88_zktaelt9b9h-medium.png", "3601ae02-13b1-4dbf-953d-01eaa97cfd0f_zktaelt9b9h-large.png"], ["7735715b-0e10-4d48-89f4-4d925beec397_x4mei15eziho-medium.jpg", "4025cf61-7dcc-4a88-9bbd-9b7ddf8664b9_x4mei15eziho-thumb.jpg", "e18d7bbe-0b95-4dc2-b4d2-64c8f5e6b176_x4mei15eziho-video.mov", "25e1e8db-8d25-41ce-9e5c-0e68d94bb499_brmz62irvz-thumb.png", "3d9e3c68-60f6-479a-b495-371079b2ca3d_brmz62irvz-medium.png", "40a1c6e3-45ec-4eb9-a257-36f7bef568ce_brmz62irvz-large.png", "f6a11157-4118-4c72-9b3c-a04b6f452c73_outjqk8ilqc-thumb.png", "a5b4f08e-382e-4d7a-abf0-7026fe79193a_outjqk8ilqc-medium.png", "04a8026d-8252-4c2e-9d00-9a953863546a_outjqk8ilqc-large.png"], ["dabc4610-a62d-4ea9-abe0-3427af438739_y2ahn4fizwc-thumb.png", "25c7768c-cfc6-4407-9f6d-5dd17268c62c_y2ahn4fizwc-medium.png", "31db6f33-a310-4970-b7ce-1c6d899a00ec_y2ahn4fizwc-large.png", "09ea8425-52c8-4b31-b59b-f1fc21473237_znzvxsm8po-thumb.png", "69c9d58a-b9d0-4a17-8830-a15752871d3d_znzvxsm8po-medium.png", "574a0e0f-c4c5-45f4-9ba6-3c2c0e0049e0_znzvxsm8po-large.png", "f16738c4-064c-4103-b7ce-47d6acf25b02_xsxs8ekuq3-thumb.png", "333bbc34-1812-4c3d-bc41-583f66348d32_xsxs8ekuq3-medium.png", "0ccd0d1b-2f71-414c-bb74-9b7ca613d97e_xsxs8ekuq3-large.png"], ["24ab04a9-f455-43d4-b5b0-8e5c7533166b_x4ja1lhwg85a-medium.jpg", "7f869941-7d41-4c9e-b181-8a47583cd412_x4ja1lhwg85a-thumb.jpg", "515a2411-9901-4653-877d-ba3b52e81e73_x4ja1lhwg85a-video.mov", "777aeadf-d5a0-43eb-a664-52c81610822a_n9rogyd4e6-thumb.png", "5be5bb37-ed8a-44da-ab04-a5233b016dda_n9rogyd4e6-medium.png", "6e372c02-17f0-4e93-a7da-764562162742_n9rogyd4e6-large.png", "4831a9b6-53a0-4b4d-b2e0-9a8bb10d1dc2_xhucwd3uxt-thumb.png", "58dfd648-5f46-45ee-9656-3a14ecc0f7d2_xhucwd3uxt-medium.png", "421e6b6a-53bb-451c-9d34-f3ea9c787630_xhucwd3uxt-large.png"], ["84070dc6-4a70-43db-a464-8810d7bbbb12_cgsv1i5rlcu-thumb.jpg", "3d19b52b-f598-4d39-ac2a-71e8bf9e5472_cgsv1i5rlcu-medium.jpg", "0933b709-f648-47a9-927f-3746698147f5_cgsv1i5rlcu-video.mov", "a2e35f56-9f8d-4879-aaa0-449dded8f027_qrdu0gx75fk-thumb.png", "205e2e37-aa86-4205-8e9f-471c2551a00d_qrdu0gx75fk-medium.png", "b1415aee-895a-4619-b904-5b297293c761_qrdu0gx75fk-large.png", "245d778f-cdda-42de-89e3-89f9b84581d8_xb72wodc7zd-thumb.png", "41e9e8c7-7a38-4c6b-bc65-4bbb9660571d_xb72wodc7zd-medium.png", "d39da8e1-d1a7-4b20-9de6-88a4e3b2e935_xb72wodc7zd-large.png"], ["3c2e30ed-a664-4b5e-a539-d31e0f50f71c_x8kq5ycfjo4j-thumb.png", "55a110ee-3129-4c80-9c70-a8e6fe96626b_x8kq5ycfjo4j-medium.png", "01c22cef-72e6-4fd5-80e7-67e38ac97253_x8kq5ycfjo4j-large.png", "1727d27e-72b6-4c7e-879d-69c30c2108d3_x2zskb6l2u9d-thumb.png", "e5a43cb1-dd92-4f7f-9cec-adc245ffa99a_x2zskb6l2u9d-medium.png", "30746af5-4052-4471-976c-994ea1274a49_x2zskb6l2u9d-large.png", "f420e0ca-6bae-4a8a-bd0e-b881f3c898c1_icxcmmrs0eq-thumb.png", "c07a219f-48bc-4912-98ed-cdebde740aea_icxcmmrs0eq-medium.png", "e893f7dd-3b43-4ca4-b656-994d9f8879f2_icxcmmrs0eq-large.png"], ["74609057-7ef2-46e9-8c8f-0320a428d2ce_x2j81e5zi3by-thumb.jpg", "64ac76fd-f98a-4fff-a572-bd6c22492327_x2j81e5zi3by-medium.jpg", "b02c6e9a-c15e-4700-b48e-ad258bf4e80e_x2j81e5zi3by-video.mov", "72ce740f-b4a8-47b9-87ee-6e5e8861b1e2_xmhpgotit1-thumb.png", "e2ece85d-d25a-4e66-aafc-cbcdb0fa8f3f_xmhpgotit1-medium.png", "c6cb4b14-772e-41a4-8d21-c65b635017ff_xmhpgotit1-large.png", "38028281-d175-429e-8924-a64e19b557b0_hnpjj9gk8l4-thumb.png", "0d8349a9-43e7-4c70-b776-bfbae847e95c_hnpjj9gk8l4-medium.png", "1ad6ee2d-e669-4e0f-8433-9078c8e73c5d_hnpjj9gk8l4-large.png"], ["84709f08-def7-468b-b903-49bb991b3a7d_x4088yvippi-thumb.png", "4b24c1bd-ab05-44fe-a5dd-7b75e9cf9801_x4088yvippi-medium.png", "dc0b37b1-23bb-439e-8f7d-fa00dbd46505_x4088yvippi-large.png", "efd6a4e7-5a87-4283-916c-37a837745729_dqbtnk6dyeu-thumb.png", "6483194c-f745-4bed-86b3-9200462b1669_dqbtnk6dyeu-medium.png", "c11a2fbb-ffa6-45c2-8ae3-65a44bf16087_dqbtnk6dyeu-large.png", "3500d8d4-ea4c-4a82-af66-112ef2816bd3_oe92lhk7yfq-thumb.png", "fedf8f34-a6f9-4724-b26b-033a0590f51f_oe92lhk7yfq-medium.png", "b52008df-a972-4be8-a8e1-658ae3d359e0_oe92lhk7yfq-large.png"], ["106011fd-5732-44e6-bd40-8e7fbc3b6a33_k9naz4pzrx-thumb.jpg", "e7661fef-18e0-400d-b0e4-9e5e0419233a_k9naz4pzrx-medium.jpg", "68fc5a7f-0616-4811-9f24-e45a0a57e2e1_k9naz4pzrx-video.mov", "004ccc76-b31a-4b8d-90f1-42c10c395238_jqnzvlr4ldq-thumb.png", "c54f7495-1fe0-4a5e-8ba3-67d68a16e05d_jqnzvlr4ldq-medium.png", "092b248d-052e-433c-819b-8f9312a335ed_jqnzvlr4ldq-large.png", "f4f00581-1887-4d06-8e39-3f95330b2083_x8eehv0whoe4-thumb.png", "5c31551e-0c09-4fd8-8148-58c983e10cb4_x8eehv0whoe4-medium.png", "edee2e82-be77-4762-8de3-095c3e44ba40_x8eehv0whoe4-large.png"], ["43e137b2-5cae-4060-bb00-c75771dabb5b_jcf30ok1w99-thumb.jpg", "4773d884-eff4-4893-9790-3eef5dbe0509_jcf30ok1w99-medium.jpg", "42cce753-6b9b-4274-8333-e28f48e07557_jcf30ok1w99-video.mov", "ba6ca87a-c678-4644-bba8-35a835575c56_h1jzmnylbib-thumb.png", "8d99cdf2-7f43-451c-a5c9-75261547f1d1_h1jzmnylbib-medium.png", "5ce43311-a1ef-4185-ad94-5d7335ced5d7_h1jzmnylbib-large.png", "d8f33dd5-72aa-475a-b8e3-a10fb6fce5d6_y0taqv3a9d-thumb.png", "dc211348-90ce-4aa6-a760-955da1ef7cbd_y0taqv3a9d-medium.png", "b415f47b-3cfe-4354-93ab-e966571c5629_y0taqv3a9d-large.png"], ["99aa7703-df31-4c21-a3c3-ba4f5b123906_x6m4ex99t12g-thumb.png", "f172d691-43ab-4ca7-a8cc-4b6302264f8d_x6m4ex99t12g-medium.png", "9dad3cf6-4ecf-4b58-948d-6c97bfbd44ef_x6m4ex99t12g-large.png", "3a4c95af-f455-41fd-a64b-551612159920_x1e2uxjsspjqj-thumb.png", "3c5efe3a-ccf0-4955-955b-1131ca999433_x1e2uxjsspjqj-medium.png", "392e90f1-0303-4a85-a141-8af75d6577ca_x1e2uxjsspjqj-large.png", "f12de1c8-977c-4835-a8fe-37cdb3495057_x683ddemof0m-thumb.png", "72e6bcaf-3f6a-4793-b22d-a591bb3c8ef6_x683ddemof0m-medium.png", "8983c272-392b-4438-b00a-175bdf645154_x683ddemof0m-large.png"], ["a8a262e9-a07b-4b9e-97f4-b39363682dc9_xa5g3qopero-thumb.jpg", "1bc8b3e2-3971-4c08-9ab5-6ecce379cabe_xa5g3qopero-medium.jpg", "e235f941-fa74-4ddd-b166-f861faec3f80_xa5g3qopero-video.mov", "5933731f-f927-4f3f-8298-e044046a66a7_x8k8m9hksmlj-thumb.png", "53ffe47f-2064-4cd1-b3b3-e136b02fabaa_x8k8m9hksmlj-medium.png", "40f21f66-46d2-4798-a22d-ba8f70e9676f_x8k8m9hksmlj-large.png", "f14dd02a-4382-4f21-b6d1-a603187133ad_sbmxuom22s-thumb.png", "d51feeea-3cbe-4ec9-955e-f13b5d22b5e8_sbmxuom22s-medium.png", "53c56c74-29b7-4df4-b2ab-dabafa5a19f9_sbmxuom22s-large.png"]].forEach(t => { var i = { ...d }; i.images = t.map(t => `https://d2bhaqcda46ae5.cloudfront.net/sendviosamples/${t}`), h.push(i) }), h }, sampleSummary: { totalCount: 47, averageStars: 5, starCounts: { 5: { count: 39, percentage: 83 }, 4: { count: 7, percentage: 15 }, 3: { count: 1, percentage: 2 }, 2: { count: 0, percentage: 0 }, 1: { count: 0, percentage: 0 } } }, init: function () { _chpmgr.ProductReviews; var t = jQuery(".sendvio_app_block_wrapper.product_reviews_wrapper"); if (0 == t.length) { i(); return } function i() { var t = document.createElement("script"); t.src = "https://cdn.jsdelivr.net/npm/hls.js@latest", document.body.appendChild(t), _chpmgr.ProductReviews._checkUrlParams() } t.each(function () { var t = jQuery(this); !t.hasClass("chpmgr_prepared") && new _chpmgr.ProductReviewsBlock().init(t) }), i() }, _getTranslations: () => _chpmgr.ProductReviews.translations[_chpmgr.envInfo.getLanguage()] || _chpmgr.ProductReviews.translations.en, _getTranslationsConfirm: () => _chpmgr.ProductReviews.translationsConfirm[_chpmgr.envInfo.getLanguage()] || _chpmgr.ProductReviews.translationsConfirm.en, _checkUrlParams() {
var t, i, a, r, o; _chpmgr.ProductReviews, "true" == _chpmgr.utils.getCurrentUrlParam("chp_review") && function t() { var i = String(_chpmgr.utils.getCurrentUrlParam("chp_prods") || "").trim().split(","), a = _chpmgr.utils.getCurrentUrlParam("rating") || 5, r = _chpmgr.utils.getCurrentUrlParam("chp_discount") || 0, o = _chpmgr.envInfo.getUrlProductHandleIfExists(); if (0 != i.length) { var n = i.length, s = 0, c = []; i.forEach(t => { _chpmgr.envInfo.getProductInfo({ force_get: !0, product_handle: t, callback(t) { if (s++, t && c.push(t), s == n) { let i = c.findIndex(t => t.handle === o); if (i > 0) { let p = c.splice(i, 1)[0]; c.unshift(p) } _chpmgr.ProductReviews.writeReview.initWizard(c, { initial_rating: a, review_discount: r, from_link: !0 }) } } }) }) } }(), "true" == _chpmgr.utils.getCurrentUrlParam("chp_confirm_review") && (t = _chpmgr.utils.getCurrentUrlParam("chp_review"), i = `
`, a = _chpmgr.ProductReviews._getTranslationsConfirm(), _chpmgr._popupShowMgr._showChilliPopup({ ref: "chp_review_confirm" }, { content: i }), r = jQuery("#chp_review_confirm"), r.find(".chpopup").removeClass("chp_hidden"), r.find(".popup_content").html(`
${a.title}
${a.thank_you}
`), o = { site: _chpmgr.site, hs: "sndv_appblk", review_id: t }, jQuery.post("https://pop.chilliapps.com/reviews/confirm", o, function (t) { console.log("-- review confirmado") }))
}, _getReviews: function (t = {}) { var i = _chpmgr.ProductReviews, a = t.block_id || "no_block_id", r = t.get_sample_reviews || !1, o = t.page || 1, n = t.per_page || 25, s = (o - 1) * n + 1, c = t.force || !1, p = t.reviews_type || i.reviewsType || "product"; if (_chpmgr.envInfo.isDesignMode() && r) { t.callback({ reviews_list: i.sampleReviews(_chpmgr.envInfo.getLanguage()), summary: i.sampleSummary }); return } if (i.filePage = (o - 1) % 5 + 1, i.reviews_list && !c) { if (i.current_file_name.includes("shop_all")) { _(); return } var l = (i.current_file_name || "").split("-")[1].split(".")[0], d = parseInt(l.split("_")[0]), h = parseInt(l.split("_")[1]); if (d && h && s >= d && s + n - 1 <= h) { _(); return } } if (i.loading_reviews_file = u, file_end = (file_start = 25 * Math.floor((s - 1) / 25) + 1) + 24, "shop" == p) var u = `reviews_shop-${file_start}_${file_end}.json`; else if ("shop_all_reviews" == p) var u = `reviews_shop_all-${file_start}_${file_end}.json`; else var u = `reviews_${i.writeReview.productInfo.id}-${file_start}_${file_end}.json`; if (i.current_file_name == u) { setTimeout(() => { _() }, 1500); return } i.current_file_name = u; var g = `https://d2bhaqcda46ae5.cloudfront.net/${_chpmgr.shop_name}/${u}?v=${Math.floor(Date.now() / 3e4)}`; function m(t) { i.get_reviews_callbacks[a] = t } function _(a = {}) { var r = (i.filePage - 1) * n, o = i.reviews_list || [], s = i.reviews_summary || {}; "shop_all_reviews" == p && (o = i.reviews_list_all || [], s = i.reviews_summary_all || {}), s = a.summary_data || s; var c = o.slice(r, r + (n - 1)); t.callback({ reviews_list: c, summary: s }); var l = Object.values(i.get_reviews_callbacks); i.get_reviews_callbacks = {}, l.forEach(t => { t({ reviews_list: c, summary: s }) }) } jQuery.getJSON(g, function (t) { "shop_all_reviews" == p ? i.reviews_list_all = t.reviews : i.reviews_list = t.reviews, i.loading_reviews_file = null, t.summary && ("shop_all_reviews" == p ? i.reviews_summary_all = t.summary : i.reviews_summary = t.summary), _({ summary_data: t.summary }) }).fail(function () { i.reviews_list = [], i.loading_reviews_file = null, _({ summary_data: {} }), console.error(`- error getting reviews file: ${u}`) }) }, _getFilteredReviewsWithMedia: function (t) { t = t || {}; var i = _chpmgr.ProductReviews, a = t.get_sample_reviews || !1, r = t.reviews_style || "style_any_review", o = t.reviews_type || "shop", n = t.block_id || null, s = i.reviews_with_media || []; if ("shop_all_reviews" == o && (s = i.reviews_with_media_all || []), _chpmgr.envInfo.isDesignMode() && a && (s = i.sampleReviews(_chpmgr.envInfo.getLanguage())), !_chpmgr.envInfo.isDesignMode() || !a) { if ("style_videos_only" == r) s = s.filter(t => t.images.some(t => t.includes("-video"))); else if ("style_images_only" == r) s = s.filter(t => !t.images.some(t => t.includes("-video"))); else if ("style_any_review" == r) { _chpmgr.ProductReviews._getReviews({ per_page: 25, block_id: n, reviews_type: o, callback(t) { c(t.reviews_list) } }); return } } function c(a) { var r = a.slice(0, 25), n = Math.ceil(r.length / 5); r.forEach(t => { var a = i._parseImages(t); t.images = a; var r = a.filter(t => t.includes("-thumb.")), n = a.filter(t => t.includes("-video"))[0]; if (n) { var s = n.split("_").pop().split("-")[0], c = t.images.filter(t => t.includes(`${s}-thumb`))[0]; c || (c = r[0], n = null) } else var c = r[0]; t.thumb_url = c, t.video_url = n, t.first_large_image = a.filter(t => t.includes("-large."))[0] || c, t.first_medium_image = a.filter(t => t.includes("-medium."))[0] || t.first_large_image, "style_videos_only" == o && (t.cover_image = t.thumb_url), t.cover_image = t.cover_image || t.first_medium_image || t.first_large_image || c }), t.callback({ reviews: r, total_pages: n }) } c(s) }, _parseImages(t) { var i = t.images || "[]"; try { "string" == typeof i && (i = JSON.parse(i)), "string" == typeof i && (i = JSON.parse(i)) } catch (a) { i = [] } return i.forEach((t, a) => { t.includes("http") || (t = `https://d2bhaqcda46ae5.cloudfront.net/${t}`), i[a] = t }), i }, _parseReviewDate: function (t, i) { if (!t.review_date || "" == t.review_date) return ""; var i = { 1: [1, 2, 0], 2: [2, 1, 0], 3: [0, 1, 2] }[i]; if (!i) return ""; var a = (t.review_date.split("T")[0] || "").split("-"), r = []; return i.forEach(t => r.push(a[t])), r.join("/") }, _getImageWrapper(t, i = !1, a = "size_normal") { var r = `
`; if ("string" == typeof t) var o = ``; else if ("object" != typeof t) return ""; else var o = t[0].outerHTML; return `
${o}${i ? r : ""}
` }, _urlHasVideo(t, i) { var a = (t = t || "").split("_").pop().split("-")[0]; return "string" == typeof i.images && (i.images = _chpmgr.ProductReviews._parseImages(i)), null != i.images.find(t => t.includes(`${a}-video`)) }, _loadReviewsWithMedia: function (t) { var i = _chpmgr.ProductReviews; t.block_id; var a = t.callback, r = t.reviews_type || i.reviewsType, o = t.product_id || (_chpmgr.ProductReviews.writeReview.productInfo || {}).id; "product" == r && (r = "products"); var n = `reviews_media_${r}.json`; if ("shop_all_reviews" == r && null != i.reviews_with_media_all || "shop_all_reviews" != r && null != i.reviews_with_media) { c(); return } i.loading_file_name = n, i.current_media_file_name = n; var s = `https://d2bhaqcda46ae5.cloudfront.net/${_chpmgr.shop_name}/${n}?v=${Math.floor(Date.now() / 3e4)}`; function c() { var t = i.reviews_with_media; "shop_all_reviews" == r && (t = i.reviews_with_media_all), a({ reviews_with_media: t }) } jQuery.getJSON(s, function (t) { "products" == r ? i.reviews_with_media = t.reviews[o] || [] : "shop_all_reviews" == r ? i.reviews_with_media_all = t.reviews : i.reviews_with_media = t.reviews, (i.reviews_with_media || []).forEach(t => { t.images = i._parseImages(t) }), (i.reviews_with_media_all || []).forEach(t => { t.images = i._parseImages(t) }), i.loading_file_name = !1, c() }).fail(function (t) { console.error(`- error getting reviews file: ${n}`), i.reviews_with_media = [], i.loading_file_name = !1, c() }) }, _showSummary: function (t, i = {}) {
var a = _chpmgr.ProductReviews._getTranslations(), r = i.summary || _chpmgr.ProductReviews.reviews_summary; if (0 != t.find(".reviews_summary").length) {
var o, n = `
0
★★★★★
0 reviews
`, s = `
5 Star
0
4 Star
0
3 Star
0
2 Star
0
1 Star
0
`, c = ``; t.find(".rating_overview").remove(), t.find(".rating_bars").remove(), t.find(".reviews_summary").prepend(s), t.find(".reviews_summary").prepend(n), t.find(".sndv_vrc_header_title_icon").html(c), t.find(".average_rating").text(r.averageStars || 0), t.find(".total_reviews").text(`${r.totalCount || 0} ${a.reviews}`), t.find(".reviews_tabs .tab.reviews").html(`${a.reviews} (${r.totalCount || 0})`), t.find(".reviews_tabs .tab.questions").html('Questions (0)'); var p = _chpmgr.starRatings._buildStarsRating({ transform_origin: "center", stars: r.averageStars }); t.find(".star_rating").html(p); var l = t.find(".reviews_summary").attr("data-reviews-number-format") || "number"; t.find(".rating_bars .rating_bar_row").each(function (t) { var i = 5 - t, o = (r.starCounts || {})[i] || {}, n = "percentage" == l ? `${o.percentage || 0}%` : o.count || 0; 1 == i ? $(this).find(".star_label").text(`${a["1_star"]}`) : $(this).find(".star_label").text(`${i} ${a.star}`), $(this).find(".rating_count").text(n), $(this).find(".progress_fill").css("width", `${o.percentage || 0}%`) }), t.find(".write_review_button").off().click(function () { var i = t.hasClass("sendvio_app_block_wrapper") ? t.attr("data-mode") : t.parents(".sendvio_app_block_wrapper").attr("data-mode"); _chpmgr.ProductReviews.writeReview.initWizard([], { reviews_type: i }) }), 768 > t.width() ? t.addClass("chpmgr_mobile_view") : t.removeClass("chpmgr_mobile_view")
}
}, _addSummaryEvents: function (t) { var i = "true" == t.attr("data-sample-reviews") && _chpmgr.envInfo.isDesignMode(), a = t[0], r = a.querySelector(".sndv_inner_header_title"), o = a.querySelector(".snd_summary_collapse"), n = r.querySelector(".sndv_vrc_header_title_icon"), s = !1, c = !1; function p() { c || (o.addEventListener("transitionend", function (t) { "max-height" !== t.propertyName || s || (o.style.display = "none") }), c = !0) } function l(t) { (s = !!t) ? (p(), o.style.display = "block", o.offsetHeight, _chpmgr.envInfo.isMobile() ? o.style.maxHeight = "500px" : o.style.maxHeight = "170px", o.style.opacity = "1", o.setAttribute("aria-hidden", "false"), a.classList.add("summary_open")) : (p(), o.style.maxHeight = "0px", o.style.opacity = "0", o.setAttribute("aria-hidden", "true"), a.classList.remove("summary_open")), n && (n.style.transform = s ? "rotate(180deg)" : "rotate(0deg)") } _chpmgr.ProductReviews._getReviews({ page: 1, per_page: 25, reviews_type: t.attr("data-mode") || "shop", get_sample_reviews: i, callback(i) { i.summary && _chpmgr.ProductReviews._showSummary(t, { summary: i.summary }) } }), l(!1), r.removeEventListener("click", () => { }), r.addEventListener("click", function () { l(!s) }), window.removeEventListener("resize", () => { }), window.addEventListener("resize", function () { s && (o.style.maxHeight = "170px") }) }, showEmptyState: function (t) { var i = _chpmgr.ProductReviews._getTranslations(); t.html(`
${i.no_reviews_available}
${i.be_first_share_experience}
`) }, showPopupViewAllMedia(t = {}) { var i = _chpmgr.ProductReviews, a = t.sample_reviews || !1, r = jQuery('
'), o = []; _chpmgr.ProductReviews._getFilteredReviewsWithMedia({ get_sample_reviews: a, reviews_style: "all", reviews_type: t.reviews_type, callback(t) { i._loadReviewsWithMedia({ callback(t) { t.reviews_with_media.forEach((t, a) => { i._parseImages(t).forEach((r, n) => { if (r.includes("-thumb.")) { var s = i._getImageWrapper(r, i._urlHasVideo(r, t), "size_sm"), c = jQuery(`
`), jQuery("#chp_reviews_see_all_media").append(`${_chpmgr.ProductReviews.custom_close_icon}`), jQuery("#chp_reviews_see_all_media").find(".chp_svg_close_icon").off().click(function () { ChilliPopups.close() }), jQuery("#chp_reviews_see_all_media").find(".chp_pp_review_media_thumb").off().click(function () { var a = $(this).attr("data-review-index"), r = $(this).attr("data-index"), o = $(this).find("img").attr("src"); ChilliPopups.close(), i.showPopupDetails({ review: t.reviews[a], reviews_list: t.reviews, img_url: o, index: r }) }) } }) }, showPopupDetails(t) { var i = t.review, a = t.img_url, r = t.index, o = _chpmgr.ProductReviews, n = t.reviews_list || o.reviews_with_media, a = a || "", s = r || 0, c = o.itemTemplate || jQuery(""), p = c.find(".answer_author").text().trim() || jQuery('meta[property="og:site_name"]').attr("content") || "", l = c.find(".answer").css("background-color") || "#f6f6f6", d = jQuery(".product_reviews_wrapper .reviews_header").css("color") || "#000", h = o._parseReviewDate(i, c.find(".question_date").attr("data-format") || "DD/MM/YYYY"), u = '', g = '', m = jQuery('
'); function _(t, i = "") { var a = jQuery("#chp_review_item_details"); a.find(".chp_pp_review_name").text(t.reviewer_name || t.name), a.find(".chp_pp_review_title").text(t.title), a.find(".chp_pp_review_content").html(t.content), t.response_text && "" != t.response_text.trim() ? a.find(".chp_pp_review_reply").html(`
${p}:
${t.response_text}`).css({ backgroundColor: l, color: d }) : a.find(".chp_pp_review_reply").hide(), "true" == t.verified_buyer || !0 == t.verified_buyer ? (a.find(".chp_pp_review_verified").css({ display: "inline-block" }), a.find(".chp_pp_review_verified").html(''), a.find(".chp_pp_review_verified").append("Verified purchase")) : a.find(".chp_pp_review_verified").hide(), a.find(".chp_pp_review_stars").html(_chpmgr.starRatings._buildStarsRating({ scale: 1, stars: t.rating })), a.find(".chp_pp_review_stars").css("margin-left", "-4px"), a.find(".chp_pp_review_stars").append(`${h}`); var r = o._parseImages(t); if (r.length > 0) { var n = [], s = []; r.forEach((i, a) => { if (i.includes("-thumb.")) { i.includes("http") || (i = `https://d2bhaqcda46ae5.cloudfront.net/${i}`); var r = jQuery(``), c = o._getImageWrapper(r, o._urlHasVideo(i, t), "size_sm"), p = jQuery(`
${c}
`); n.push(p[0].outerHTML), s.push(i) } }), a.find(".chp_pp_review_media_parts").html(n.join("")), a.find(".chp_pp_review_media_parts").find(".chp_pp_review_media_thumb").off().click(function () { $("#chp_review_item_details").find(".chp_pp_image_detail").html(''), v(t, $(this).find("img").attr("src")) }), i ? v(t, i) : v(t, s[0]) } f() } function v(t, i) { var a = i.split("_").pop().split("-")[0], r = t.images.find(t => t.includes(`${a}-large`) || t.includes(`${a}-video`)) || i; r.includes("video") ? (r = r.replace(/\.[^.]+$/, ".m3u8"), $("#chp_review_item_details").find(".chp_pp_image_detail").html(''), setTimeout(() => { let t = document.getElementById("chp_review_item_details_video"); if (Hls.isSupported()) { console.log("Hls.isSupported()"); let i = new Hls; i.loadSource(r), i.attachMedia(t), i.on(Hls.Events.MANIFEST_PARSED, () => t.play()) } else t.canPlayType("application/vnd.apple.mpegurl") ? (console.log('video.canPlayType("application/vnd.apple.mpegurl")'), t.src = r, t.addEventListener("loadedmetadata", () => t.play())) : console.warn("HLS not supported in this browser") }, 200)) : $("#chp_review_item_details").find(".chp_pp_image_detail").html(``) } function f() { s <= 0 ? jQuery("#chp_review_item_details .chp_pp_page_item.prev").hide() : jQuery("#chp_review_item_details .chp_pp_page_item.prev").show(), s >= (n || []).length - 1 ? jQuery("#chp_review_item_details .chp_pp_page_item.next").hide() : jQuery("#chp_review_item_details .chp_pp_page_item.next").show() } m.prepend(u), m.append(g), m.append(`
`), jQuery(".chp_rvw_preview_stars").each(function () { var t = jQuery(this); t.find(".star_item").off().on("mouseover", function () { jQuery(this).parent().addClass("hovering"); var i = jQuery(this).index() + 1; t.find(".star_item").each(function (t) { t < i ? jQuery(this).addClass("hover") : jQuery(this).removeClass("hover") }) }), t.find(".star_item").on("mouseleave", function () { jQuery(this).parent().removeClass("hovering"), t.find(".star_item").removeClass("hover") }), t.find(".star_item").on("click", function () { var t = jQuery(this).index() + 1; o(t) }) }) } i.find(`.${t._wizardArea}_rating_options`).html(' '), jQuery("#chp_write_review_wizard .shop_name").html(`${_chpmgr.shop_name}?`), i.find("svg").on("mouseover mousemove", function (t) { var a = this.getBoundingClientRect(), r = t.clientX - a.left, o = i.find("#group_stars > g"), n = Math.floor(r / (a.width / 5)); n >= 0 && n < 5 && (i.find("#group_stars path[id$='_bg']:not(.active)").css("fill", "none"), o.each(function (t) { t <= n && jQuery(this).find("path[id$='_bg']").css("fill", "#ff9e00") })) }), i.find("svg").on("mouseleave", function () { i.find("#group_stars path[id$='_bg']:not(.active)").css("fill", "none") }), i.find("svg").on("click", function (i) { if ("showing" != t.auto_rating_shown || "product" != t._wizardArea) { var a, n = this.getBoundingClientRect(), s = Math.floor((i.clientX - n.left) / (n.width / 5)) + 1; r(s), o(s), _chpmgr.envInfo.isDesignMode() ? t._showStep("admin_help") : t._showNextStep() } }), a && !1 == t.auto_rating_shown && (t.auto_rating_shown = "showing", setTimeout(() => { r(t.wizardOpts.initial_rating, 150), o(t.wizardOpts.initial_rating) }, 500), setTimeout(() => { t.auto_rating_shown = !0, t._showStep(2) }, 2500)) }, _addEventsStep2() { var t = _chpmgr.ProductReviews.writeReview, i = _chpmgr.ProductReviews._getTranslations(), a = ["jpg", "jpeg", "png", "gif", "mp4", "mov"]; t.wizardStep = 2, s(), jQuery("#chp_write_review_wizard .chp_rvw_form_media_error").hide(), jQuery("#chp_write_review_wizard input.chp_input_review_media").off().on("change", function () { jQuery("#chp_write_review_wizard .chp_rvw_form_media_error").hide(); var c = this.files[0], p = this, l = String(c.name.split(".").pop() || "").toLocaleLowerCase().trim(); if (!a.includes(l)) { jQuery("#chp_write_review_wizard .chp_rvw_form_media_error").show().text(i.invalid_file), p.value = ""; return } if (c.type.startsWith("video/")) { if (c.size > 104857600) { jQuery("#chp_write_review_wizard .chp_rvw_form_media_error").show().text(i.video_too_large), p.value = ""; return } } else if (c.size > 10485760) { jQuery("#chp_write_review_wizard .chp_rvw_form_media_error").show().text(i.image_too_large), p.value = ""; return } var d, h = _chpmgr.envInfo.getRandomString(); n(), jQuery("#chp_write_review_wizard .chp_rvw_added_files").append('
'), jQuery("#chp_write_review_wizard input.chp_input_review_media").attr("disabled", "disabled"), jQuery("#chp_write_review_wizard label.chp_rvw_form_btn").css({ opacity: "0.5", cursor: "not-allowed" }), c.type.startsWith("video/") ? (d = c, new Promise(t => { let i = document.createElement("video"); i.src = URL.createObjectURL(d), i.preload = "metadata", i.muted = !0, i.playsInline = !0, i.onloadeddata = () => { i.currentTime = 0, i.onseeked = () => { let a = i.videoWidth, r = i.videoHeight, o = (t, o) => { let n = a, s = r; n > s ? n > t && (s *= t / n, n = t) : s > t && (n *= t / s, s = t); let c = document.createElement("canvas"); c.width = n, c.height = s; let p = c.getContext("2d"); return p.drawImage(i, 0, 0, n, s), new Promise(t => { c.toBlob(i => { let a = new File([i], d.name.replace(/\.[^/.]+$/, `${o}.jpg`), { type: "image/jpeg" }); t(a) }, "image/jpeg", .8) }) }; Promise.all([o(400, "_thumb"), o(600, "_medium")]).then(([a, r]) => { URL.revokeObjectURL(i.src), t([a, r]) }) } } })).then(([i, a]) => { o(c, `${h}-video`, i => { n(), t.added_files.push(i), s() }), o(i, `${h}-thumb`, i => { t.added_files.push(i) }), o(a, `${h}-medium`, i => { t.added_files.push(i) }), p.value = "" }) : Promise.all([r(c, 1200), r(c, 500), r(c, 160)]).then(([i, a, r]) => { o(i, `${h}-large`, i => { t.added_files.push(i), s() }), o(a, `${h}-medium`, i => { n(), t.added_files.push(i), s() }), o(r, `${h}-thumb`, i => { n(), t.added_files.push(i), s() }), p.value = "" }) }); let r = (t, i) => new Promise(a => { let r = new Image, o = new FileReader; o.onload = o => { r.src = o.target.result, r.onload = () => { let o = document.createElement("canvas"), n = r.width, s = r.height; n > s ? n > i && (s *= i / n, n = i) : s > i && (n *= i / s, s = i), o.width = n, o.height = s; let c = o.getContext("2d"); c.drawImage(r, 0, 0, n, s), o.toBlob(i => { a(new File([i], t.name, { type: t.type })) }, t.type, .9) } }, o.readAsDataURL(t) }); function o(t, i, a) { var r = { site: _chpmgr.site, hs: "sndv_appblk", file_name: t.name, postfix: i }; jQuery.post("https://pop.chilliapps.com/presigned_post", r, function (i) { var r = new FormData; Object.keys(i.fields).forEach(t => { r.append(t, i.fields[t]) }), r.append("file", t), jQuery.ajax({ url: i.presigned_url, method: "POST", data: r, processData: !1, contentType: !1, success: function (t) { var i, r = t.getElementsByTagName("PostResponse")[0], o = r.getElementsByTagName("Location")[0].textContent; a({ url: o, key: r.getElementsByTagName("Key")[0].textContent }) }, error: function (t) { console.error("Error uploading file to S3:", t) } }) }).fail(function () { console.log("ERROR: sending pre_this.added_files.lengthsigned post") }) } function n() { jQuery("#chp_write_review_wizard .chp_rvw_added_files").find(".chp_rvw_added_file.chp_loading_file").remove(), jQuery("#chp_write_review_wizard input.chp_input_review_media").removeAttr("disabled"), jQuery("#chp_write_review_wizard label.chp_rvw_form_btn").css({ opacity: "1", cursor: "" }) } function s() { for (var a = [], r = 0, o = 0; o < t.added_files.length; o++) { var n = t.added_files[o].url; n.includes("-thumb.") && (a.push(`
`), r += 1) } jQuery("#chp_write_review_wizard .chp_rvw_added_files").html(a.join("")), r >= 3 ? jQuery("#chp_write_review_wizard .chp_input_review_media").parent("label").hide() : jQuery("#chp_write_review_wizard .chp_input_review_media").parent("label").show(), 0 == t.added_files.length ? jQuery("#chp_write_review_wizard .btn_next").html(`${i.skip} ${_chpmgr.ProductReviews.next_svg}`) : jQuery("#chp_write_review_wizard .btn_next").html(`${i.next} ${_chpmgr.ProductReviews.next_svg}`) } }, _addEventsStep3() { _chpmgr.ProductReviews.writeReview.wizardStep = 3 }, _addEventsStep4() { var t = _chpmgr.ProductReviews.writeReview; t.wizardStep = 4, jQuery(document).off("chp_review_submit").on("chp_review_submit", function () { t._saveReview(), t._showNextStep(() => { jQuery(document).off("chp_review_submit") }) }), "shop" == t._wizardArea && jQuery("#chp_write_review_wizard .chpopup_footer").css("visibility", "hidden"), jQuery(".chp_btn_shop_rvw.chp_submit").off().on("click", function () { t._saveReview(), t._showNextStep() }), t.reviewData, jQuery(".chp_btn_shop_rvw.chp_back").off().on("click", function () { t._showPreviousStep() }) }, _addEventsStep5(t = {}) { var i = _chpmgr.ProductReviews.writeReview; i.wizardStep = 5; var a = t.email || i.reviewData.user_email; jQuery("#chp_write_review_wizard .shop_customer_email").text(a), jQuery("#chp_write_review_wizard .chpopup_footer").css("visibility", "hidden") }, _reviewAlreadySubmitted() { var t = `chp_review_submitted_${_chpmgr.utils.getUrlProductHandleIfExists() || "shop"}`; return _chpmgr._getCookie(t) }, _saveReview() { var t, i = _chpmgr.ProductReviews.writeReview, a = (t = { rating: i.currentRating, review_type: i._wizardArea, product_handle: _chpmgr.utils.getUrlProductHandleIfExists(), product_id: (i.currentProduct || {}).id, review_source: i.wizardOpts && i.wizardOpts.from_link ? "review_request" : "web", files: i.added_files.map(t => t.key), language: _chpmgr.envInfo.getLanguage() }, jQuery(`#chp_write_review_wizard .chpopup.${i._wizardArea}_wizard_section .chp_input_review`).each(function () { var i = $(this).attr("name"), a = $(this).val(); "email" == i && a.length > 320 && (a = a.substring(0, 320)), t[i] = a }), t); i.reviewData = a, a.site = _chpmgr.site, a.hs = "sndv_appblk", jQuery.post("https://pop.chilliapps.com/reviews", a, function (t) { var i, r; i = `chp_review_submitted_${a.product_handle || "shop"}`, r = new Date, r.setTime(r.getTime() + 3e5), _chpmgr._setCookie(i, a.user_email || "your email", r) }) } }
}, _chpmgr.ProductReviewsBlock = function () {
return {
show_reviews_with_media_loading: !1, init: function (t) { var i = this; i.container = t, i.reviewsType = t.attr("data-mode"), i.reviewsStyle = t.attr("data-rvws-style") || "all", i._prepareData(), ["shop", "shop_all_reviews"].includes(i.reviewsType) ? (i._showReviews(), i._checkShowReviewsWithMedia()) : _chpmgr.ProductReviews.writeReview._getCurrentProduct(t => { i._showReviews(), i._checkShowReviewsWithMedia() }) }, _prepareData: function () { var t = this; if (!t.container.hasClass("chpmgr_prepared")) { var i = _chpmgr.ProductReviews._getTranslations(); t.itemTemplate = t.container.find(".questions_list.reviews .question_item").first().clone(), t.backgroundColor = t.container.find(".product_reviews_container").css("background-color"), t.textColor = t.container.find(".product_reviews_container").css("color"), t.slideItemTemplate = t.container.find(".chp_rev_media_track .chp_rev_media_slide"), t.container.find(".reviews_header").text(i.customer_reviews), t.container.find(".write_review_button").text(i.write_a_review), t.container.addClass("chpmgr_prepared"); var a = Math.random().toString(36).substring(2, 15); t.container.attr("data-block-id", a) } }, _showReviews: function (t = {}) { var i = this, a = "true" == i.container.attr("data-sample-reviews") && _chpmgr.envInfo.isDesignMode(); if (t.reviews) { r(t.reviews); return } function r(r) { var o, n = r.reviews_list, s = r.summary, c = [], p = String((_chpmgr.ProductReviews.writeReview.productInfo || {}).title || "").trim(); s && _chpmgr.ProductReviews._showSummary(i.container, { summary: s }), n.forEach((t, r) => { var o = i.itemTemplate.clone(), n = String(t.title || "").trim(); if (!a || !(r > 0)) { o.show(), o.find(".author_name").text(t.reviewer_name || t.name), o.find(".question_date").text(_chpmgr.ProductReviews._parseReviewDate(t, o.find(".question_date").attr("data-format"))), o.find(".question_content").html(t.content), "null" != n && "" != n && n != p ? o.find(".question_title").text(t.title) : o.find(".question_title").remove(), "true" == t.verified_buyer || !0 == t.verified_buyer ? (o.find(".verified_purchase").css({ display: "inline-block" }), o.find(".verified_purchase").html(''), o.find(".verified_purchase").append("Verified purchase")) : o.find(".verified_purchase").hide(), o.attr("data-index", r), o.find(".review_rating").html(_chpmgr.starRatings._buildStarsRating({ scale: 1, stars: t.rating })); var s = _chpmgr.ProductReviews._parseImages(t); if (t.images = s, s.length > 0) { var l = o.find(".review_media_item").first(), d = []; s.forEach(i => { var a = i; if (a.includes("-thumb.")) { var r = l.clone(); r.find("img").attr("src", a); var o = _chpmgr.ProductReviews._getImageWrapper(r.find("img"), _chpmgr.ProductReviews._urlHasVideo(a, t), "size_sm"); r.find("img").replaceWith(o), d.push(r[0].outerHTML) } }), o.find(".review_media_wrapper").show().html(d.join("")) } else o.find(".review_media_wrapper").remove(); t.response_text && "" != t.response_text.trim() ? (o.find(".answer_content").html(t.response_text), o.find(".helpful_section svg").each(function () { ["path96", "path97", "path98"].forEach(t => { $(this).find(`#${t}`).css("fill", i.textColor) }) })) : o.find(".answer").remove(), c.push(o[0].outerHTML) } }), i.container.find(".questions_list.reviews").html(c.join("")), 0 == n.length && _chpmgr.ProductReviews.showEmptyState(i.container.find(".questions_list.reviews")); let l = Math.ceil(s.totalCount / 5), d = t.page || 1, h = []; var u = i.container.attr("data-btn-styles"); if (l > 1 && !a) { h.push(`${_chpmgr.ProductReviews.back_svg}`); for (let g = 1; g <= l; g++)h.push(`${g}`); h.push(`${_chpmgr.ProductReviews.next_svg}`), i.container.find(".pagination").html(h.join("")) } else i.container.find(".pagination").html(""); i.container.find(".pagination .page_number").off().click(function () { var t = $(this).data("page"); console.log(`-- chp_show_reviews: page ${t}`), i._showReviews({ page: t }) }), o = n, i.container.find(".review_media_item").off().click(function () { var t = $(this).parents(".question_item").attr("data-index"); _chpmgr.ProductReviews.showPopupDetails({ review: o[t], img_url: $(this).find("img").attr("src"), index: t }) }) } _chpmgr.ProductReviews._getReviews({ per_page: 5, page: t.page || 1, reviews_type: i.reviewsType, get_sample_reviews: a, callback: function (t) { r(t) } }) }, _checkShowReviewsWithMedia: function () { var t = this, i = t.container.offset().top, a = jQuery(window).scrollTop() + jQuery(window).height(), r = `scroll.${t.container.attr("data-block-id")}`; a >= i ? t._showReviewsWithMedia() : jQuery(window).off(r).on(r, function () { t._showReviewsWithMedia(), jQuery(window).off(r) }) }, _showReviewsWithMedia: function (t = {}) {
var i = this; if (i.container.hasClass("product_reviews_wrapper") && "false" != i.container.attr("data-show-media-gallery")) {
var a = "true" == i.container.attr("data-sample-reviews") && _chpmgr.envInfo.isDesignMode(); if (!i.show_reviews_with_media_loading) {
i.show_reviews_with_media_loading = !0; var r = _chpmgr.ProductReviews._getTranslations(), o = {}; i.container.find(".chp_reviews_media_slider_title_text").text(r.reviews_with_images), i.container.find(".chp_reviews_media_slider_see_all").text(r.see_all_photos), _chpmgr.ProductReviews._loadReviewsWithMedia({
reviews_type: i.reviewsType, callback(t) {
i.show_reviews_with_media_loading = !1, t.reviews_with_media.length > 0 ? function t(r = {}) {
var n = r.direction || null, s = []; _chpmgr.ProductReviews._getFilteredReviewsWithMedia({
get_sample_reviews: a, reviews_style: i.reviewsStyle, reviews_type: i.reviewsType, callback(r) {
if (o = r, i.mediaTotalPages = r.total_pages, r.reviews.forEach((t, i) => {
var a = `