").parent(), e.$slideTrack.css("opacity", 0), !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1), i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), !0 === e.options.draggable && e.$list.addClass("draggable"); }, e.prototype.buildRows = function () { var i, e, t, o, s, n, r, l = this; if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) { for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) { var d = document.createElement("div"); for (e = 0; e < l.options.rows; e++) { var a = document.createElement("div"); for (t = 0; t < l.options.slidesPerRow; t++) { var c = i * r + (e * l.options.slidesPerRow + t); n.get(c) && a.appendChild(n.get(c)); } d.appendChild(a); } o.appendChild(d); } l.$slider.empty().append(o), l.$slider.children().children().children().css({width: 100 / l.options.slidesPerRow + "%", display: "inline-block"}); } }, e.prototype.checkResponsive = function (e, t) { var o, s, n, r = this, l = !1, d = r.$slider.width(), a = window.innerWidth || i(window).width(); if ("window" === r.respondTo ? n = a : "slider" === r.respondTo ? n = d : "min" === r.respondTo && (n = Math.min(a, d)), r.options.responsive && r.options.responsive.length && null !== r.options.responsive) { s = null; for (o in r.breakpoints) { r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o])); } null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : null !== r.activeBreakpoint && (r.activeBreakpoint = null, r.options = r.originalSettings, !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e), l = s), e || !1 === l || r.$slider.trigger("breakpoint", [r, l]); } }, e.prototype.changeSlide = function (e, t) { var o, s, n, r = this, l = i(e.currentTarget); switch (l.is("a") && e.preventDefault(), l.is("li") || (l = l.closest("li")), n = r.slideCount % r.options.slidesToScroll != 0, o = n ? 0 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll, e.data.message) { case "previous": s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t); break; case "next": s = 0 === o ? r.options.slidesToScroll : o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t); break; case "index": var d = 0 === e.data.index ? 0 : e.data.index || (l.index() - 1) * r.options.slidesToScroll; r.slideHandler(r.checkNavigable(d), !1, t), l.children().trigger("focus"); break; default: return; } }, e.prototype.checkNavigable = function (i) { var e, t; if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) { i = e[e.length - 1]; } else { for (var o in e) { if (i < e[o]) { i = t; break; } t = e[o]; } } return i; }, e.prototype.cleanUpEvents = function () { var e = this; e.options.dots && null !== e.$dots && (i("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", i.proxy(e.interrupt, e, !0)).off("mouseleave.slick", i.proxy(e.interrupt, e, !1)), !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)), e.$slider.off("focus.slick blur.slick"), !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide), !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))), e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), e.$list.off("touchend.slick mouseup.slick", e.swipeHandler), e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler), e.$list.off("click.slick", e.clickHandler), i(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off("click.slick", e.selectHandler), i(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange), i(window).off("resize.slick.slick-" + e.instanceUid, e.resize), i("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault), i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition); }, e.prototype.cleanUpSlideEvents = function () { var e = this; e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1)); }, e.prototype.cleanUpRows = function () { var i, e = this; e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(i)); }, e.prototype.clickHandler = function (i) { !1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault()); }, e.prototype.destroy = function (e) { var t = this; t.autoPlayClear(), t.touchObject = {}, t.cleanUpEvents(), i(".slick-cloned", t.$slider).detach(), t.$dots && t.$dots.remove(), t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()), t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()), t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function () { i(this).attr("style", i(this).data("originalStyling")); }), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.detach(), t.$list.detach(), t.$slider.append(t.$slides)), t.cleanUpRows(), t.$slider.removeClass("slick-slider"), t.$slider.removeClass("slick-initialized"), t.$slider.removeClass("slick-dotted"), t.unslicked = !0, e || t.$slider.trigger("destroy", [t]); }, e.prototype.disableTransition = function (i) { var e = this, t = {}; t[e.transitionType] = "", !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t); }, e.prototype.fadeSlide = function (i, e) { var t = this; !1 === t.cssTransitions ? (t.$slides.eq(i).css({zIndex: t.options.zIndex}), t.$slides.eq(i).animate({opacity: 1}, t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({opacity: 1, zIndex: t.options.zIndex}), e && setTimeout(function () { t.disableTransition(i), e.call(); }, t.options.speed)); }, e.prototype.fadeSlideOut = function (i) { var e = this; !1 === e.cssTransitions ? e.$slides.eq(i).animate({opacity: 0, zIndex: e.options.zIndex - 2}, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({opacity: 0, zIndex: e.options.zIndex - 2})); }, e.prototype.filterSlides = e.prototype.slickFilter = function (i) { var e = this; null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit()); }, e.prototype.focusHandler = function () { var e = this; e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function (t) { t.stopImmediatePropagation(); var o = i(this); setTimeout(function () { e.options.pauseOnFocus && (e.focussed = o.is(":focus"), e.autoPlay()); }, 0); }); }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function () { return this.currentSlide; }, e.prototype.getDotCount = function () { var i = this, e = 0, t = 0, o = 0; if (!0 === i.options.infinite) { if (i.slideCount <= i.options.slidesToShow) { ++o; } else { for (; e < i.slideCount; ) { ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow; } } } else { if (!0 === i.options.centerMode) { o = i.slideCount; } else { if (i.options.asNavFor) { for (; e < i.slideCount; ) { ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow; } } else { o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll); } } } return o - 1; }, e.prototype.getLeft = function (i) { var e, t, o, s, n = this, r = 0; return n.slideOffset = 0, t = n.$slides.first().outerHeight(!0), !0 === n.options.infinite ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1, s = -1, !0 === n.options.vertical && !0 === n.options.centerMode && (2 === n.options.slidesToShow ? s = -1.5 : 1 === n.options.slidesToShow && (s = -2)), r = t * n.options.slidesToShow * s), n.slideCount % n.options.slidesToScroll != 0 && i + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (i > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (i - n.slideCount)) * n.slideWidth * -1, r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1, r = n.slideCount % n.options.slidesToScroll * t * -1))) : i + n.options.slidesToShow > n.slideCount && (n.slideOffset = (i + n.options.slidesToShow - n.slideCount) * n.slideWidth, r = (i + n.options.slidesToShow - n.slideCount) * t), n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0), !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow ? n.slideOffset = n.slideWidth * Math.floor(n.options.slidesToShow) / 2 - n.slideWidth * n.slideCount / 2 : !0 === n.options.centerMode && !0 === n.options.infinite ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : !0 === n.options.centerMode && (n.slideOffset = 0, n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)), e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset : i * t * -1 + r, !0 === n.options.variableWidth && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, !0 === n.options.centerMode && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow + 1), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, e += (n.$list.width() - o.outerWidth()) / 2)), e; }, e.prototype.getOption = e.prototype.slickGetOption = function (i) { return this.options[i]; }, e.prototype.getNavigableIndexes = function () { var i, e = this, t = 0, o = 0, s = []; for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll, o = -1 * e.options.slidesToScroll, i = 2 * e.slideCount); t < i; ) { s.push(t), t = o + e.options.slidesToScroll, o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow; } return s; }, e.prototype.getSlick = function () { return this; }, e.prototype.getSlideCount = function () { var e, t, o = this; return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0, !0 === o.options.swipeToSlide ? (o.$slideTrack.find(".slick-slide").each(function (s, n) { if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) { return e = n, !1; } }), Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll; }, e.prototype.goTo = e.prototype.slickGoTo = function (i, e) { this.changeSlide({data: {message: "index", index: parseInt(i)}}, e); }, e.prototype.init = function (e) { var t = this; i(t.$slider).hasClass("slick-initialized") || (i(t.$slider).addClass("slick-initialized"), t.buildRows(), t.buildOut(), t.setProps(), t.startLoad(), t.loadSlider(), t.initializeEvents(), t.updateArrows(), t.updateDots(), t.checkResponsive(!0), t.focusHandler()), e && t.$slider.trigger("init", [t]), !0 === t.options.accessibility && t.initADA(), t.options.autoplay && (t.paused = !1, t.autoPlay()); }, e.prototype.initADA = function () { var e = this, t = Math.ceil(e.slideCount / e.options.slidesToShow), o = e.getNavigableIndexes().filter(function (i) { return i >= 0 && i < e.slideCount; }); e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden": "true", tabindex: "-1"}).find("a, input, button, select").attr({tabindex: "-1"}), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function (t) { var s = o.indexOf(t); i(this).attr({role: "tabpanel", id: "slick-slide" + e.instanceUid + t, tabindex: -1}), -1 !== s && i(this).attr({"aria-describedby": "slick-slide-control" + e.instanceUid + s}); }), e.$dots.attr("role", "tablist").find("li").each(function (s) { var n = o[s]; i(this).attr({role: "presentation"}), i(this).find("button").first().attr({role: "tab", id: "slick-slide-control" + e.instanceUid + s, "aria-controls": "slick-slide" + e.instanceUid + n, "aria-label": s + 1 + " of " + t, "aria-selected": null, tabindex: "-1"}); }).eq(e.currentSlide).find("button").attr({"aria-selected": "true", tabindex: "0"}).end()); for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) { e.$slides.eq(s).attr("tabindex", 0); } e.activateADA(); }, e.prototype.initArrowEvents = function () { var i = this; !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", {message: "previous"}, i.changeSlide), i.$nextArrow.off("click.slick").on("click.slick", {message: "next"}, i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler), i.$nextArrow.on("keydown.slick", i.keyHandler))); }, e.prototype.initDotEvents = function () { var e = this; !0 === e.options.dots && (i("li", e.$dots).on("click.slick", {message: "index"}, e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)), !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && i("li", e.$dots).on("mouseenter.slick", i.proxy(e.interrupt, e, !0)).on("mouseleave.slick", i.proxy(e.interrupt, e, !1)); }, e.prototype.initSlideEvents = function () { var e = this; e.options.pauseOnHover && (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1))); }, e.prototype.initializeEvents = function () { var e = this; e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", {action: "start"}, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", {action: "move"}, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", {action: "end"}, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", {action: "end"}, e.swipeHandler), e.$list.on("click.slick", e.clickHandler), i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), i(window).on("orientationchange.slick.slick-" + e.instanceUid, i.proxy(e.orientationChange, e)), i(window).on("resize.slick.slick-" + e.instanceUid, i.proxy(e.resize, e)), i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), i(e.setPosition); }, e.prototype.initUI = function () { var i = this; !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show(); }, e.prototype.keyHandler = function (i) { var e = this; i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({data: {message: !0 === e.options.rtl ? "next" : "previous"}}) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({data: {message: !0 === e.options.rtl ? "previous" : "next"}})); }, e.prototype.lazyLoad = function () { function e(e) { i("img[data-lazy]", e).each(function () { var e = i(this), t = i(this).attr("data-lazy"), o = i(this).attr("data-srcset"), s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"), r = document.createElement("img"); r.onload = function () { e.animate({opacity: 0}, 100, function () { o && (e.attr("srcset", o), s && e.attr("sizes", s)), e.attr("src", t).animate({opacity: 1}, 200, function () { e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"); }), n.$slider.trigger("lazyLoaded", [n, e, t]); }); }, r.onerror = function () { e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), n.$slider.trigger("lazyLoadError", [n, e, t]); }, r.src = t; }); } var t, o, s, n = this; if (!0 === n.options.centerMode ? !0 === n.options.infinite ? s = (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + n.options.slidesToShow + 2 : (o = Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)), s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (o = n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide, s = Math.ceil(o + n.options.slidesToShow), !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)), t = n.$slider.find(".slick-slide").slice(o, s), "anticipated" === n.options.lazyLoad) { for (var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0; a < n.options.slidesToScroll; a++) { r < 0 && (r = n.slideCount - 1), t = (t = t.add(d.eq(r))).add(d.eq(l)), r--, l++; } } e(t), n.slideCount <= n.options.slidesToShow ? e(n.$slider.find(".slick-slide")) : n.currentSlide >= n.slideCount - n.options.slidesToShow ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow)) : 0 === n.currentSlide && e(n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow)); }, e.prototype.loadSlider = function () { var i = this; i.setPosition(), i.$slideTrack.css({opacity: 1}), i.$slider.removeClass("slick-loading"), i.initUI(), "progressive" === i.options.lazyLoad && i.progressiveLazyLoad(); }, e.prototype.next = e.prototype.slickNext = function () { this.changeSlide({data: {message: "next"}}); }, e.prototype.orientationChange = function () { var i = this; i.checkResponsive(), i.setPosition(); }, e.prototype.pause = e.prototype.slickPause = function () { var i = this; i.autoPlayClear(), i.paused = !0; }, e.prototype.play = e.prototype.slickPlay = function () { var i = this; i.autoPlay(), i.options.autoplay = !0, i.paused = !1, i.focussed = !1, i.interrupted = !1; }, e.prototype.postSlide = function (e) { var t = this; t.unslicked || (t.$slider.trigger("afterChange", [t, e]), t.animating = !1, t.slideCount > t.options.slidesToShow && t.setPosition(), t.swipeLeft = null, t.options.autoplay && t.autoPlay(), !0 === t.options.accessibility && (t.initADA(), t.options.focusOnChange && i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus())); }, e.prototype.prev = e.prototype.slickPrev = function () { this.changeSlide({data: {message: "previous"}}); }, e.prototype.preventDefault = function (i) { i.preventDefault(); }, e.prototype.progressiveLazyLoad = function (e) { e = e || 1; var t, o, s, n, r, l = this, d = i("img[data-lazy]", l.$slider); d.length ? (t = d.first(), o = t.attr("data-lazy"), s = t.attr("data-srcset"), n = t.attr("data-sizes") || l.$slider.attr("data-sizes"), (r = document.createElement("img")).onload = function () { s && (t.attr("srcset", s), n && t.attr("sizes", n)), t.attr("src", o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"), !0 === l.options.adaptiveHeight && l.setPosition(), l.$slider.trigger("lazyLoaded", [l, t, o]), l.progressiveLazyLoad(); }, r.onerror = function () { e < 3 ? setTimeout(function () { l.progressiveLazyLoad(e + 1); }, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, t, o]), l.progressiveLazyLoad()); }, r.src = o) : l.$slider.trigger("allImagesLoaded", [l]); }, e.prototype.refresh = function (e) { var t, o, s = this; o = s.slideCount - s.options.slidesToShow, !s.options.infinite && s.currentSlide > o && (s.currentSlide = o), s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), t = s.currentSlide, s.destroy(!0), i.extend(s, s.initials, {currentSlide: t}), s.init(), e || s.changeSlide({data: {message: "index", index: t}}, !1); }, e.prototype.registerBreakpoints = function () { var e, t, o, s = this, n = s.options.responsive || null; if ("array" === i.type(n) && n.length) { s.respondTo = s.options.respondTo || "window"; for (e in n) { if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) { for (t = n[e].breakpoint; o >= 0; ) { s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1), o--; } s.breakpoints.push(t), s.breakpointSettings[t] = n[e].settings; } } s.breakpoints.sort(function (i, e) { return s.options.mobileFirst ? i - e : e - i; }); } }, e.prototype.reinit = function () { var e = this; e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger("reInit", [e]); }, e.prototype.resize = function () { var e = this; i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function () { e.windowWidth = i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition(); }, 50)); }, e.prototype.removeSlide = e.prototype.slickRemove = function (i, e, t) { var o = this; if (i = "boolean" == typeof i ? !0 === (e = i) ? 0 : o.slideCount - 1 : !0 === e ? --i : i, o.slideCount < 1 || i < 0 || i > o.slideCount - 1) { return !1; } o.unload(), !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slidesCache = o.$slides, o.reinit(); }, e.prototype.setCSS = function (i) { var e, t, o = this, s = {}; !0 === o.options.rtl && (i = -i), e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px", t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px", s[o.positionProp] = i, !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {}, !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)", o.$slideTrack.css(s))); }, e.prototype.setDimensions = function () { var i = this; !1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({padding: "0px " + i.options.centerPadding}) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({padding: i.options.centerPadding + " 0px"})), i.listWidth = i.$list.width(), i.listHeight = i.$list.height(), !1 === i.options.vertical && !1 === i.options.variableWidth ? (i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow), i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(".slick-slide").length))) : !0 === i.options.variableWidth ? i.$slideTrack.width(5000 * i.slideCount) : (i.slideWidth = Math.ceil(i.listWidth), i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(".slick-slide").length))); var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width(); !1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e); }, e.prototype.setFade = function () { var e, t = this; t.$slides.each(function (o, s) { e = t.slideWidth * o * -1, !0 === t.options.rtl ? i(s).css({position: "relative", right: e, top: 0, zIndex: t.options.zIndex - 2, opacity: 0}) : i(s).css({position: "relative", left: e, top: 0, zIndex: t.options.zIndex - 2, opacity: 0}); }), t.$slides.eq(t.currentSlide).css({zIndex: t.options.zIndex - 1, opacity: 1}); }, e.prototype.setHeight = function () { var i = this; if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) { var e = i.$slides.eq(i.currentSlide).outerHeight(!0); i.$list.css("height", e); } }, e.prototype.setOption = e.prototype.slickSetOption = function () { var e, t, o, s, n, r = this, l = !1; if ("object" === i.type(arguments[0]) ? (o = arguments[0], l = arguments[1], n = "multiple") : "string" === i.type(arguments[0]) && (o = arguments[0], s = arguments[1], l = arguments[2], "responsive" === arguments[0] && "array" === i.type(arguments[1]) ? n = "responsive" : void 0 !== arguments[1] && (n = "single")), "single" === n) { r.options[o] = s; } else { if ("multiple" === n) { i.each(o, function (i, e) { r.options[i] = e; }); } else { if ("responsive" === n) { for (t in s) { if ("array" !== i.type(r.options.responsive)) { r.options.responsive = [s[t]]; } else { for (e = r.options.responsive.length - 1; e >= 0; ) { r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1), e--; } r.options.responsive.push(s[t]); } } } } } l && (r.unload(), r.reinit()); }, e.prototype.setPosition = function () { var i = this; i.setDimensions(), i.setHeight(), !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger("setPosition", [i]); }, e.prototype.setProps = function () { var i = this, e = document.body.style; i.positionProp = !0 === i.options.vertical ? "top" : "left", "top" === i.positionProp ? i.$slider.addClass("slick-vertical") : i.$slider.removeClass("slick-vertical"), void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0), i.options.fade && ("number" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex), void 0 !== e.OTransform && (i.animType = "OTransform", i.transformType = "-o-transform", i.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.MozTransform && (i.animType = "MozTransform", i.transformType = "-moz-transform", i.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (i.animType = !1)), void 0 !== e.webkitTransform && (i.animType = "webkitTransform", i.transformType = "-webkit-transform", i.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.msTransform && (i.animType = "msTransform", i.transformType = "-ms-transform", i.transitionType = "msTransition", void 0 === e.msTransform && (i.animType = !1)), void 0 !== e.transform && !1 !== i.animType && (i.animType = "transform", i.transformType = "transform", i.transitionType = "transition"), i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType; }, e.prototype.setSlideClasses = function (i) { var e, t, o, s, n = this; if (t = n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), n.$slides.eq(i).addClass("slick-current"), !0 === n.options.centerMode) { var r = n.options.slidesToShow % 2 == 0 ? 1 : 0; e = Math.floor(n.options.slidesToShow / 2), !0 === n.options.infinite && (i >= e && i <= n.slideCount - 1 - e ? n.$slides.slice(i - e + r, i + e + 1).addClass("slick-active").attr("aria-hidden", "false") : (o = n.options.slidesToShow + i, t.slice(o - e + 1 + r, o + e + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === i ? t.eq(t.length - 1 - n.options.slidesToShow).addClass("slick-center") : i === n.slideCount - 1 && t.eq(n.options.slidesToShow).addClass("slick-center")), n.$slides.eq(i).addClass("slick-center"); } else { i >= 0 && i <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : t.length <= n.options.slidesToShow ? t.addClass("slick-active").attr("aria-hidden", "false") : (s = n.slideCount % n.options.slidesToShow, o = !0 === n.options.infinite ? n.options.slidesToShow + i : i, n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - i < n.options.slidesToShow ? t.slice(o - (n.options.slidesToShow - s), o + s).addClass("slick-active").attr("aria-hidden", "false") : t.slice(o, o + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")); } "ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad(); }, e.prototype.setupInfinite = function () { var e, t, o, s = this; if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) { for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) { t = e - 1, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned"); } for (e = 0; e < o + s.slideCount; e += 1) { t = e, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned"); } s.$slideTrack.find(".slick-cloned").find("[id]").each(function () { i(this).attr("id", ""); }); } }, e.prototype.interrupt = function (i) { var e = this; i || e.autoPlay(), e.interrupted = i; }, e.prototype.selectHandler = function (e) { var t = this, o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide"), s = parseInt(o.attr("data-slick-index")); s || (s = 0), t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s); }, e.prototype.slideHandler = function (i, e, t) { var o, s, n, r, l, d = null, a = this; if (e = e || !1, !(!0 === a.animating && !0 === a.options.waitForAnimate || !0 === a.options.fade && a.currentSlide === i)) { if (!1 === e && a.asNavFor(i), o = i, d = a.getLeft(o), r = a.getLeft(a.currentSlide), a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft, !1 === a.options.infinite && !1 === a.options.centerMode && (i < 0 || i > a.getDotCount() * a.options.slidesToScroll)) { !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () { a.postSlide(o); }) : a.postSlide(o)); } else { if (!1 === a.options.infinite && !0 === a.options.centerMode && (i < 0 || i > a.slideCount - a.options.slidesToScroll)) { !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () { a.postSlide(o); }) : a.postSlide(o)); } else { if (a.options.autoplay && clearInterval(a.autoPlayTimer), s = o < 0 ? a.slideCount % a.options.slidesToScroll != 0 ? a.slideCount - a.slideCount % a.options.slidesToScroll : a.slideCount + o : o >= a.slideCount ? a.slideCount % a.options.slidesToScroll != 0 ? 0 : o - a.slideCount : o, a.animating = !0, a.$slider.trigger("beforeChange", [a, a.currentSlide, s]), n = a.currentSlide, a.currentSlide = s, a.setSlideClasses(a.currentSlide), a.options.asNavFor && (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <= l.options.slidesToShow && l.setSlideClasses(a.currentSlide), a.updateDots(), a.updateArrows(), !0 === a.options.fade) { return !0 !== t ? (a.fadeSlideOut(n), a.fadeSlide(s, function () { a.postSlide(s); })) : a.postSlide(s), void a.animateHeight(); } !0 !== t ? a.animateSlide(d, function () { a.postSlide(s); }) : a.postSlide(s); } } } }, e.prototype.startLoad = function () { var i = this; !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(), i.$slider.addClass("slick-loading"); }, e.prototype.swipeDirection = function () { var i, e, t, o, s = this; return i = s.touchObject.startX - s.touchObject.curX, e = s.touchObject.startY - s.touchObject.curY, t = Math.atan2(e, i), (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)), o <= 45 && o >= 0 ? !1 === s.options.rtl ? "left" : "right" : o <= 360 && o >= 315 ? !1 === s.options.rtl ? "left" : "right" : o >= 135 && o <= 225 ? !1 === s.options.rtl ? "right" : "left" : !0 === s.options.verticalSwiping ? o >= 35 && o <= 135 ? "down" : "up" : "vertical"; }, e.prototype.swipeEnd = function (i) { var e, t, o = this; if (o.dragging = !1, o.swiping = !1, o.scrolling) { return o.scrolling = !1, !1; } if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) { return !1; } if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) { switch (t = o.swipeDirection()) { case "left": case "down": e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(), o.currentDirection = 0; break; case "right": case "up": e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(), o.currentDirection = 1; } "vertical" != t && (o.slideHandler(e), o.touchObject = {}, o.$slider.trigger("swipe", [o, t])); } else { o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {}); } }, e.prototype.swipeHandler = function (i) { var e = this; if (!(!1 === e.options.swipe || "ontouchend" in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== i.type.indexOf("mouse"))) { switch (e.touchObject.fingerCount = i.originalEvent && void 0 !== i.originalEvent.touches ? i.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), i.data.action) { case "start": e.swipeStart(i); break; case "move": e.swipeMove(i); break; case "end": e.swipeEnd(i); } } }, e.prototype.swipeMove = function (i) { var e, t, o, s, n, r, l = this; return n = void 0 !== i.originalEvent ? i.originalEvent.touches : null, !(!l.dragging || l.scrolling || n && 1 !== n.length) && (e = l.getLeft(l.currentSlide), l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX, l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY, l.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))), r = Math.round(Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))), !l.options.verticalSwiping && !l.swiping && r > 4 ? (l.scrolling = !0, !1) : (!0 === l.options.verticalSwiping && (l.touchObject.swipeLength = r), t = l.swipeDirection(), void 0 !== i.originalEvent && l.touchObject.swipeLength > 4 && (l.swiping = !0, i.preventDefault()), s = (!1 === l.options.rtl ? 1 : -1) * (l.touchObject.curX > l.touchObject.startX ? 1 : -1), !0 === l.options.verticalSwiping && (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1), o = l.touchObject.swipeLength, l.touchObject.edgeHit = !1, !1 === l.options.infinite && (0 === l.currentSlide && "right" === t || l.currentSlide >= l.getDotCount() && "left" === t) && (o = l.touchObject.swipeLength * l.options.edgeFriction, l.touchObject.edgeHit = !0), !1 === l.options.vertical ? l.swipeLeft = e + o * s : l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s, !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s), !0 !== l.options.fade && !1 !== l.options.touchMove && (!0 === l.animating ? (l.swipeLeft = null, !1) : void l.setCSS(l.swipeLeft)))); }, e.prototype.swipeStart = function (i) { var e, t = this; if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) { return t.touchObject = {}, !1; } void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]), t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX : i.clientX, t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY : i.clientY, t.dragging = !0; }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function () { var i = this; null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit()); }, e.prototype.unload = function () { var e = this; i(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", ""); }, e.prototype.unslick = function (i) { var e = this; e.$slider.trigger("unslick", [e, i]), e.destroy(); }, e.prototype.updateArrows = function () { var i = this; Math.floor(i.options.slidesToShow / 2), !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === i.currentSlide ? (i.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - i.options.slidesToShow && !1 === i.options.centerMode ? (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - 1 && !0 === i.options.centerMode && (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"))); }, e.prototype.updateDots = function () { var i = this; null !== i.$dots && (i.$dots.find("li").removeClass("slick-active").end(), i.$dots.find("li").eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass("slick-active")); }, e.prototype.visibility = function () { var i = this; i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1); }, i.fn.slick = function () { var i, t, o = this, s = arguments[0], n = Array.prototype.slice.call(arguments, 1), r = o.length; for (i = 0; i < r; i++) { if ("object" == typeof s || void 0 === s ? o[i].slick = new e(o[i], s) : t = o[i].slick[s].apply(o[i].slick, n), void 0 !== t) { return t; } } return o; }; }); })(); for (d = 0; d < this.data.dimensions.length; d++) { if (this.data.dimensions[d].usable) { this.data.dimensions[d].matchMedia = window.matchMedia(this.data.dimensions[d].media); this.data.dimensions[d].matchMedia.d = d; if (this.data.dimensions[d].matchMedia.matches) { this.initializeCarousel(this.data.dimensions[d]); } else { initializeOnBreakpoint(this.data.dimensions[d]); } } }}function Carousel_initializeCarousel(e) { const self = this; log("function initializeCarousel executed!"); if (!e.matchMedia.matches) { return; } var dim = e.matchMedia.d, $c = $("#" + self.instance.tagId + " .slick-carousel-dimension" + dim); $c.append(self.buildSlides(dim)); $c.on("init", function (e) { var $c = $(e.currentTarget), $d = $c.find(".slick-dots"), pp, variance = 5; $c.find("img").each(function (i, o) { var w; function setupImage(o) { var w = o.width(); if (1 < w) { o.css({"max-width": w, "width": "100%", "margin": "auto"}); } else { setTimeout(setupImage, 100, o); } } o = $(o); setupImage(o); }); if (!self.data.hideDots) { $d.prepend("
"); $ pp = $ c.find (". Carousel-Play-Pause "); if (self.data.autoplay) {$ pp.addclass (" datousel-pause "). html (" pause ");}else {$ pp.addclass ("carrousel-play"). html ("pause");} Fonction Pause (e) {var $ pp = $ (e.currentTarget), $ c = $ pp.closest (". Slick-Caeousel "); $ pp.html (" play "); $ c.slick (" slickpause "); $ pp.removeclass (" carrousel-pause "); $ pp.addclass (" carousel-play ");}$ c.on ("cliquez", ".carel-play", fonction (e) {var $ pp = $ (e.currentTarget), $ c = $ pp.closest (". Slick-Carousel"); $ pp.html ("pause"); $ c.slick ("slickplay"); $ pp.removeclass ("carrousel-play"); $ pp.addclass ("carrousel-pause");}); $ c.on ("Cliquez", ".carel-pause", fonction (e) {pause (e);}); $ c.on ("cliquez", ".slick-arrow, bouton .slick-dots", fonction (e){var $ d = $ (e.currentTarget); e.currentTarget = $ d.closest (". Slick-Carousel"). Find (". Carousel-Play-Pause"); Pause (e);}); settimeout(function () {$ d.width ($ d.width () + variance) .css ({droite: 0, gauche: 0});}, 1000);}}); log ("self.config:".e.slidestoshow, slidestoscroll: e.slidestoscroll, infinite: self.data.infinite});} fonction carrousel_converttolinkobj (s) {const ne self = this;if (! s.hasownproperty ("lien")) {s.link = {};if (s.hasownproperty ("linkUrl")) {s.link.url = s.linkurl;} if (s.hasownproperty ("linkText")) {s.link.text = s.LinkText;}}} fonction carousel_buildslides (d) {const ne self = this;var str = "";for (i = 0; i
"; str + ="
"; str + ="
"; str + ="
"; } } return str;}function isNull(v) { return N === v;}function isUndefined(v) { return U === typeof v;}function isBoolean(v) { return B === typeof v;}function isFunction(v) { return F === typeof v;}function isNumber(v) { return "number" === typeof v;}function isString(v) { return S === typeof v;}function isStringEmpty(v) { return E === v;}function isArray(v) { return Array.isArray(v);}function isArrayEmpty(v) { return v.length ? false : true;}function isObject(v) { return O === typeof v;}function isObjectEmpty(v) { var i, c = true; for (i in v) { c = false; break; } return c;}function isObjectNotEmpty(v) { return !isObjectEmpty(v);}function isObjectAndEmpty(v) { return isObject(v) && isObjectEmpty(v);}function isObjectAndNotEmpty(v) { return isObject(v) && isObjectNotEmpty(v);}function isBaseObject(v) { return O === typeof v && N !== v && "Object" === v.constructor.name;}function isBaseObjectAndEmpty(v) { return isBaseObject(v) && isObjectEmpty(v);}function isBaseObjectAndNotEmpty(v) { return isBaseObject() && isObjectNotEmpty(v);}function isEmpty(v) { var i, c; return isNull(v) || isUndefined(v) || isStringEmpty(v) || (isObject(v) && isObjectEmpty(v)) || (isArray(v) && isArrayEmpty(v));}function toBoolean(v, d) { var r = d; if (isUndefined(d) || !isBoolean(d)) { d = false; } if (isNaN(v)) { r = String(!d).toUpperCase() === v.toUpperCase() ? !d : d; } else { r = Number(!d) === v ? !d : d; } return r;}function getUrlParm(url, name) { var str = url, s = str.indexOf(name + "="), e, p, value = ""; if (-1 !== s) { e = str.indexOf("&", s); if (-1 === e) { e = str.length; } p = str.substring(s, e).split("="); if (1 < p.length) { value = p[1]; } } return value;}function addUrlParms(url, parms) { const q = "?", a = "&"; var sep = q, pos = -1, p; if (!url) { url = ""; } pos = url.lastIndexOf(q); if (-1 !== pos) { if (url.length - 1 === pos) { sep = E; } else { sep = a; } } for (p in parms) { if (U !== typeof parms[p] && E !== parms[p]) { url += sep + p + "=" + parms[p]; sep = a; } } return url;}function objPropDef(o, pn, dv, vt, iv, npn) { var i = 1; function isMatch(c, cw, isTyped) { var ret = false, i; if (isFunction(cw)) { ret = cw(c); } else { if (isTyped) { c = typeof c; } if (Array.isArray(cw)) { for (i = 0; i < cw.length; i++) { if (c === cw[i]) { ret = true; break; } } } } return ret; } function isDefault(o, p) { var ret = false; if (o.hasOwnProperty(p) && o[p] !== dv) { if (!isMatch(o[p], vt, true) || isMatch(o[p], iv, false)) { ret = true; } } else { ret = true; } return ret; } if (isString(npn)) { if (isDefault(o, npn)) { if (isDefault(o, pn)) { o[npn] = dv; } else { o[npn] = o[pn]; } } delete o[pn]; } else { if (isDefault(o, pn)) { o[pn] = dv; } }}function jsonClone(json) { const FS = "\u0192s", functions = []; var clone; function replacer(n, v) { var nv = {}; if (isFunction(v)) { nv[FS] = functions.push(v) - 1; v = nv; } return v; } function reviver(n, v) { if (isBaseObject(v) && v.hasOwnProperty(FS)) { v = functions[v[FS]]; } return v; } if (json) { clone = JSON.parse(JSON.stringify(json, replacer), reviver); } return clone;}function jsonCompare(a, b) { return (JSON.stringify(a) === JSON.stringify(b));}function performJsonAjaxRequests(requests, success, failure, requestsData, simulateSendFunc, simTime) { const MIME_TYPE = "application/json"; var reqs = jsonClone(requests), name, ready, rn, co, results = {}, pubsub = {}, isSim = isFunction(simulateSendFunc), allDone = false; requestsData = jsonClone(isBaseObject(requestsData) ? requestsData : {}); if (!isNumber(simTime)) { simTime = 0; } function defaultSimulateSendFunc(request, data, handle) { handle({type: "load", currentTarget: {responseText: JSON.stringify(data)}}); } if (!isSim) { simulateSendFunc = defaultSimulateSendFunc; } function sub(name, func, data) { if (!pubsub[name]) { pubsub[name] = []; } pubsub[name].push({func: func, data: data}); } function pub(name, data) { var subs = pubsub[name], i, s; if (subs) { for (i = 0; i < subs.length; i++) { s = subs[i]; setTimeout(function (s) { s.func(name, data, s.data); }, 0, s); } } } function can(name, func) { var subs = pubsub[name], i, s; if (subs) { for (i = 0; i < subs.length; i++) { s = subs[i]; if (func === s.func) { subs.splice(i, 1); break; } } } } function isRequestReady(ready) { var ret = true, i; function isReadyAnds(ready) { var ret = true, r; if (Object.keys(ready).length) { for (r in ready) { if (results[r]) { if (ready[r] !== results[r].success) { ret = -1; break; } } else { ret = false; break; } } } return ret; } function isReadyOrs(ready) { var ret = true; if (ready.length) { for (i = 0; i < ready.length; i++) { ret = isReadyAnds(ready[i]); if (-1 < ret) { if (ret) { break; } } else { ready.splice(i--, 1); } } if (0 > ret) { if (0 < i) { ret = false; } else { ret = -1; } } } else { ret = -1; } return ret; } if (!isUndefined(ready) && !isNull(ready)) { if (isArray(ready)) { ret = isReadyOrs(ready); } else { if (isObject(ready)) { ret = isReadyAnds(ready); } else { if (isFunction(ready)) { ret = ready(jsonClone(results)); } else { if (isBoolean(ready)) { ret = ready ? true : -1; } } } } } return ret; } function mapData(request, resultsData) { var map = request.map, requestData = requestsData[request.name], pName, resName, resResults; if (map && isFunction(map)) { if (!requestData) { requestData = requestsData[request.name] = {}; } map(requestData, jsonClone(resultsData)); } else { if (isObjectAndNotEmpty(request.subscribes) && isObjectNotEmpty(resultsData) && isObject(requestData)) { for (pName in requestData) { if (isUndefined(requestData[pName])) { for (resName in resultsData) { resResults = resultsData[resName].out; if (resResults.hasOwnProperty(pName) && !isUndefined(resResults[pName])) { requestData[pName] = resResults[pName]; } } } } } } } function isRetry(retry, status, type) { var ret = false, wt; function isCount(retry) { var ret = false; if (isNumber(retry.max)) { if (0 < retry.max) { if (!retry.count) { retry.count = 0; } if (retry.count < retry.max) { ret = true; } } } else { ret = true; } return ret; } function isStatus(s, status) { var ret = false; if (isNumber(s)) { if (status === s) { ret = true; } } else { if (isArray(s)) { if (-1 !== s.indexOf(status)) { ret = true; } } } return ret; } if (retry) { if (isCount(retry)) { if (isObject(retry.when)) { if (retry.when.status) { ret = isStatus(retry.when.status, status); } if (!ret && (wt = retry.when[type])) { if (wt) { if (isBoolean(wt)) { ret = wt; } else { ret = isStatus(retry.when[type], status); } } } } else { ret = true; } } } return ret; } function makeRequest(request, data) { const MG = "GET", MP = "POST", cache = jsonAjaxResponseCache, pending = jsonAjaxInProgressRequests; var n, req = new XMLHttpRequest(), rname = request.name; function sets(target, method, sets) { var name; if (sets) { for (name in sets) { target[method](name, sets[name]); } } } function handle(e, fromCache) { var result, target = e.currentTarget || e.target || e.srcElement, responseText = target.responseText, reqStatus = isSim ? e.status : req.status; function isSuccess(e, r) { var ret = true; if (isFunction(request.isSuccess)) { ret = request.isSuccess(e, r); } return ret; } if (isRetry(request.retry, reqStatus, e.type)) { setTimeout(makeRequest, 0, request, data); } else { if (pending.hasOwnProperty(request.url) && pending[request.url].request === request) { delete pending[request.url]; } result = results[rname] = {}; result.fromCache = (!!fromCache); if (requestsData[rname]) { result.in = requestsData[rname]; } if ("load" === e.type) { try { result.out = JSON.parse(responseText); if (isSuccess(e, result.out)) { if (!fromCache) { saveResponse(request, data, e); } result.success = true; if (isFunction(request.success)) { setTimeout(request.success, 0, results); } } else { result.success = false; result[e.type] = req.status; result.event = e; } } catch (e) { result.success = false; result.required = request.required; result.parse = "Invalid Json Body!"; result.event = e; if (isFunction(request.failure)) { setTimeout(request.failure, 0, results); } } } else { result.success = false; result.required = request.required; result[e.type] = req.status; result.event = e; if (isFunction(request.failure)) { setTimeout(request.failure, 0, results); } } pub(rname, request); } } function buildCacheKey(request, data) { return request.url + (data ? JSON.stringify(data) : E); } function saveResponse(request, data, e) { if (request.cache && request.url && "" !== request.url) { log("storing response to cache:", request, e); cache[buildCacheKey(request, data)] = {e: e, data: data, time: new Date().getTime()}; } } function isCached(request, data) { const time = new Date().getTime(), cacheKey = buildCacheKey(request, data); var ret = false, cacheValue; if (request.cache && cache.hasOwnProperty(cacheKey)) { cacheValue = cache[cacheKey]; log("request.cache:", request.cache, "cacheValue.time:", cacheValue.time, "+=", cacheValue.time + request.cache, "time:", time); if (0 > request.cache || cacheValue.time + request.cache > time) { log("response cache used, request:", request, "response:", jsonClone(cacheValue.e)); handle(cacheValue.e, true); ret = true; } else { log("deleting cache for request:", request, jsonClone(cache[request._url])); delete cache[cacheKey]; } } return ret; } function addHandlers(req) { req.addEventListener("load", handle); req.addEventListener("error", handle); req.addEventListener("abort", handle); req.addEventListener("timeout", handle); } if (request.url && "" !== request.url) { if (pending.hasOwnProperty(request.url) && jsonCompare(pending[request.url].data, data)) { log("batch pending: found match!", request.url, "hold!"); addHandlers(pending[request.url].req); request.held = true; } else { if (!request.method) { request.method = MG; } if (MG === request.method) { request._url = addUrlParms(request.url, data); } else { request._url = request.url; } if (!isCached(request, data)) { if (isSim) { setTimeout(simulateSendFunc, 0, request, data, handle); } else { req.overrideMimeType("application/json"); addHandlers(req); sets(req, "addEventListener", request.handlers); req.open(request.method, request._url); sets(req, "setRequestHeader", request.headers); if (0 < request.timeout) { req.timeout = request.timeout; } if (MG === request.method) { try { req.send(); pending[request.url] = {request: request, data: data, req: req}; } catch (e) { log("req.send() Exception:", e); } } else { if (MP === request.method) { req.setRequestHeader("Content-Type", "application/json"); try { req.send(JSON.stringify(data)); pending[request.url] = {request: request, data: data, req: req}; } catch (e) { log("req.send() Exception:", e); } } else { log("Invalid request method.", "request:", request); } } } } } } else { setTimeout(defaultSimulateSendFunc, 0, request, data, handle); } } function performRequest(request, requestsData) { var isReady = false; isReady = isRequestReady(request._ready); if (-1 === isReady) { results[request.name] = {success: false, ready: request._ready}; if (isFunction(request.failure)) { setTimeout(request.failure, 0, results); } pub(request.name, request); } else { if (isReady) { mapData(request, results); makeRequest(request, requestsData[request.name]); } } } function startBatch(requests, requestsData) { var name, i, keys, request; function extractSubscribes(ready) { var subs = {}, i; function add(obj) { var keys = obj, i; if (!isArray(obj)) { keys = Object.keys(obj); } for (i = 0; i < keys.length; i++) { subs[keys[i]] = true; } } if (ready) { if (isArray(ready)) { for (i = 0; i < ready.length; i++) { add(ready[i]); } } else { if (isObject(ready)) { add(ready); } else { if (isFunction(ready)) { if (ready.subs) { add(ready.subs); } else { add(requests); } } } } } return subs; } function publish(name, pubData, subData) { can(name, publish); performRequest(subData, requestsData); } function checkDone(name, pubData, subData) { var isDone = true, isSuccess = true; if (allDone) { return; } for (name in requests) { if (!results[name]) { isDone = false; break; } } if (isDone) { allDone = true; pubsub = {}; for (name in requests) { if (requests[name].required && !results[name].success) { isSuccess = false; break; } } if (isSuccess) { success(results, requests); } else { failure(results, requests); } } } for (name in requests) { request = requests[name]; request.name = name; if (!isNumber(request.cache)) { request.cache = 0; } objPropDef(request, "required", true, ["boolean"]); if (request.hasOwnProperty("ready")) { request._ready = jsonClone(request.ready); } request.subscribes = extractSubscribes(request._ready); keys = Object.keys(request.subscribes); for (i = 0; i < keys.length; i++) { sub(keys[i], publish, request); } sub(name, checkDone, requests[name]); } for (name in requests) { performRequest(requests[name], requestsData); } } startBatch(reqs, requestsData);}function pad(val, count, str) { var i; val = "" + val || ""; count = count || 0; str = "" + str || ""; if (0 > count) { count = -count; for (i = val.length; i < count; i++) { val = val + str; } } else { for (i = val.length; i < count; i++) { val = str + val; } } return val;}function createId(type) { var c = config.ids, pre = c.prefix, sep = c.separator, td = c.type, sd = c.system, system, date = new Date(), id; type = onEtoVal(type, td); type = pad(type, -3, c.pad).substr(-0, 3).toUpperCase(); system = pad(sd, -3, c.pad).substr(-0, 3).toUpperCase(); id = pre + sep + type + sep + system + pad(date.getTime(), 16, "0") + pad(nextId++, 16, "0"); return id;}function onNtoE(v) { return N === v ? E : v;}function onEtoVal(v, val) { return E === v ? val : v;}function log() { var d, s, i; if (!DEBUG) { return; } d = "componentManager:"; s = "console.log(d"; for (i = 0; i < arguments.length; i++) { s += ",arguments[" + i + "]"; } s += ");"; eval(s);}function newInstance(cName, cData, cConfig) { var instance = null, template = {}; if (U === typeof cConfig) { cConfig = {}; } if (cNames.hasOwnProperty(cName)) { instance = {}; template = cNames[cName]; copyObject(instance, template); instance.data = mergeObjects(instance.default.data, cData); instance.config = mergeObjects(instance.default.config, cConfig); if (!template.hasOwnProperty("class")) { template["class"] = {}; } instance["class"] = template["class"]; } else { log("ERROR:", "Definition for component", cName, "NOT found!"); } return instance;}function buildStyle(style, parents) { const E = "", S = " "; var a, p, str = "", sep = "", pre = style.pre, sel = style.sel, post = style.post, attr = style.attr; function buildAttrString(attr) { var a, str = ""; for (a in attr) { str += a + ":" + attr[a] + ";"; } return str; } if (isEmpty(attr) || !isObject(attr) && !isArray(attr)) { return E; } if (isEmpty(parents)) { parents = E; } if (isEmpty(pre)) { pre = E; } if (isEmpty(sel)) { sel = E; } if (isEmpty(post)) { post = E; } if (isString(sel)) { str += parents + S + pre + (isStringEmpty(pre) ? E : S) + sel + (isStringEmpty(sel) ? E : S) + post; } else { if (isArray(sel)) { for (p = 0; p < sel.length; p++) { str += sep + parents + S + pre + (isStringEmpty(pre) ? E : S) + sel[p] + (isStringEmpty(sel[p]) ? E : S) + post; sep = ","; } } } if (isStringEmpty(str)) { return E; } str += "{"; if (isArray(attr)) { for (p = 0; p < attr.length; p++) { str += buildAttrString(attr[p]); } } else { str += buildAttrString(attr); } str += "}"; return str;}function buildTagString(tag) { var tstr = "", astr = "", cstr = "", a, p; if (tag.hasOwnProperty("content") && isString(tag.content)) { cstr += tag.content; } else { if (isArray(tag.content)) { } } if (tag.hasOwnProperty("name") && isString(tag.name) && !isStringEmpty(tag.name)) { if (tag.hasOwnProperty("attr") && isObject(tag.attr)) { for (a in tag.attr) { astr += " " + a + "=\"" + tag.attr[a] + "\""; } } if (tag.hasOwnProperty("prop") && isObject(tag.prop)) { for (p in tag.prop) { if (tag.prop[p]) { astr += " " + p; } } } tstr += "<" + tag.name + astr + ">" + cstr + "" + tag.name + ">"; } return tstr;}function buildComponentTag(contentFunc) { const _self = this; var tagId, html = ""; if (!_self.instance || !_self.instance.tagId) { tagId = createId("COM"); _self.instance = {tagId: tagId}; } else { tagId = _self.instance.tagId; } html += "
"; if (contentfunc) {html + = contenufunc.call (_self);} html + ="
"; return html;}function copyObjectNameMapDefault(sourceName, sourceValue) { return sourceName;}function copyObject(d, s, nameMap) { var j, k, js, stack = []; if ("function" !== typeof nameMap ) { nameMap = copyObjectNameMapDefault ; } stack.push({s : s, d : d}); while (0 < stack.length) { p = stack.pop(); s = p.s; d = p.d; for (j in s) { js = nameMap(j, s[j]); if ("string" === typeof s[j]) { d[js] = s[j]; } else { if ("object" = == type de s[j]) { if (Array.isArray(s[j])) { if (U === type de d[js]) { d[js] = []; } for (k = 0; k < s[j].length; k++) { if ("string" === typeof s[j][k]) { d[js][k] = s[j][k]; } else { if ("objet" === type de s[j][k]) { if (U === type de d[js][k]) { if (Array.isArray(s[j][k])) { d [js][k] = []; } else { d[js][k] = {}; } } } } stack.push({s : s[j][k], d : d[js][ k]}); } } else { if (U === typeof d[j]) { d[js] = {}; } stack.push({s: s[j], d: d[js]} ); } } else { d[js] = s[j]; } } } }}function mergeObjects() { var i = 0, n, r = {}, p; for (i = 0; i < arguments. longueur ; i++) { n = arguments[i]; copyObject(r, n); } return r;}function persist() { var _self = this; if (!coms.hasOwnProperty(_self.instance.tagId)) { coms[_self.instance.tagId] = _self; }}fonction Bopis_html() { const _self = this; var f, str = ""; f = _self.config.feature; if (_self.config.features.hasOwnProperty(f)) { _self.feature = _self.config.features[f]; if (_self.hasOwnProperty(f) && _self.isFunction(_self[f])) { str += _self[f](); } } return str;}function Bopis_getDeliveryConfigBatch(callback) { const _self = this; const SP = "sitePreferences", DC = "deliveryConfig" ; const AS = [S], AB = [B]; lot const = {} ; batch[SP] = {"url": _self.baseAjaxUrl + "SitePreferences-GetPreferencesJSON?prefcontext=deliveryOptions", "cache": 60000}; batch[DC] = {"url": _self.baseAjaxUrl + "Stores-DeliveryConfig", "cache": 1800000, succès : fonction (résultats) { if (results.deliveryConfig.success && results.deliveryConfig.out.sddZipCode) { if (window.libs && window.libs.notify) { window.libs.notify.api.fire("dc-done", {sddZip : results.deliveryConfig.out.sddZipCode}); } } }} ; _self.performJsonAjaxRequests(batch, function (r, rq) { var d, n, data = {}; function merge(d, s) { var n; for (n in s) { d[n] = s[n] ; } } merge(data, r[SP].out); merge(data, r[DC].out); _self.objPropDef(data, "storeId", E, AS); _self.objPropDef(data, "zipCode ", E, AS); _self.objPropDef(data, "sddZipCode", E, AS); _self.objPropDef(data, "StoreInventoryService", "dom", AS, null, "storeInvService"); _self.objPropDef(data , "FIND_IN_STORE_ENABLE", _self.default.data.fisEnabled, AB, null, "fisEnabled"); _self.objPropDef(data, "enableStorePickUp", _self.default.data.bopisEnabled, AB, null, "bopisEnabled"); _self .objPropDef(data, "enableSameDayDeliveryPDP", _self.default.data.sddEnabled, AB, null, "sddEnabled"); _self.objPropDef(data, "useSFCCforStoreInv", false, AB, null, "storeInvSfccOnly"); objPropDef(data , "BOPISPickupReadyHours", 4, ["number"], null, "readyHours"); if (_self.isFunction(callback)) { try { callback(data); } catch (e) { log("Exception :", e); } } }, function (r) { log("échec getDeliveryConfigBatch : résultats :", r); });}function Bopis_getStoresByZipPidBatch(pid, orin, zip, sddZip, sddStoreId, callback) { const _self = this; const prod = "www.belk.com", dev = "www.belkdev.com" ; var hôte = prod; if (prod !== window.location.host) { host = dev; } const batch = {deliveryConfig : {url : _self.baseAjaxUrl + "Stores-DeliveryConfig", "cache": 1800000, obligatoire : false, success : function (results) { if (results.deliveryConfig.success && results.deliveryConfig.out .sddZipCode) { if (window.libs && window.libs.notify) { window.libs.notify.api.fire("dc-done", {sddZip : results.deliveryConfig.out.sddZipCode}); } } }}, storesCall : {url : _self.baseAjaxUrl + "Stores-GetStoresByZip", "cache" : 60000, obligatoire : false}, InventoryCall : {url : "https://" + hôte + "/inventory/" + _self.data.storeInvService, méthode : "POST", obligatoire : false, "cache": 60000, timeout : 3000, prêt : {storesCall : true}, map : function (dest, results) { const source = results.storesCall .dehors; var je; dest.stores = []; pour (i = 0; i < source.length; i++) { dest.stores[i] = source[i].storeId; } }, isSuccess : function (e, r) { var ret = true ; if (r.statusCode) { log("statusCode dans la réponse d'inventaire :", r); ret = faux ; } if (!r.hasOwnProperty(pid)) { log("pid manquant", pid, " dans la réponse d'inventaire :", r); ret = faux ; } return ret; }}, backupCall : {url : _self.baseAjaxUrl + "StoreInventory-RedesignInventory", "cache" : 60000, requis : false, prêt : [{storesCall : false}, {inventoryCall : false}]}, successNode : {ready : [{storesCall : true, inventorCall : true}, {backupCall : true}], obligatoire : true, map : function (dest, r) { var id, n, o ; if (r.deliveryConfig.success) { for (n in r.deliveryConfig.out) { dest[n] = r.deliveryConfig.out[n]; } objPropDef(dest, "BOPISPickupReadyHours", 4, ["number"], null, "readyHours"); } if (r.storesCall.success && r.inventoryCall.success) { dest.stores = r.storesCall.out; pour (n = 0; n < dest.stores.length; n++) { dest.stores[n].id = dest.stores[n].storeId; supprimer dest.stores[n].storeId ; } if (r.inventoryCall.out[pid]) { o = r.inventoryCall.out[pid]; pour (n = 0; n < dest.stores.length; n++) { id = dest.stores[n].id; if (o.hasOwnProperty(id)) { dest.stores[n].quantity = o[id]; if (0 < o[id]) { dest.success = true; } } else { dest.stores[n].quantity = 0; } } } else { for (n = 0; n < dest.stores.length; n++) { dest.stores[n].quantity = 0; } } _self.fixStoreData(dest); if (E !== sddStoreId) { for (n = 0; n < dest.stores.length; n++) { if (sddStoreId === dest.stores[n].id) { dest.sddStore = dest.stores[ m] ; casser; } } } } else { if (r.backupCall.success) { for (n in r.backupCall.out) { dest[n] = r.backupCall.out[n]; } } else { log("getStoresByZipPidBatch successNode atteint avec des données non valides."); } } }}}, data = {storesCall : {zipCode : zip, sddZipCode : sddZip, sddStore : sddStoreId}, InventoryCall : {items : [{pid : pid, orin : orin}]}, backupCall : {pid : pid, zipCode : zip, sddZip : sddZip, sddStoreId : sddStoreId}} ; function suc(r, rq) { var data = r.successNode.out, parms = {pid : pid, orin : orin, zip : zip, sddZip : sddZip, sddStoreId : sddStoreId} ; if (_self.isFunction(callback)) { try { callback(parms, data); } catch (e) { log("Exception :", e); } } } function fai(r) { log("échec du lot : résultats :", r); } if (_self.data.storeInvSfccOnly) { batch.storesCall.ready = false; batch.inventoryCall.ready = false; } _self.performJsonAjaxRequests(batch, suc, fai, data);}function Bopis_validateData(cData) { const _self = this; var valid = {productOnlineOnly : false, bopisEnabled : false, findInStoreEnabled : false, curbSidePickupEnabled : false, bopisProduct : false, bopisSku : false, zip : false, storeId : false, skuId : false, productInStock : false, skuStockLevel : false, surchargeAmount : false, isPreOrderEnabled : false, showPreOrder : false, isQuickView : false, releaseDate : false, preOrderPromoId : false, preOrderPromoDetails : false, storeSearchDistance : false}, allValid = false ; if (!_self.isBoolean(cData.productOnlineOnly)) { cData.bopisEnabled = _self.toBoolean(cData.bopisEnabled, _self.default.data.productOnlineOnly); } if (_self.isBoolean(cData.productOnlineOnly)) { valid.productOnlineOnly = true; } if (!_self.isBoolean(cData.bopisEnabled)) { cData.bopisEnabled = _self.toBoolean(cData.bopisEnabled, _self.default.data.bopisEnabled); } if (_self.isBoolean(cData.bopisEnabled)) { valid.bopisEnabled = true; } if (!_self.isBoolean(cData.findInStoreEnabled)) { cData.findInStoreEnabled = _self.toBoolean(cData.findInStoreEnabled, _self.default.data.findInStoreEnabled); } if (_self.isBoolean(cData.findInStoreEnabled)) { valid.findInStoreEnabled = true; } if (_self.isBoolean(cData.curbSidePickupEnabled)) { valid.curbSidePickupEnabled = true; } if (!_self.isBoolean(cData.bopisProduct)) { cData.bopisProduct = _self.toBoolean(cData.bopisProduct, _self.default.data.bopisProduct); } if (_self.isBoolean(cData.bopisProduct)) { valid.bopisProduct = true; } if (!_self.isBoolean(cData.bopisSku)) { cData.bopisSku = _self.toBoolean(cData.bopisSku, _self.default.data.bopisSku); } if (_self.isBoolean(cData.bopisSku)) { valid.bopisSku = true; } if (!_self.isString(cData.zip)) { cData.zip = new String(cData.zip); } if (5 !== cData.zip.length) { cData.zip = cData.zip.substring(0, 5); } if (_self.isStringEmpty(cData.zip) || !isNaN(cData.zip) && (5 === cData.zip.length)) { valid.zip = true; } if (_self.isNumber(cData.storeId)) { cData.storeId = new String(cData.storeId); } if (!_self.isString(cData.storeId) || isNaN(cData.storeId)) { cData.storeId = _self.default.data.storeId; } if (_self.isString(cData.storeId) && !isNaN(cData.storeId)) { valid.storeId = true; } if (_self.isNumber(cData.skuId)) { cData.skuId = new String(cData.skuId); } if (!_self.isString(cData.skuId)) { cData.skuId = _self.default.data.skuId; } if (_self.isString(cData.skuId)) { valid.skuId = true; } if (!_self.isBoolean(cData.productInStock)) { cData.productInStock = _self.toBoolean(cData.productInStock, _self.default.data.productInStock); } if (_self.isBoolean(cData.productInStock)) { valid.productInStock = true; } if (!_self.isNumber(cData.skuStockLevel) && !isNaN(cData.skuStockLevel)) { cData.skuStockLevel = Number(cData.skuStockLevel); } if (_self.isNumber(cData.skuStockLevel)) { valid.skuStockLevel = true; } if (_self.isNumber(cData.surchargeAmount)) { valid.surchargeAmount = true; } if (_self.isBoolean(cData.isPreOrderEnabled)) { valid.isPreOrderEnabled = true; } if (_self.isBoolean(cData.showPreOrder)) { valid.showPreOrder = true; } if (_self.isBoolean(cData.isQuickView)) { valid.isQuickView = true; } if (_self.isString(cData.releaseDate)) { valid.releaseDate = true; } if (_self.isString(cData.preOrderPromoId)) { valid.preOrderPromoId = true; } if (_self.isString(cData.preOrderPromoDetails)) { valid.preOrderPromoDetails = true; } if (_self.isNumber(cData.storeSearchDistance)) { valid.storeSearchDistance = true; } else { cData.storeSearchDistance = _self.default.data.storeSearchDistance ; } for (i in valid) { if (valid[i]) { allValid = true; } else { allValid = faux ; casser; } } renvoie allValid ? true : valide;}function Bopis_reset() { const _self = this; _self.error = faux; _self.searchResults = {}; _self.copyObject(_self.searchResults, _self.default.config.init.searchResults); _self.stores = []; _self.hasPreOrderResponse = false; _self.shipPromoMsg = ""; _self.isShipPromoMsg = false; _self.selectedStoreIds = [];}function Bopis_plp() { const _self = this; var str = "", storeName = _self.config.messaging.selectStore, ids = "", i, urlStoreId = "", mm = window.matchMedia("(max-width:767px)"); if (isUndefined(_self.config.messaging.bopis) || !isString(_self.config.messaging.bopis) || isStringEmpty(_self.config.messaging.bopis)) { _self.config.messaging.bopis = _self.default .config.messaging.bopis ; } _self.checked = faux; if (-1 !== window.location.href.indexOf("searchType=FreePickup")) { _self.checked = true; } fonction buildBopisPromoMsg() { return ""+ _self.promomsg +"";} fonction build () {var str =" ", isstore =! _self.isobjectempty (_self.data.store), bopispromoassetid = window.sitepreferences.bopis_clearance_cupon_enable"; str + =""+ _self.config.messaging.bopis + _self.pickuptodayortomorrow (); if (1 <_elf.selectedstoreids.length) {storename = _self.config.messing.atstoresx.replace (" x ", _self.selectedstoreids.length);} else {if (isStore) {storename = _self.data.store.name;}} str + = "" + _self.buildStoreSelectionToggle (storename); str + = ""; str + ="
"; str + =""; if (! _self.issstRingEmpty (_elf.promomsg)) {str + = buildBopispromomsg ();} else {_self.getBopispromoMessaging (bopispromoAssetid, function (data) {if (data.hasownproperty (" isonline ") && data.ison.&& data.hasownproperty ("AssetContent") &&! _self.issstrinighmpty (data.assetContent)) {_self.promomsg = data.assetContent; $ ("#" + _self.instance.tagid + ".promo").());}});} str + = ""; const newMoveSel = "#bopis-pickup"; const oldMoveSel = "#secondary"; var moveToSel = newMoveSel; if (!window.facetNav || !window.facetNav.nav) { moveToSel = oldMoveSel; } var moveTryCount = 0 ; var toi = null; function startMoveTo(obj, toSel) { if (toi) { clearTimeout(toi); toi = null; } moveTo(obj, toSel); } function moveTo(obj, toSel) { var to = document. querySelector(toSel), plp; if (!_self.isNull(to)) { to.prepend(obj); _self.addStoreSelectionHandlers(); switch (toSel) { case oldMoveSel : case newMoveSel : $("#results-products" ).css({largeur : "auto"}); $(".bopis-filter-options").css({affichage : "aucun"}); plp = comp.querySelector(".plp"); plp. classList.add("facet"); if (oldMoveSel === moveToSel) { plp.classList.add("wrap"); } break; par défaut : $("#results-products").css({width: " "}); $(".bopis-filter-options").css({display: ""}); plp = comp.querySelector(".plp"); plp.classList.remove("facet"); si (oldMoveSel === moveToSel) { plp.classList.remove("wrap"); } } } else { if (newMoveSel === moveToSel) { moveTryCount++; si (moveTryCount > 20) { moveToSel = oldMoveSel ; toSel = déplacerVersSel ; } } toi = setTimeout(moveTo, 50, obj, toSel); } } var noMove = vrai ; var comp = document.querySelector("#" + _self.instance.tagId); if (_self.feature.moveToLeftOnDesktop) { mm.addListener(function bpchange(e) { var comp = document.querySelector("#" + _self.instance.tagId); if (!comp) { mm.removeListener(bpchange); if (toi) { clearTimeout(toi); toi = null; } return; } if (noMove !== e.matches) { noMove = e.matches; if (noMove) { startMoveTo(comp, ".bopis-filter- options"); } else { startMoveTo(comp, moveToSel); } } }); noMove = mm.matches; } if (!_self.isNull(comp)) { $(comp).find(".plp .center-vert").html(str); _self.addStoreSelectionHandlers(); if (!noMove) { startMoveTo(comp, moveToSel); } } } function getStores(zip) { var trouvé = {}; if (!_self.isStringEmpty(zip)) { _self.getStoresByZip(zip, function (zip, data) { var i; _self.log("getStoresByZip with zip:", zip, "données retournées:", data); if (_self.isObject(data) && data.hasOwnProperty("success") && data.success) { _self.data.zip = zip; _self.stores = data.stores; if (data.hasOwnProperty("readyHours") && _self .isNumber(data.readyHours)) { _self.readyHours = data.readyHours; } if (data.hasOwnProperty("pickupToday") && _self.isBoolean(data.pickupToday)) { _self.pickupToday = data.pickupToday; } if ( data.hasOwnProperty("pickupDay") && _self.isString(data.pickupDay)) { _self.data.pickupDay = data.pickupDay; } if (0 === _self.selectedStoreIds.length) { if (!_self.isArrayEmpty( _self.stores)) { found = _self.findFirstBopisStore(); } if (!_self.isUndefined(found.store)) { _self.data.store = found.store; _self.selectedStoreIds.push(found.store.id) ; } else { _self.data.store = {}; } } else { if (!_self.isArrayEmpty(_self.stores)) { for (i = 0; i < _self.selectedStoreIds.length; i++) { found = _self.findStore(_self.selectedStoreIds[i]); if (!found.hasOwnProperty("store") || !found.store.hasOwnProperty("bopis") || !found.store.bopis) { _self.selectedStoreIds.splice(i--, 1); } } trouvé = {}; if (0 !== _self.selectedStoreIds.length) { found = _self.findStore(_self.selectedStoreIds[0]); } } if (found.hasOwnProperty("store") && found.store.hasOwnProperty("bopis") && found.store.bopis) { _self.data.store = found.store; } autre { _self.data.store = {}; } } } construire(); }); } autre { _self.data.zip = zip; construire(); } } urlStoreId = _self.getUrlParm(window.location.href, "storeId"); if (!_self.isStringEmpty(urlStoreId)) { ids = decodeURIComponent(urlStoreId); } else { if (window.hasOwnProperty("User") && window.User.hasOwnProperty("storeId") && !_self.isNull(window.User.storeId)) { ids = window.User.storeId; } } if (!_self.isStringEmpty(ids)) { ids = ids.split("|"); pour (i = 0; i < ids.length; i++) { _self.selectedStoreIds.push(ids[i]); } } function closePopper(e) { var $t = $(e.target), $p; if (_self["class"].ignoreNextClosePopperSelf === _self) { _self["class"].ignoreNextClosePopperSelf = null; retour; } if (0 !== $t.filter("#" + _self.instance.tagId + " .as-link").length) { return; } if ("filterByStorePickup" === $t.attr("pour")) { return; } $p = $t.closest("#" + _self.instance.tagId + " .popper"); if (0 === $p.length) { if (_self.isPopperOpen) { _self.hidePopper(); } } } window.libs.notify.api.request(["jquery-ready"], function () { const ENS = "clic." + _self.component.class + ".popper"; var zip, $B = $("body"); $B.off(ENS); $B.on(ENS, closePopper); if (_self.isStringEmpty(_self.data.zip)) { _self.getDeliveryConfigBatch(function (data) { if ( !_self.isObjectEmpty(data)) { _self.data.bopisEnabled = data.bopisEnabled; _self.data.findInStoreEnabled = data.fisEnabled; _self.data.storeId = data.storeId; if ("" !== data.zipCode) { zip = data.zipCode; getStores(zip); } else { getStores(_self.data.zip); } } else { build(); } }); } else { getStores(_self.data.zip); } } ); document.addEventListener("brdata_ready", function (e) { const vérifié = (-1 !== window.location.href.indexOf("searchType=FreePickup")); _self.update({vérifié: vérifié}); } ); str + = "
"; return str;}function Bopis_pdp() { const _self = this; const zipClass = "select-zip"; var valid, str = "", e, pid = "", zip = ""; valid = _self.validateData (_self.data); log("data valid:", valid); if (isUndefined(_self.config.messaging.bopis) || !isString(_self.config.messaging.bopis) || isStringEmpty(_self.config. messagerie.bopis)) { _self.config.messaging.bopis = _self.default.config.messaging.bopis; } pid = _self.data.skuId; _self.objPropDef(_self.data, "skuOrin", "", [" string"]); orin = _self.data.skuOrin; zip = _self.data.zip; function closePopper(e) { if (_self.ignoreNextClosePopper) { _self.ignoreNextClosePopper = false; return; } var $t = $(e .target), $p = $t.closest("#" + _self.instance.tagId + " .popper"); if (0 !== $t.filter("#" + _self.instance.tagId + " .as-link").length) { return; } if (0 !== $t.filter("#" + _self.instance.tagId + " .rradio").length) { return; } if (0 ! == $t.filter("#" + _self.instance.tagId + " .rcheckbox").length) { return; } if (0 !== $t.filter("#" + _self.instance.tagId + " .vlabel").longueur) { return; } if ($t.hasClass("rradio")) { return; } if (0 !== $t.filter("#" + _self.instance.tagId + " #receive-option-pickup").length) { return; } if (0 === $p.length) { if (_self.isPopperOpen) { _self.hidePopper(); } } } function build() { var $C = $("#" + _self.instance.tagId); $C.find(".pdp").html(_self.buildPDP()); $C.find(".réserve-espace").removeClass("réserve-espace"); _self.addOutlineHandlers(); _self.addStoreSelectionHandlers(); _self.addPDPZipSelectionHandlers(); _self.addConnsZipSelectionHandler(); } function getStores(pid, orin, zip, sddZip, sddStoreId) { var trouvé = {}; if (_self.isUndefined(pid)) { pid = ""; } if (_self.isUndefined(orin)) { orin = ""; } if (_self.isUndefined(zip)) { zip = ""; } if (_self.isUndefined(sddZip)) { sddZip = ""; } if (_self.isUndefined(sddStoreId)) { sddStoreId = ""; } if (!_self.isStringEmpty(pid) && (_self.data.findInStoreEnabled && !_self.isStringEmpty(zip) || !_self.isStringEmpty(sddZip) && !_self.isStringEmpty(sddStoreId))) { if (_self.isStringEmpty (sddStoreId)) { sddZip = "" ; } else { if (_self.isStringEmpty(sddZip)) { sddStoreId = ""; } } _self.getStoresByZipPidBatch(pid, orin, zip, sddZip, sddStoreId, function (parms, data) { if (_self.isObject(data) && data.hasOwnProperty("success") && data.success) { _self.data. skuId = parms.pid; _self.data.zip = parms.zip; if (data.hasOwnProperty("stores")) { _self.stores = data.stores; } if (data.hasOwnProperty("readyHours")) { _self .readyHours = data.readyHours; } if (data.hasOwnProperty("pickupToday")) { _self.pickupToday = data.pickupToday; } if (data.hasOwnProperty("pickupDay") && _self.isString(data.pickupDay)) { _self.data.pickupDay = data.pickupDay; } if (data.hasOwnProperty("sddStore")) { _self.data.sddStore = data.sddStore; _self.data.sddStoreId = _self.data.sddStore.id; } if ( data.hasOwnProperty("sameDay")) { _self.data.sddSameDay = data.sameDay; } if (!_self.isArrayEmpty(_self.stores)) { if (!_self.isNull(_self.data.preferredStoreId)) { trouvé = _self.findStore(_self.data.preferredStoreId); } else { if (!_self.isObjectEmpty(_self.data.store)) { found = _self.findStore(_self.data.store.id); } } } if (!_self.isUndefined(found.store)) { _self.data.store = found.store; _self.data.storeId = _self.data.store.id; } else { if (0 < _self.stores.length) { _self.data.store = _self.stores[0]; _self.data.storeId = _self.data.store.id; } } if (_self.isObjectEmpty(_self.data.store) || !_self.data.store.bopis || 0 === _self.data.store.quantity) { _self.searchResults = _self.searchStores(_self.stores ); if (_self.searchResults.bopis) { _self.data.store = _self.searchResults.store; _self.data.storeId = _self.data.store.id; } } } construire(); }); } autre { _self.data.zip = zip; construire(); } } window.libs.notify.api.request(["jquery-ready"], function () { const ENS = "clic." + _self.component.class + ".popper"; var $B = $(" body"); $B.off(ENS); $B.on(ENS, closePopper); if (_self.isStringEmpty(_self.data.zip)) { _self.getDeliveryConfigBatch(function (data) { if (!_self. isObjectEmpty(data)) { _self.data.bopisEnabled = data.bopisEnabled; _self.data.findInStoreEnabled = data.fisEnabled; _self.data.storeId = data.storeId; _self.data.preferredStoreId = _self.data.storeId; _self. data.zip = data.zipCode; _self.data.sddEnabled = data.sddEnabled; _self.data.sddZip = data.sddZipCode; _self.data.storeInvService = data.storeInvService; _self.data.storeInvSfccOnly = data.storeInvSfccOnly; si ( _self.data.sddEnabled && E !== _self.data.sddZip) { _self.getSddStore(function (data) { if (!_self.isObjectEmpty(data) && data.hasOwnProperty("store") && !_self.isStringEmpty( data.store)) { _self.data.sddStoreId = data.store; } if (_self.isStoresDataNeeded()) { getStores(pid, _self.data.skuOrin, _self.data.zip, _self.data.sddZip, _self. data.sddStoreId); } autre { build(); } }); } else { if (_self.isStoresDataNeeded()) { getStores(pid, _self.data.skuOrin, _self.data.zip); } autre { build(); } } } autre { build(); } }); } else { if (_self.isStoresDataNeeded()) { getStores(pid, _self.data.skuOrin, _self.data.zip, _self.data.sddZip, _self.data.sddStoreId); } autre { build(); } } }); _self.persist(); str + = "
"; return str;} function bopis_bag () {const _self = this; var valide, str =" "; if (! _self.class.hasownproperty (" isclosepoppers ")) {_elf.class.isclosepoppers = false;} if (! _self.class.hasownproperty ("IgnorEnxtClosePopperself")) {_self.class.IgnoreExtClosePopperself = null;} _self.readyhours = 4; _self.pickuptoday = false; if (! _self.isundefined (_sel.daTa.Readyhours) & _ _f.isNumber (_self.data.readyhours)) {_self.readyhours = _elf.data.readyhours;} if (! _self.isundefined (_self.data.pickuptoday) && _self.isboolean (_self.data.pickuptoday))= _self.data.pickuptoday;} if (! _self.issstring (_elf.data.pickupday)) {_self.data.pickupday = "";} if (isUnDefined (_self.config.messing.bopis) | isstring (_self.config.messaging.bopis) | isstring (_self.config.messagre.bopis) | IsundeFine_self.config.messaging.bopis) || isstRingEmpty (_elf.config.messaging.bopis)) {_self.config.messaging.bopis = _elf.default.config.messing.bopis;} if (! _sel.data.hasownproperty ("sessionzip")) {_self.data.Sessionzip = "";} fonction roserPoppers (e) {var $ t = $ (e.target), ignoself = null, pid = "";if (0! == $ t.closest (". recevoir-option-pickup"). length) {pid = $ t.closest ("." + _self.component.class) .attr ("id");if (""! == pid && coms.hasownproperty (pid)) {ignoSelf = coms [pid];}} if (! Isnull (_elf.class.IgnoreNextClosePopSelf)) {ignoSelf = _elf.class.IgnoreNextClosePopSelf;_self.class.IgnoreNExtClosePopSelf = null;} _self.hidepoppers (ignorer);} Fonction build () {const sens = "click.+ _self.component.class + ".popper";var $ b = $ ("corps");var $ c = $ ("#" + _self.instance.tagid);$ C.find (". Sac"). Html (_self.buildpdp ());$ C.find (". Réserve-espace"). RemoveClass ("réserve-espace");_self.adddStoreSelectionHandlers ();_self.addConnszipSelectionHandler ();if (! _self.class.isclosePoppers) {$ b.off (et);$ B.on (ENS, roserPoppers);_self.class.isclosePoppers = true;}} if (_self.data.productInstock) {_self.getDeliveryConfigBatch (fonction (data) {_self.data.storeinvservice = data.storeinvservice; _self.data.storeinvsfcconly = data.storeinvsfcConly; window["jQuery-ready"], function () {build ();});});_self.persiste ();str + = "
";} return str;} function bopis_bagsddbanner () {const _self = this; const zipclass =" select-zip ", sddm = _self.config.messaging.sdd; var str =" "; fonction formatPrice (p) {const Regexex= /(\d(?=(\d {3 })+\.)))/g; return "$" + numéro (p) .tofixed (2) .replace (regex, "$ 1,");} si(isNumber (_self.data.sddfee) || isstring (_self.data.sddfee) &&! IsstRingEmpty (_elf.data.sddfee)) {_self.data.formattedSddfee = FormatPrice (_fl.Data.sddfee);} {_.data.formattedSddfee = "";} fonction roserPopper (e) {if (_self.ignoreExtClosePopper) {_self.IgnoreNextClosePopper = false; return;} var $ t = $ (e.target), $ p = $ t.closest ("#" + _self.instance.tagid + ".popper"); if (0! == $ t.filter ("#" + _self.instance.tagid + ".as-link"). Length) {return;} if (0! == $ t.filter ("#" + _self.instance.tagid + ".rradio"). longueur) {return;} if (0! == $ t.filter ("#" + _self.instance.tagid + ".rcheckbox"). Length) {return;} if (0! == $ t.filter ("#" + _self.instance.tagid + ".vLabel"). Length) {return;}if ($ t.hasclass ("rradio")) {return;} if (0 === $ P.Length) {if (_self.ispopperropen) {_self.Hidepopper ();}}} fonction buildsddMessage () {var msg = "", fee = _self.issstRingEmpty (_elf.data.formattedSddfee)?"": "(" + _self.data.formattedsddfee + ")";Jour de fonction (sameday) {var msg = "";if (sameday) {msg = "aujourd'hui";} else {msg = "demain";} return msg;} fonction fill (msg) {var rx = / {{x}} /, rs = / {{s}} /, rc = / {{c}} /, re = / {{e}} /;msg = msg.replace (rx, _self.data.sdditemCount);msg = msg.replace (rs, 1 <_self.data.sdditemCount? "S": "");msg = msg.replace (rc, _self.data.sddcutofftime + "et");msg = msg.replace (re, _self.data.sddendtime.replace ("", ""));if (! _self.data.hasredEdELiteFee && 0! == _self.data.sddfee) {return fee + msg;} else {return msg;}} if (_self.data.hassdd) {if (_self.data.sddzip) {if (_self.data.sddstoreid) {if (0 <_elf.data.sdditemCount) {if (_sel.data.sdddselected) {(_self.data.sddsameday) {msg = fill (sddm.eligibleActive);} else {msg = fill (sddm.eligibleActiveCutoff);}} else {if (_self.data.haspresale) {if (_elf.data.sddsameday) {msg = fill (sddm.eligiblePresale);} else {msg = fill (sddm.eligiblePresaleCutoff);}} else {if (_self.data.sddsameday) {msg = fill (sddm.eligible);} else {msg = fill (sddm.eligiblecutoff);}}}} else {msg = _elf.data.sddfee === 0?"(" + sddm.free + ")" + "" + sddm.nosddinzip: fee + sddm.nosddinzip;}} else {msg = _elf.data.sddfee === 0?"(" + sddm.free + ")" + "" + sddm.zipNoteLligible: frais + sddm.zipNoteLIGIBLE;}} else {msg = _elf.data.sddfee === 0?"(" + sddm.free + ")" + "" + sddm.Nozip: frais + sddm.nozip;}} else {} return msg;} fonction addSelectionHandlers () {var $ c = $ ("#" + _self.instance.tagid);var $ zobj = $ c.find ("." + zipclass), $ in, len;$ zobj.on ("cliquez", fonction (e) {if ($ zobj.prop ("vérifié")) {_self.showpopper (zipclass); $ in = $ c.find (". popper .search-by--zip .zip-code "); $ in.focus (); len = $ in.val (). length; $ in [0] .seTelectionRange (len, len);} else {_self.hidepopper ();} e.stoppropagation ();});var $ cbobj = $ c.find ("# seletsddd");$ cbobj.on ("cliquez", fonction (e) {if ($ cbobj.prop ("vérifié")) {$ ("# sdddSelected"). Val (true);} else {$ ("# sddselected").Val (false);} if (window.progress) {window.progress.show ();} $ ("input [type = \" Hidden \ "] [name $ = \" _ updatecart \ "]").(); $ ("input [type = \" Hidden \ "] [name $ = \" _ updateateftbox \ "]"). retire (); $ ("input [type = \" Hidden \ "] [name $ =\ "_ updatessdzipcode \"] "). retire (); $ (" # update-sddoption "). cliquez ();});} fonction build () {var str = "", zipLabel = "", isto = false, isDisabled = false, fee = _self.issstrintempty (_self.data.formatTedsddfee)?"": _self.data.formattedSddfee;if (_self.issstRingEmpty (_elf.data.sddzip)) {zipLabel = "Vérifier ma zone";} else {zipLabel = _elf.data.sddzip, isto = true;} if (! _self.data.sddzip ||! _self.data.sddstoreid ||! _self.data.sdditemCount) {isDisabled = true;} str + = "
"; str + ="
"; str + ="
"; str + =""; str + ="
"; str + =""+ (isdisabled?" ": (_self.data.sddsameday? sddm.samedaypre: sddm.NextDayPre)); str + = isdisabled?" ": _ self.data.iselitecustumer? (0 === _ self.data.sddfee?sddm.elitespre: _self.data.hasredOeLitefee?_self.data.hasredOeLitefee && _elf.data.iselitecustomer && 0! == _elf.data.sddfee? "" + sddm.forelites + "": "")) + _self.buildtooltip (_Sell.data.sddtooltip) + (est-ce? "To": "") + ""; str + =" "+ _self.buildSelectionToggle (zipclass, zipLabel); str + =" "; str + ="
"; str + =""; str + = buildsddMessage (); str + ="
"; str + ="
"; str + ="
"; return str;} if (_self.data.hassdd) {window.libs.notify.api.request ([" jQuery-Ready "], fonction () {const sens =" click. "+ _elf.instance.tagid+ ".popper"; var $ b = $ ("body"); $ b.off (et); $ b.on (Ens, roserPopper); addSelectionHandlers ();}); str = "
"; str + ="
"; str + = build (); str + ="
"; str + ="
";} return str;} function bopis_ispickupdisabled () {const _self = this; const nitp = true; var isdisabled = true; if (! _self.data.mirakl &&! _self.error &&! _self.data.productonlineonly &&! _elf..data.skuonlineOnly && _self.data.bopisenabled && _self.data.findinstoreenabled && _self.data.bopisproduct &&! _self.isstrinempty (_elf.data.skuid) && _sel.data.bopissku & &! (_data.(fenêtre.pagedata && window.pagedata.isconnsproduct)) && (nitp ||! _self.issstrinEmpty (_elf.data.zip)) && ((nitp && _self.issstringempy (_ self.data.zip))) ||! _sel.isObjectEmpty (_elf.data.store) && _elf.data.store.bopis && 0 <_elf.data.store.quantity || _self.searchResults.bopis)) {isDisabled = false;} return isDisable{const _self = this; if (! data) {data = _self.data;} return data.bopiseNabled && data.findinstoreenabled && data.bopisproduct &&! data.mirakl &&! data.productonlineonly &&! data.skuonlineonly &&! (data.productonlineOnly &&! data.skuonlineonly &&! (Data.ProductonLine.isconnSitem || (window.pagedata && window.pagedata.isconnsproduct));} fonction bopis_buildInputrc (config) {const _self = this;var c = config, str = "", checked = c.schecked?"vérifié" : "";fonction pc (c) {return _self.isundefined (c) ||! _self.issstring (c) ||_self.issstRingEmpty (c)?"": "" === C [0]?c: "" + c;} if (! c.isdisabled) {if (c.ismulTiselect) {str + = "";} else {str + = "";}} else {str + = "
";} str + =""; return str;} function bopis_buildpdp () {const _self = this; const regd = / {{d}} /; var m = _self.config.messing, str =" ", name =" recese-option ", quantité de quantité"= 0, LabelText = "", SkuSelected = false, pid = "", précommandepromodetails = "", précommandepromoïde = "", isConnSitem = _elf.Config.Feature === "sac"? _Self.data.isconnsitem: (Window.pagedata && window.pagedata.isconnsproduct); if (_self.config.feature! == "sac" && (isConnSitem &&! _self.isobjectempty (_elf.data.connssskudata) &&! _self.isobjectem (_ self.data.connnsinvdata) &&&&&&&&&el! _self.data.connsinvdata.conns)) {return;} if (! _self.issstrinempty (_self.data.skuid)) {skuselected = true;} if (_self.isobject (_self.data.store) & _ self.data.store.hasownproperty ("Quantity") && _elf.isnumber (_elf.data.store.quantity)) {quantité = _elf.data.store.quantity;} if ("pdp" === _self.config.feature && Skuselected&&! _self.data.skushipeliligible && 0> = quantité &&! _self.data.connsskudata) {str + = "
"; str + =""; str + = m.bopisonly; str + =""; str + =" "; str + = m.productoutNear.replace (/ {{z}} /, _self.data.zip) .replace (regd, _self.data.storesearchDistance); str + ="
";} else {if (_self.data.productInStock) {if (! skuselected) {str + ="
"; str + =""; if (_self.data.skushepeligible) {str + =""; if (! _self.issstRingEmpty (_self.shippromomomsg)) {str + = _self.shippromomsg;} str + =""; str + =" "; str + = M.SelectSizeForopt;} else {str + =""+ M.Bopisonly +""; str + =" "; str + = M.SelectSizeBopisonly;} str + ="
";} else {if (0 <_self.data.skustocklevel) {if (_self.data.sddenabled && _self.data.skusddeligible) {str + = _self.buildsddeligiblebanner ();} str + ="
"; str + ="
"+ M.receiveOptionsheader +"
"; if (! _self.isobjectempty (_self.data.connssskudata) &&! _self.isobjectempty (_self.data.connsinvdata) && isconnsitem) {str + = _self.buildConnstion ();} else {str + ="
"; labeltext = _self.buildProductShipStatus (_elf.data.skustocklevel, _self.data.productInStock &&! Skuselected, _self.data.surchargeAmount); str + = _self.buildInputrc ({isdisabled:! _ self., id: nom + "-ship", valeur: "navire", nom: nom, contenu: labeltex_self.data.bopisselected? false: true, isMessage: false}); str + = "
";} str + ="
"; if (_self.data.ispreorderEnabled && _self.data.showpreorder && (" sac "=== _self.config.featuture || _self.haspreorderResponse)) {str + = _self.buildPresaleOption ();} str + ="
"; str + = _self.buildPickupOption (); str + ="
"; str + = _self.buildstoreid (); if (isConnSitem &&" sac "! == _self.config.feture) {str + ="
"; if (! _self.isobjectEmpty (_elf.data.connssskudata)) {str + = _self.buildConnsFields ();} else {$ (" # add-cart ").-Disabled "). Prop (" Disabled ", true) .Attr (" type "," bouton ");} str + ="
";}} else {if (isConnSitem) {if (! _self.isobjectempty (_self.data.connsskudata) &&! _self.isobjectempty (_self.data.connsinvdata)) {str +"
"; str + ="
"+ M.receiveOptionsheader +"
"; str + = _self.buildConnsOption (); str + ="
";} if (" sac "! == _self.config.feature) {str + ="
"; if (! _self.isobjectEmpty (_elf.data.connssskudata)) {str + = _self.buildConnsFields ();} else {$ (" # add-cart ").-Disabled "). Prop (" Disabled ", true) .Attr (" type "," bouton ");} str + ="
";}} else {str + ="
"; str + = m.skuout; str + ="
";}}}} else {str + ="
"; str + = m.productout; str + ="
";}} fonction updatePreorderRadio (invStatus) {var $ c = $ (" # "+ _self.instance.tagid); if (invStatus) {var preorderContent =" "; pré-commande + = _self.buildPresaleOption (); $ c.find (". précommande-container"). html (précommande) .show ();} else {$ c.find (". précommande-container"). hide ();}} if ("pdp" === _self.config.feature && _elf.data.ispreorderEnabled && _elf.data.showpreorder) {pid = _elf.data.skuid; if (_self.issstringempty (pid)) {pid = _self.data.productId;} préordiction.PreorderPromodetails; preorderPromoid = _elf.data.preorderPromoid; _self.getPreorderFcinventory (PID, précommandepromodetails, function (pid, précommandepromodetails, data) {_self.haspreorderRessage = Trom; if (data.hasownproperty ("" préortingock.HasownProperty ("PreorderatScount") && data.preorderatScount> 0) {_self.data.haspreorderInventory = true; updatePreorderRadio (true); _elf.addstoresectionHandlers (); updatepdppreorderIndicators ();} else {_self.data.haspreorderory = false;UpdatePreorderRadio (false);UpdatePDPPreOrderIndicators ();}});} else {if (_self.data.isquickView &&! _self.data.showpreorder && _self.data.skuid! == "") {_self.data.haspreorderInventory = false;_self.haspreOrderResponse = true;UpdatePreorderRadio (false);UpdatePDPPreOrderIndicators ();}} Fonction UpdatesHippromomsg () {var $ c;if (_self.issstring (_self.shippromomomsg) &&! _self.issstringempty (_self.shippromomsg)) {$ c = $ ("#" + _self.instance.tagid);$ C.find (". Ship-message .ship-promo"). Html ((_ self.issstringempty (_self.data.skuid)? "": "-") + _self.shippromomsg);}} if ("pdp" === _self.config.feature && _self.data.skushipeligible && (! _self.isshippromomomsg || _elf.lastskuid! == _self.data.skuid)) {_sel.isshippromomsg = true;pid = _elf.data.skuid;if (_self.issstRingEmpty (pid)) {pid = _elf.data.productId;} _self.getShippingPromoMessage (pid, fonction (pid, data) {_self.lastskuid = _elf.data.skuid; if (data.hasownproperty ("SHIPERMSG")) {if (_self.issstring (data.shippingmsg) &&! _sel.isstRingEmpty (data.shippingmsg)) {_elf.shippromomsg = data.shippingmsg; updateshippromomsg ();} else {if (_self.isobject (data.shippingmsg) &&! _self.isobjectempty (data.shippingsg) {if (_ self.isstringEmpty)(_self.data.skuid) && data.shippingmsg.long) {_self.shippromomsg = data.shippingmsg.long;} else {if (data.shippingmsg.short) {_self.shippromomsg = data.shippingsg.short;}} mises à jour();}}}});} fonction updatepdppreorderIndicators () {var $ pogiftbadge = $ (". précommande-gift-badge"), $ pdtop = $ (". Product-Detail.top"), badgehtml = "
", $promoContainer = $(".promotion"), $promoCallOutMessage = $(".promotion .callout-message"), $poPromoMessage = $(".callout-message-row.preorder-promo-message"), $ regularPromoMessage = $(".callout-message-row:not(.preorder-promo-message)"); if (_self.data.hasPreOrderInventory) { if ($poGiftBadge.length === 0 && $pdTop.length > 0 ) { $pdTop.prepend(badgeHtml); } else { $poGiftBadge.show(); } } else { if ($poGiftBadge.length !== 0) { $poGiftBadge.hide(); } if ($poPromoMessage.length !== 0 && $regularPromoMessage.length === 0) { $promoContainer.hide(); $poPromoMessage.hide(); } else { if ($poPromoMessage.length !== 0) { $poPromoMessage.hide() ; } } } } if (_self.isStringEmpty(_self.promoMsg) || _self.data.bopisPromoAssetID !== _self.promoMsgAssetID) { _self.promoMsgAssetID = _self.data.bopisPromoAssetID; _self.getBopisPromoMessaging(_self.data.bopisPromoAssetID, function (data) { if (data.hasOwnProperty("isOnline") && data.isOnline && data.hasOwnProperty("assetContent") && !_self.isStringEmpty(data.assetContent)) { _self.promoMsg = data.assetContent; $("#" + _self.instance.tagId + " .promo-msg").html(_self.promoMsg); } }); } return str;}function Bopis_fixStoreData(data) { const _self = this; var je; if (data.stores) { for (i = 0; i < data.stores.length; i++) { data.stores[i].distance = data.stores[i].distance.replace(/[^.0- 9]/g, ""); data.stores[i].name = data.stores[i].name.replace(/Belk /gi, ""); } }}function Bopis_getBopisPromoMessaging(bopisPromoAssetID, callback) { const _self = this; var CAN = bopisPromoAssetID !== "" ? bopisPromoAssetID : "bopis-promo-messaging"; var url = _self.baseAjaxUrl; url += "COContent-GetContentAsset?assetName="; url += PEUT ; $.ajax(url, {success: function (data, textStatus, jqXHR) { log("getBopisPromoMessaging ajax success: data:", data, "textStatus:", textStatus, "jqXHR:", jqXHR); if (_self. isFunction(callback)) { try { callback(data); } catch (e) { log("Exception:", e); } } }, erreur : function (jqXHR, textStatus, errorThrown) { log("getBopisPromoMessaging erreur ajax : jqXHR:", jqXHR, "textStatus:", textStatus, "errorThrown:", errorThrown); }, complete: function (jqXHR, textStatus) { log("getBopisPromoMessaging ajax complete: jqXHR:", jqXHR, "textStatus:" , textStatus); }});}function Bopis_getShippingPromoMessage(pid, callback) { const _self = this; var url = _self.baseAjaxUrl; url += "Product-GetShippingPromoMsg?pid="; url += pid ; $.ajax(url, {success : function (data, textStatus, jqXHR) { log("getShippingPromoMessage ajax success: data:", data, "textStatus:", textStatus, "jqXHR:", jqXHR); if (_self. isUndefined(data)) { data = {}; } if (_self.isFunction(callback)) { try { callback(pid, data); } catch (e) { log("Exception:", e); } } } , erreur : fonction (jqXHR, textStatus, errorThrown) { log("getShippingPromoMessage erreur ajax : jqXHR :", jqXHR, "textStatus :", textStatus, "errorThrown :", errorThrown); if (_self.isFunction(callback)) { essayez { callback(pid, {}); } catch (e) { log("Exception:", e); } } }, complétez : function (jqXHR, textStatus) { log("getShippingPromoMessage ajax complete: jqXHR:", jqXHR, "textStatus:", textStatus); }});}function Bopis_getStoresByZip(zip, callback) { const _self = this; var url = _self.baseAjaxUrl; _self.error = faux; if (_self.isStringEmpty(zip)) { return ; } url += "Stores-GetBopisStoresByZip?zipCode=" + zip; rappel = rappel || function (zip, data) { log("Aucun rappel donné pour l'appel getStoresByZip par zip :", zip, "données renvoyées :", data); } ; $.ajax(url, {success: function (data, textStatus, jqXHR) { log("getStoresByZip ajax success: data:", data, "textStatus:", textStatus, "jqXHR:", jqXHR); if (_self. isObject(data) && data.hasOwnProperty("success") && data.success) { _self.fixStoreData(data); } if (!data.success) { _self.error = true; } if (_self.isFunction(callback) ) { try { callback(zip, data); } catch (e) { log("Exception:", e); } } }, erreur : function (jqXHR, textStatus, errorThrown) { log("getStoresByZip erreur ajax : jqXHR :", jqXHR, "textStatus:", textStatus, "errorThrown:", errorThrown); }, complete: function (jqXHR, textStatus) { log("getStoresByZip ajax complete: jqXHR:", jqXHR, "textStatus:", textStatus ); }});}fonction Bopis_getSddStore(callback) { const _self = this; var url = _self.baseAjaxUrl, cachedData; log("_self.sddZipToStoreCache:", _self.sddZipToStoreCache); if (_self.sddZipToStoreCache.hasOwnProperty(_self.data.sddZip)) { cachedData = _self.sddZipToStoreCache[_self.data.sddZip]; if (!_self.isUndefined(cachedData) && !_self.isObjectEmpty(cachedData) && _self.isFunction(callback)) { try { callback(cachedData); } catch (e) { log("Exception :", e); } retour; } } url += "COSameDayDelivery-GetDeliveryAssuranceStore?zipCode=" + _self.data.sddZip; $.ajax(url, {success : function (data, textStatus, jqXHR) { log("getSddStore ajax success: data:", data, "textStatus:", textStatus, "jqXHR:", jqXHR); if (_self. isObject(data) && !_self.isObjectEmpty(data) && data.hasOwnProperty("zipCode") && _self.isString(data.zipCode) && !_self.isStringEmpty(data.zipCode)) { _self.sddZipToStoreCache[data.zipCode] = data; } else { data = {}; } if (_self.isFunction(callback)) { try { callback(data); } catch (e) { log("Exception:", e); } } }, erreur : function (jqXHR, textStatus, errorThrown) { log("getSddStore ajax error: jqXHR:", jqXHR, "textStatus:", textStatus, "errorThrown:", errorThrown); if (_self.isFunction(callback)) { try { callback({}); } catch (e) { log("Exception:", e); } } }, complete: function (jqXHR, textStatus) { log("getSddStore ajax complete: jqXHR:", jqXHR, "textStatus :", textStatus); }});}function Bopis_setSessionStore(storeId, callback) { const _self = this; var url = _self.baseAjaxUrl; url += "StoreInventory-SetPreferredStore?storeId=" + storeId ; $.ajax(url, {success: function (data, textStatus, jqXHR) { log("setSessionStore ajax success: data:", data, "textStatus:", textStatus, "jqXHR:", jqXHR); if (_self. isFunction(callback)) { try { callback(data); } catch (e) { log("Exception:", e); } } }, erreur : function (jqXHR, textStatus, errorThrown) { log("setSessionStore ajax error : jqXHR:", jqXHR, "textStatus:", textStatus, "errorThrown:", errorThrown); }, complete: function (jqXHR, textStatus) { log("setSessionStore ajax complete: jqXHR:", jqXHR, "textStatus:" , textStatus); }});}function Bopis_getPreOrderFCInventory(pid, preOrderPromoDetails, callback) { log("getPreOrderFCInventory appelé avec pid:", pid, "preOrderPromoDetails:", preOrderPromoDetails, "callback", callback); const _self = ceci ; var url = _self.baseAjaxUrl + "COPreOrder-GetPreOrderFCInventory"; if (_self.isStringEmpty(preOrderPromoDetails)) { return ; } rappel = rappel || function (preOrderPromoDetails, data) { log("Aucun rappel donné pour l'appel getPreOrderFCInventory par preOrderPromoDetails :", preOrderPromoDetails, "données renvoyées :", data); } ; preOrderPromoDetails = JSON.parse(preOrderPromoDetails); preOrderPromoDetails.pid = pid; $.ajax({méthode : "POST", dataType : "json", contentType : "application/json", url : url, data : JSON.stringify(preOrderPromoDetails), success : function (data, textStatus, jqXHR) { log ("getPreOrderFCInventory ajax success: data:", data, "textStatus:", textStatus, "jqXHR:", jqXHR); if (_self.isFunction(callback)) { try { callback(pid, preOrderPromoDetails, data); } catch (e) { log("Exception :", e); } } }, erreur : fonction (jqXHR, textStatus, errorThrown) { log("getPreOrderFCInventory erreur ajax : jqXHR:", jqXHR, "textStatus:", textStatus, " errorThrown:", errorThrown); }, complete: function (jqXHR, textStatus) { log("getPreOrderFCInventory ajax complete: jqXHR:", jqXHR, "textStatus:", textStatus); }});}function Bopis_availabilityMessage(quantité, forceInStock , isPunc, forPopper) { const _self = this ; const p = ".", e = "!", n = "" ; var M = _self.config.messaging, str = "quantité) {str + = "moins \"> "+ M.stock [" moins "]; if (5> quantité) {str + =" ("+ m.stock.lowx.replace (" x ", quantité)+ ")";}} else {if (forceInstock || 5
"; return Str;} fonction bopis_buildStoreSelectionToggle (texte) {const _self = this; var str =" "; str + =" "; str + =""; str + ="
"; return str;} fonction bopis_searchstores (stores) {const _self = this; var i, store, ret = {}; _self.copyObject (ret, _self.default.config.init.searchResults); if (0 "+ _self.config.messaging.notinstockx.replace (" x ",""+ zip +"") +" "+ _self.config.messaging.tryarea +" ");}} else {log (" arrêté ici? "); $ c.find (". popper.bopis .show-on-résults "). hide (); $ c.find (". popper.bopis.search-by-zip "). show (); $ c.find (". popper.bopis .no-stores-msg "). remove (); $ c.find (". popper.bopis ")." "+ _self.config.messaging.notinstockx.replace (" x ",""+ zip +"") +" "+ _self.config.messaging.tryarea +" ");} if (window.progress) {window.progress.hide ();}} fonction bopis_pickuptodayortomorrow () {const _self = this; var ret =" dès aujourd'hui "; if (! _self.pickuptoday) {if (" "=== _self.data.pickupday) {ret = "demain";} else {ret = "" + _self.data.pickupday;}} return ret;} function bopis_buildPickupOption () {const _self = this; var str = "", name =" recese-option ", labeltext =" ", isDisabled = true, skuselected = false, hideradio = false, m = _self.config.messaging, isChecked = false; skuselected =! _self.issstringempy (_ self.data.skuid); if (skuselected &&! _self.isArrayEmpty (_elf.stores) && (! _self.data.bopissku || _self.isobjectempty (_elf.data.store) ||! _ self.data.store.bopis || 0 === _self.data.store.quantity)) {_self.searchResults = _elf.searchstores (_self.stores);} str + = " "; IsDisabled = _elf.ispickupDisabled (); HIDERADIO = (! SkuSelected || 0 === _self.data.skustocklevel); if (Hideradio) {LabelText + =""; if (skuSelected) {LabelText + = _self.config.messaging.skout;} else {LabelText + = _elf.config.messaging.selectSsize;} labeltext + ="";} else {labeltext = _self.buildProductPickupStatus ();} if (" sac "=== _self.config.feature &&! _self.isobjectempty (_self.data.store) && _ self.data.bopisselected) {ischecked = true);} else {if (! _self.data.skushepeliligible) {isCheckEd = true;}} str + = _self.buildInputrc ({isDisabled: isDisabled, isMultiselect: false, id: name + "-pickup", valeur: "pickup", Nom: Nom, Contenu: LabelText, IsChecked: Ischecked, IsMessage: HIDERADIO}); Str + = " "; return str;} fonction bopis_buildpresaleoption () {const _self = this; var str =" ", name =" recese-option ", labeltext =" ", m = _self.config.messing; if (! _self.data.HaspreorDorInventory) {return str;} str + = " "; Labeltext + =""+ M.PresaleHeader +" -"+ M.presaleshipMessage +" "+ _self.data.release Date +" "; return str;} function bopis_buildproducthipStatus (skustocklevel, forceinstock, surchargeamount) {const _self = this; var str =" ", m = _self.config.Messagre; fonction fill (msg) {var re = / {{e}}}/, rt = / {{t}} /; msg = msg.replace (re, _self.data.sddendtime.replace ("", "")); msg = msg.replace (rt, _self.data.sddsameday?"aujourd'hui": "demain"); retour msg;} str + = ""; if (_self.data.skushepeligible) {str + = (" sac "=== _self.config.feature &&! IsstRingEmpty (_self.data.sddstoreid))? M.Sdd.Title: M.ShipFree; if ("sac" === _self.config.feature &&! IsstRingEmpty (_elf.data.sddstoreid)) {str + = ""; str + =" - "+ rempli (m.sdd.delivers); str + ="";} else {if (" sac "=== _self.config.feature &&! _self.issstringempty (_self.data.ESTIMatedShippingMessage)) {str + =""; str + =" - "+ _self.config.messaging.StimedDelivery + _self.data.StimedShippingMessage; str + ="";} else {str + =""; if (! _self.issstRingEmpty (_self.shippromomomsg)) {str + =" - "+ _self.shippromomsg;} str + ="";}} str + =" "; fonction stolemsg (store) {var sto = {msg: m.atneaStore, name: M.SelectStore}; if (! _self.isobjectempty (store)) {if (store.closed) {sto.msg = M.StoreClosed;} else {sto.msg = m.atmystore;} sto.name = store.name;} return sto;} fonction dezip (msg) {var str = br + ssm + msg; if (! _self.isstringempty (_self.data.zip)) {str + = "of" + _self.data.zip;} str + = tc; return str;} function InstoresCenarios () {if (_elf.searchResults.Sisearch && _self.searchResults.instore) {if if(8+ = br + ssm + m.atmystore + tc;} msg + = _self.buildStoreSelectionToggle (_elf.data.store.name); msg + = br + _self.availableMessage (_self.data.store.quantity, false, true,false);} else {if (! _self.data.skuonlineonly) {msg = bh + m.nobopisnearby + tc;} else {msg = bh + m.notbopis + tc;} msg + = br + ssm + m.atnerstore+ tc; msg + = "" + _self.buildStoreSelectionToggle (M.SelectStore);}} else {if (_self.data.skuonLineOnly) {msg = bh + m.notbopis + tc;msg + = br + ssm + _self.config.messaging.skuonlineonly + tc;} else {if (_elf.data.bopissku) {msg = bh + m.nobopisnearby + tc;msg + = ofzip (m.notnearby.replace (regd, _self.data.storesearchDistance));msg + = br + _self.buildStoreSelectionToggle (M.Selectzip);} else {msg = bh + m.notbopis + tc;if (_self.data.store.closed) {msg + = br + ssm + m.storeclosed + tc;} else {msg + = br + ssm + m.atneaStore + tc;msg + = "" + _self.buildStoreSelectionToggle (M.SelectStore);}}}}} if (_elf.data.mirakl) {msg = bh + m.notbopis + tc;} else {if (_self.data.productonlineOnly) {msg = bh + m.notbopis + tc;if ("pdp" === _self.config.feature) {msg + = br + _self.config.messaging.productonLineOnly;}} else {if (_self.data.skuonLineOnly) {msg = bh + m.notbopis + tc;if ("pdp" === _self.config.feature) {msg + = br + ssm + m.skuonlineonly + tc;}} else {if (! _self.data.productInStock) {log ("(! _ self.data.productInStock) Le scénario n'aurait pas dû se produire");} else {if (_self.data.bopiseNabled && _self.data.findinstoreenabled) {if (_self.error) {if (_self.data.skuonLineOnly) {msg = bh + m.notbopis + tc;if ("pdp" === _self.config.feature) {msg + = br + ssm + _self.config.messaging.skuonlineOnly + tc;}} else {if (_self.data.bopissku) {msg = bh + m.nobopisnearby + tc;} else {msg = bh + m.notbopis + tc;} msg + = ofzip (m.notnearby.replace (regd, _self.data.storesearchDistance));msg + = br + _self.buildStoreSelectionToggle (M.Selectzip);}} else {if (_self.data.bopisproduct) {if (! _self.issstringempty (_self.data.skuid)) {if (_self.data.bopissku) {if (! _self.issstringempty (_elfata.zip)) {if (! _self.isobjectEmpty (_elf.data.store)) {if (_elf.data.store.bopis && 0 <_self.data.store.quantity) {msg = bh + m.bopis + _self.pickuptodortomoror () + tc;msg + = br + _self.availableMessage (_elf.data.store.quantity, false, false, false);msg + = "à"; msg + = _self.buildStoreSelectionToggle (_elf.data.store.name); msg + = br + pro; if (_self.issstringempty (_self.promomsg)) {msg + = M.ReadyTimex.replace (" x ",_self.readyHours);} else {msg + = _self.promomsg;} msg + = tc;} else {if (_elf.searchResults.bopis) {msg = bh + m.bopis + _self.pickuptodayortomorrow () + tc;+!", _self.readyHours);} else {msg + = _elf.promomsg;} msg + = tc;} else {if (" sac "=== _self.config.feature) {msg = bh + m.notbopis + tc;} else {InstoresCenarios ();}}}} else {if (0 === _self.stores.length) {msg = bh + m.notbopis + tc; msg + = ofzip (m.nostoresnearby.replace (regd,_self.data.storesearchDistance)); msg + = br + _self.buildStorelelectionToggle (M.Selectzip);} else {msg = bh + m.nobopisnearby + _self.PickupTodayortomorrow () + tc; msg + = "" + _elf.buildstorelelectiontoggle(M.SelectStore);}}} else {msg = bh + m.bopis + _self.pickuptodayortomorrow () + tc;msg + = "" + _self.buildStoreSelectionToggle (M.SelectStore);}} else {if ("sac" === _self.config.feature) {msg = bh + m.notbopis + tc;} else {InstoresCenarios ();}}} else {log ("(_ self.issstRingEmpty (data.produdud)) Le scénario ne devrait pas se produire");}} else {if (! _self.issstRingEmpty (data.produdud)) {if (_self.data.bopissku) {} else {}} else {msg = bh + m.notbopis + tc;msg + = br + M.SelectSize;}}}} else {if ("sac" === _self.config.feature) {msg = bh + m.notbopis + tc;} else {msg = bh + m.bopisdisabled + tc;if (_self.data.findinStoreEenabled) {sto = stolemsg (_self.data.store);msg + = br + ssm + sto.msg + tc + "" + _self.buildStoreSelectionToggle (sto.name);}}}}}}} str + = msg;str + = " "; str + =" "; str + =" Mon magasinprès "+ _self.data.zip +" "; str + = _self.buildstorehtml (magasin, décalage); str + =" Toujours inclus dans les résultats du filtre "; str + =" "; str + =" ", He =" "; str + =" "; str + =" "+""+ message +""+ _self.buildtooltip (_self.data.sddtooltip) + (isto?" à ":" ") + toggle +" "; str + =" "; str + =" "; str + =" "; if (! issdd &&! Isconns) {str + =" "+ msg +" "+ zip +" ";} str + =" "; if (vc.showFilters &&! vc.mystore) {str + ="";} str + =" "; if (! issdd &&! Isconns) {if (vc.mystore && 0 <_self.stores.length) {str + = buildMystoreHtml (_self.stores [0], 0);} if (! _self.searchresults.issearch|| _self.searchresults.bopis || _self.searchresults.instore) {str + = " ";} else {str + =" "; zipstr =""+ zip +""; if (0 <_self.stores.length) {nostoresmsg = _self.config.messaging.notinstockx.replace (" x ", zipstr);} else {nostoResmsg = _self.config.Messing.NotinStockx.replace (" x ", zipstr);} str + = " "+ NostoResmsg +" "+ _self.config.messing.tryarea +" ";} if (vc.is multi-select) {str + =" ";}} str + =" "+ _self.config.messaging.notinstockx.replace (" x ",""+ zip +"") +" "+ _self.config.messaging.tryarea +" "+ _self.config.messaging.notinstockx.replace (" x ",""+ _self.data.zip +"") +" "+ _self.config.messaging.tryarea +" "
"+ M.PresaleCouponexclusionMessage +""; if (" sac "=== _self.config.feature && _self.data.preorderselected) {_self.fRompreOrder = true;} str + = _ self.buildInputrc ({isMultiselect: false, id: name +" -Presale ", valeur: "prévente", nom: nom, contenu: labeltex"
"; str + = _self.availabilityMessage (skustocklevel, forceInstock, true, false); if (_self.isnumber (Surchargeamount) && 0! == Surchargeamount) {str + ="$ "+ Surchargeamount +" "+ M.SurchargeamountApplies +"";}} else {str + = _self.config.messaging.noship; str + ="
"; str + =""+ _self.config.messaging.bopisonly +"";} str + =""; return str;} function bopis_buildProductPickupStatus () {const _self = this; const regd = / {{d}} /; var str =" ", msg =" ", br ="
", bh ="", TC ="", ssm ="", pro ="", M = _self.config.messing, sto = {}; str + ="
"+ store.Distance +" mi"; if (store.bopis) {if (vc.showstock) {str + = _elf.availabilityMessage (store.quantity, false, true, true);}} else {str + ="Temporairement indisponible";} str + =""; return str;} fonction bopis_buildmystorehtml (store, offset) {const _self = this; var str =" "; str + =""; str + = _self.buildStoreshtml (); str + ="
"; return str;} fonction bopis_buildConnszipSelectiontoggle (theclass, text) {const _self = this; var str =" "; str + =" "; str + =""; str + ="
"; return str;} function bopis_addconnszipselectionhandler () {const _self = this, zipclass =" select-zip-consns ", sens =" click. "+ _sel.component.class +". "+ zipclass +" .popper ";;var $ in, len; var $ c = $ ("#" + _self.instance.tagid); var $ zobj = $ c.find ("." + zipclass); $ zobj.off (et); $ zobj.sur (et, fonction (e) {$ (". toggle-carrot.select-store"). prop ("vérifié", false); $ (". toggle-carrot.select-store + .vlabel + .popper-Emplacement .Popper "). Hide (); _elf.ispopperropen = false; if ($ (e.currentTarget) .prop (" checked ")) {_self.showpopper (zipclass); $ in = $ c.find (".popper .search-by-zip .zip-code.conns "); $ in.focus (); len = $ in.val (). Length; $ in [0] .seTelectionRange (len, len);} else {_self.hidepopper ();} e.stoppropagation ();});} fonction bopis_buildConnsDeliveryStatus () {const _self = this, zipclass = "select-zip-conns", m = _self.config.messing, todeliver = M.Conneliliver, istock = _self.data.connsinvdata.instock && (_self.config.feature === "pdp"? _self.data.connsinvdata.hasownproperty ("conns") && _self.data.connsinvdata.conns.Lotion! = "" ": true), isDeliveryItem = _elf.data.connsskudata.hasownproperty ("livraison") && _self.data.connssskudata.delivery, livrowOptionTitle = isDeliveryItem?M.ConnStRuckDelivery: M.Ship, ErrorDeliveryElement = Document.QuerySelector ("# JS-Error-Delivery");var str = "", DeliveryMessage = "", zipLabel = "Choisissez votre zone", disponibilité = Insock?"Disponible": "incapable", isConnSzIpAvailable =! _Elf.issstRingEmpty (_elf.data.connszip);str + = "
", Marko = '\ x3c! - dwmarker =" contenu "dwcontentid ="', markc = '"- \ x3e'; kided =" hide-desktop ", hidem =" hide-mobile ", se =" <<\ / script> ", sib = '