1function goToByScroll(e){return $("html,body").animate({scrollTop:$(e).offset().top},"slow"),!1}function AsAbove(){1==document.form1.Same.checked?(document.form1.DForename.disabled=!0,document.form1.DSurname.disabled=!0,document.form1.DAddress_1.disabled=!0,document.form1.DAddress_2.disabled=!0,document.form1.DCity.disabled=!0,document.form1.DPostcode.disabled=!0,document.form1.DState.disabled=!0,document.form1.DCountry.disabled=!0,document.form1.DTelephone.disabled=!0,document.form1.DTitle.disabled=!0):(document.form1.DForename.disabled=!1,document.form1.DSurname.disabled=!1,document.form1.DAddress_1.disabled=!1,document.form1.DAddress_2.disabled=!1,document.form1.DCity.disabled=!1,document.form1.DPostcode.disabled=!1,document.form1.DState.disabled=!1,document.form1.DCountry.disabled=!1,document.form1.DTelephone.disabled=!1,document.form1.DTitle.disabled=!1)}function commaFormat(e){var o="";-1!=(e=e.toString()).indexOf(".")&&(o="."+(e=e.split("."))[1],e=e[0]);for(var d="",t=0,r=e.length-1;r>=0&&"-"!=e.charAt(r);r--)3==t&&(d+=",",t=0),d+=e.charAt(r),t++;return"-"==e.charAt(0)&&(d+="-"),d.split("").reverse().join("")+o}$(document).ready(function(){$(".popupme").popover(),$(".tooltipme").tooltip()}),$(document).ready(function(){}),$(document).ready(function(){$("ul li.has-sub").on("touchstart",function(e){"use strict";var o=$(this);return!!o.hasClass("hover")||(o.addClass("hover"),$("ul > li").not(this).removeClass("hover"),e.preventDefault(),!1)})});function goToByScroll(e) { 2 return $("html,body").animate({ scrollTop: $(e).offset().top }, "slow"), !1; 3} 4function AsAbove() { 5 1 == document.form1.Same.checked 6 ? ((document.form1.DForename.disabled = !0), 7 (document.form1.DSurname.disabled = !0), 8 (document.form1.DAddress_1.disabled = !0), 9 (document.form1.DAddress_2.disabled = !0), 10 (document.form1.DCity.disabled = !0), 11 (document.form1.DPostcode.disabled = !0), 12 (document.form1.DState.disabled = !0), 13 (document.form1.DCountry.disabled = !0), 14 (document.form1.DTelephone.disabled = !0), 15 (document.form1.DTitle.disabled = !0)) 16 : ((document.form1.DForename.disabled = !1), 17 (document.form1.DSurname.disabled = !1), 18 (document.form1.DAddress_1.disabled = !1), 19 (document.form1.DAddress_2.disabled = !1), 20 (document.form1.DCity.disabled = !1), 21 (document.form1.DPostcode.disabled = !1), 22 (document.form1.DState.disabled = !1), 23 (document.form1.DCountry.disabled = !1), 24 (document.form1.DTelephone.disabled = !1), 25 (document.form1.DTitle.disabled = !1)); 26} 27function commaFormat(e) { 28 var o = ""; 29 -1 != (e = e.toString()).indexOf(".") && ((o = "." + (e = e.split("."))[1]), (e = e[0])); 30 for (var d = "", t = 0, r = e.length - 1; r >= 0 && "-" != e.charAt(r); r--) 31 3 == t && ((d += ","), (t = 0)), (d += e.charAt(r)), t++; 32 return "-" == e.charAt(0) && (d += "-"), d.split("").reverse().join("") + o; 33} 34$(document).ready(function () { 35 $(".popupme").popover(), $(".tooltipme").tooltip(); 36}), 37 $(document).ready(function () {}), 38 $(document).ready(function () { 39 $("ul li.has-sub").on("touchstart", function (e) { 40 "use strict"; 41 var o = $(this); 42 return ( 43 !!o.hasClass("hover") || 44 (o.addClass("hover"), $("ul > li").not(this).removeClass("hover"), e.preventDefault(), !1) 45 ); 46 }); 47 }); 48 49function updateBasketDeliveryDetails() { 50 var $same = $("#basketform #Same"); 51 var $deliveryDetails = $("#basketform #deliverydetails"); 52 53 if (!$same.length || !$deliveryDetails.length) { 54 return; 55 } 56 57 var useBillingAddress = $same.is(":checked"); 58 var $fields = $deliveryDetails.find("input, select, textarea"); 59 var $requiredFields = $deliveryDetails.find("[data-delivery-required='true']"); 60 var validator = $("#basketform").data("bs.validator"); 61 62 $fields.prop("disabled", useBillingAddress); 63 64 if (useBillingAddress) { 65 $requiredFields.removeAttr("required"); 66 $fields.removeData("bs.validator.errors"); 67 $deliveryDetails.find(".form-group").removeClass("has-error"); 68 $deliveryDetails.find(".help-block.with-errors").empty(); 69 if ($deliveryDetails.is(":visible")) { 70 $deliveryDetails.slideUp("slow"); 71 } 72 } else { 73 $requiredFields.attr("required", "required"); 74 if (!$deliveryDetails.is(":visible")) { 75 $deliveryDetails.slideDown("slow"); 76 } 77 } 78 79 if (validator) { 80 validator.toggleSubmit(); 81 } 82} 83 84$(document).ready(function () { 85 updateBasketDeliveryDetails(); 86 $(document).on("change", "#basketform #Same", updateBasketDeliveryDetails); 87}); 88 89function updateVoucherCustomerEmail() { 90 var $billingEmail = $("#basketform #Email"); 91 92 if (!$billingEmail.length) { 93 return; 94 } 95 96 $("form[action*='webshop-voucher-apply'] input[name='customer_email']").val($billingEmail.val()); 97} 98 99$(document).ready(function () { 100 $(document).on("change blur", "#basketform #Email", updateVoucherCustomerEmail); 101 $(document).on("submit", "form[action*='webshop-voucher-apply']", updateVoucherCustomerEmail); 102}); 103 104 105 106(function ($) { 107 if (!$ || !$.fn || !$.fn.owlCarousel || $.fn.owlCarousel.wfScrollDirectionPatch) { 108 return; 109 } 110 111 var originalOwlCarousel = $.fn.owlCarousel; 112 113 function patchOwlScrollDirection(element) { 114 var owl = $(element).data("owlCarousel"); 115 116 if (!owl || owl.wfScrollDirectionPatch) { 117 return; 118 } 119 120 var next = owl.next; 121 var prev = owl.prev; 122 var goTo = owl.goTo; 123 var singleItemTransition = owl.singleItemTransition; 124 125 owl.next = function () { 126 this.wfSlideDirection = "next"; 127 var response = next.apply(this, arguments); 128 129 if (response === false) { 130 this.wfSlideDirection = false;
131 } 132 133 return response; 134 }; 135 136 owl.prev = function () { 137 this.wfSlideDirection = "prev"; 138 var response = prev.apply(this, arguments); 139 140 if (response === false) { 141 this.wfSlideDirection = false; 142 } 143 144 return response; 145 }; 146 147 owl.goTo = function (target, speed, drag) { 148 var startItem = this.currentItem; 149 150 if (drag != "drag" && this.wfSlideDirection != "next" && this.wfSlideDirection != "prev") { 151 this.wfSlideDirection = Number(target) < Number(startItem) ? "prev" : "next"; 152 } 153 154 var response = goTo.apply(this, arguments); 155 this.wfSlideDirection = false; 156 157 return response; 158 }; 159 160 owl.singleItemTransition = function () { 161 var outClass = this.outClass; 162 var inClass = this.inClass; 163 164 if (this.options.transitionStyle == "scroll" && this.wfSlideDirection == "prev") { 165 this.outClass = "owl-scroll-prev-out"; 166 this.inClass = "owl-scroll-prev-in"; 167 } 168 169 var response = singleItemTransition.apply(this, arguments); 170 this.outClass = outClass; 171 this.inClass = inClass; 172 173 return response; 174 }; 175 176 owl.wfScrollDirectionPatch = true; 177 } 178 179 $.fn.owlCarousel = function () { 180 var response = originalOwlCarousel.apply(this, arguments); 181 182 this.each(function () { 183 patchOwlScrollDirection(this); 184 }); 185 186 return response; 187 }; 188 189 $.fn.owlCarousel.options = originalOwlCarousel.options; 190 $.fn.owlCarousel.wfScrollDirectionPatch = true; 191})(jQuery); 192 193function activatePriceListTab(tabLink) { 194 var tabId = tabLink.attr("data-price-list-tab"); 195 var index = tabLink.attr("data-price-list-tab-index"); 196 var tabLinks = $("[data-price-list-tab='" + tabId + "']"); 197 var tabPanels = $("[data-price-list-tab-panel='" + tabId + "']"); 198 199 tabLinks.each(function () { 200 var link = $(this); 201 var isActive = link.attr("data-price-list-tab-index") == index; 202 link.toggleClass("active", isActive); 203 link.parent().toggleClass("active", isActive); 204 link.attr("aria-selected", isActive ? "true" : "false"); 205 }); 206 207 tabPanels.each(function () { 208 var panel = $(this); 209 var isActive = panel.attr("data-price-list-tab-index") == index; 210 panel.toggleClass("active", isActive); 211 panel.prop("hidden", !isActive); 212 }); 213} 214 215$(document).ready(function () { 216 $("body").on("click", "[data-price-list-tab]", function (event) { 217 event.preventDefault(); 218 activatePriceListTab($(this)); 219 }); 220 221 $("[data-price-list-tab][data-price-list-tab-index='0']").each(function () { 222 activatePriceListTab($(this)); 223 }); 224}); 225 226document.addEventListener("DOMContentLoaded", function () { 227 var motion = window.matchMedia ? window.matchMedia("(prefers-reduced-motion: reduce)") : null; 228 var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection; 229 var videos = document.querySelectorAll(".wf-video-banner__video[data-video-src]"); 230 231 Array.prototype.forEach.call(videos, function (video) { 232 var banner = video.closest(".wf-video-banner"); 233 var visible = false; 234 235 function allowed() { 236 return visible && !document.hidden && !(motion && motion.matches) && !(connection && connection.saveData); 237 } 238 239 function update() { 240 if (!allowed()) { 241 video.pause(); 242 banner.classList.remove("is-playing"); 243 if ((motion && motion.matches) || (connection && connection.saveData)) { 244 video.removeAttribute("src"); 245 video.load(); 246 } 247 return; 248 } 249 if (!video.getAttribute("src")) { 250 video.src = video.getAttribute("data-video-src"); 251 } 252 video.muted = true; 253 var playResult = video.play(); 254 if (playResult && typeof playResult.catch === "function") { 255 playResult.catch(function () { banner.classList.remove("is-playing"); }); 256 } 257 } 258 259 video.addEventListener("playing", function () { banner.classList.add("is-playing"); }); 260 video.addEventListener("error", function () { banner.classList.remove("is-playing"); }); 261 if (window.IntersectionObserver) { 262 var observer = new IntersectionObserver(function (entries) { 263 visible = entries[0].isIntersecting; 264 update(); 265 }, { threshold: 0.15 }); 266 observer.observe(banner); 267 } else { 268 visible = true; 269 update(); 270 } 271 document.addEventListener("visibilitychange", update); 272 if (motion) { 273 if (motion.addEventListener) { motion.addEventListener("change", update); } 274 else if (motion.addListener) { motion.addListener(update); } 275 } 276 if (connection && connection.addEventListener) { connection.addEventListener("change", update); } 277 }); 278});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.