1 2 3 4 5var getUrlParameter = function getUrlParameter(sParam) { 6 var sPageURL = window.location.search.substring(1), 7 sURLVariables = sPageURL.split('&'), 8 sParameterName, 9 i; 10 for (i = 0; i < sURLVariables.length; i++) { 11 sParameterName = sURLVariables[i].split('='); 12 13 if (sParameterName[0] === sParam) { 14 return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); 15 } 16 } 17 return false; 18}; 19var variants = []; 20var filterloaded = false; 21var itemsperpage = 60; 22//var activetoplevelurl = $('[itemtype="https://schema.org/BreadcrumbList"] > [itemprop="itemListElement"]:first-of-type > a').attr('href'); 23var firstcategory = '/shop/mobil-tilbehoer-38507s1.html'; 24 25//added for case in product for video 26$(document).ready(function() { 27 if(page.type=='product'){ 28 $('.image .thumbs').children().each(function(index, element) { 29 let href = $(element).attr('href'); 30 31 if (href.includes('img.youtube.com/')) { 32 // Perform your actions here for elements with matching href 33 34 let imageUrl=element.href; 35 let videoSpliter = imageUrl.split('/'); 36 let videoId=videoSpliter[videoSpliter.length-2]; 37 let ytVideoConvert=`https://www.youtube-nocookie.com/embed/${videoId}?rel=0`; 38 element.href=ytVideoConvert; 39 $(element).addClass('yt-link'); 40 } 41}); 42 } 43 44}); 45 46if (CurrencyReturnUrl.indexOf('frontpage.html') !== -1) { // frontpage 47 48 $('#choose-brand').on('change',function() { 49 $('#choose-model,#choose-category').prop('disabled',true); 50 loadSubcatsToSelect($(this).val(),$('#choose-model')); 51 }); 52 53 $('#choose-model').on('change',function() { 54 $('#choose-category').prop('disabled',true); 55 loadSubcatsToSelect($(this).val(),$('#choose-category'),true); 56 }); 57 58 $('#choose-category').on('change',function() { 59 location.href = $(this).val(); 60 }); 61 62 console.log("transformProductlist run5"); 63 transformProductlist(); 64 65 $(document).ready(function() { 66 if (ismobile) { 67 $(window).one('scroll resize', function() { 68 $('#footerproducts').append($('<ul class="ProductList_Custom_UL footerproducts"></ul>').append($('.Frontpage_Custom_UL > li:nth-child(n+7)'))); 69 handleDyContainer($('.Frontpage_Custom_UL')); 70 }); 71 } 72 else { 73 74 $('#footerproducts').append($('<ul class="ProductList_Custom_UL footerproducts"></ul>').append($('.Frontpage_Custom_UL > li:nth-child(n+7)'))); 75 76 handleDyContainer($('.Frontpage_Custom_UL')); 77 } 78 }); 79 80 81 82 // newsletter 83 $('.maincontainer .newsletter form').on('submit',function (e) { 84 85 e.preventDefault(); 86 87 let form = $(e); 88 89 $.ajax({ 90 url: "/pages/ro/front_discount/heyloyalty_suscribe.asp", 91 type: "get", 92 cache: false, 93 data: { 94 "lang": LanguageID, 95 "email": $.trim($(this).find('input[type="email"]').val()) 96 } 97 }) 98 .done(function (json) { 99 try { 100 var data = JSON.parse(json); 101 if (data.type == "create" || data.type == "update") { 102 location.href = "/shop/cms-96.html"; 103 } 104 else if (data.error == "The email format is invalid.") { 105 alert(language('misc.invalidemail')); 106 } 107 else if (data.error.indexOf('not on your list')) { 108 alert(language('misc.emailexists')); 109 } 110 } 111 catch (e) { 112 console.log('JSON parsing failed', e); 113 } 114 }) 115 .fail(function (error) { 116 console.log('ERROR', error); 117 }) 118 .always(function () { 119 // Code to run regardless of success or failure 120 }); 121 122 123 124 return false; 125 }); 126 127} 128else if (ProductNumber !== '') { // productcard 129$('span[itemprop="productid"]').text(function(index, currentText) { 130 // Uklanja "-VAR" iz teksta 131 return currentText.replace('-VAR', ''); 132 }).attr('content', function(index, currentContent) { 133 // Ažurira content atribut 134 return currentContent.replace('-VAR', ''); 135 }); 136 137 $('input[name="ProductID"]').val(function(i, val) { 138 return val.replace('-VAR', ''); 139}); 140 141 checkCustomersAlsoBoughtRecommendations(); 142 143 144 if ($('.productcard').length) { 145 146 let catnumber = $.trim($('#catnumber').text()); 147 let reviewid = ProductNumber; 148 if (ProductVariantMasterID !== '') { 149 reviewid = ProductVariantMasterID.replace('-VAR',''); 150 } 151
152 //initUsedPhonesBanner('productcard',catid); 153 //initDeliveryBanner(catid); 154 155 156 handleProductDescription(); 157 158 159 // club trendy price 160 /* 161 if (!isb2b) { 162 let productprice = parseFloat($('.productcard [itemprop="price"]').attr('content')) 163 let ctprice = productprice - (productprice * 0.07); 164 $('.clubtrendyprice .ctprice').html(ctprice.numberFormat(2)); 165 } 166 */ 167 168 console.log("transformProductlist run6"); 169 170 transformProductlist(); 171 172 173 $('.tabs > *').each(function(i,e) { 174 let button = $(this); 175 button.on('click',function() { 176 $(this).parent().find('.active').removeClass('active'); 177 $(this).addClass('active'); 178 button.parent().nextAll('.tab.active').removeClass('active'); 179 button.parent().nextAll('.tab').eq(i).addClass('active'); 180 181 if ($('.tabs [name="productreviews"].active').length) { 182 loadAllProductReviews(reviewid,$('.reviewstab .revLine')); 183 } 184 185 }); 186 }); 187 188 189 // load product info 190 $.ajax({ 191 type: "GET", 192 url: "/_do/ajax_status.asp", 193 data: { 194 sku: ProductNumber, 195 lang: LanguageID 196 }, 197 dataType: "jsonp", 198 async: true, 199 cache: false, 200 success: function(response) { 201 let instock = true; 202 var obj = response[ProductNumber]; 203 204 /*part for ab test start 205 if (LanguageID == '1') { 206 var stock_nr = obj.stock_nr; 207 var stock_nr_message = ""; 208 209 if (stock_nr > 0) { 210 if (stock_nr >=1 && stock_nr <=5) { 211 stock_nr_message = stock_nr + " stk. på lager. Levering:"; 212 } else if(stock_nr >=6 && stock_nr <=20) { 213 stock_nr_message = "5+ stk. på lager. Levering:"; 214 } else if(stock_nr >=21 && stock_nr <=50) { 215 stock_nr_message = "20+ stk. på lager. Levering:"; 216 } else if(stock_nr >=51 ) { 217 stock_nr_message = "50+ stk. på lager. Levering:"; 218 } 219 } 220 221 $('.lagerstatus_ab_test').text(stock_nr_message); 222 } 223 224 part for ab test end*/ 225 226 /*event handler function start*/ 227 /*function*/ 228 var eventsTrigger = function (eventCategory, eventAction, eventLabel, non_interaction) { 229 non_interaction = non_interaction || false; 230 dataLayer.push({ 231 'event': 'gaEvent_' + eventCategory, 232 233 'eventCategory': eventCategory, 234 'eventAction': eventAction, 235 'eventLabel': eventLabel, 236 'eventNonInteraction': non_interaction 237 }); 238 }; 239 240 241 /*function call*/ 242 $(document).on("click", ".custom_event", function () { 243 eventsTrigger($(this).attr("eventCategory"), $(this).attr("eventAction"), $(this).attr("eventLabel")); 244 }); 245 /*event handler function end*/ 246 247 248 249 250 // dynamic product info 251 var now = new Date(); 252 var day = now.getDay(); 253 var hour = now.getHours(); 254 255 let dateForStatus = "" 256 let d = new Date(); 257 d.setDate(d.getDate() + 2); 258 259 let year = d.getFullYear() 260 let month = String(d.getMonth() + 1) 261 let dayForStatus = String(d.getDate()) 262 263 month = month.length == 1 ? 264 month.padStart('2', '0') : month; 265 266 dayForStatus = dayForStatus.length == 1 ? 267 dayForStatus.padStart('2', '0') : dayForStatus; 268 269 dateForStatus = `${dayForStatus}-${month}`; 270 271 if (day == 0) {day = 7;} 272 let lager_status_text = obj.text; 273 let hld_stock = obj.stock_count; 274 275 let stockinfo = $('.productcard .stockinfo'); 276 let stockimage = $('.productcard .stockinfo img'); 277 let stockmessage = $('.productcard .stockinfo .stockmessage'); 278 console.log("before low stock"); 279 console.log(obj.text); 280 if (obj.text.indexOf('15-18') !== -1 || obj.text.indexOf('20-25') !== -1 || obj.text.indexOf('5-10') !== -1) { 281 console.log("in lowstock"); 282 stockinfo.addClass('lowstock'); 283 stockimage.attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 284 instock = false;
285 } 286 287 else if (obj.color.indexOf('70, 208, 0') < 0 || obj.text.indexOf('Bestilt') !== -1 || obj.text.indexOf('Tilattu') !== -1 ) { // ikke på lager 288 instock = false; 289 290 if (obj.text.indexOf('Bestilt') !== -1 || obj.text.indexOf('Tilattu') !== -1) { 291 stockmessage.css('color',obj.color); 292 } 293 else { 294 stockinfo.addClass('notinstock'); 295 stockimage.attr('src','/images/skins/Bewise/images/icon-notinstock.svg'); 296 } 297 298 299 } else { 300 console.log("in else 290"); 301 var hour_for_timer = 16; 302 var hour_for_timer_saturday=18 303 if (day == 5 || day == 6) {hour_for_timer = 16;var hour_for_timer_saturday=18} 304 if (day == 7) {hour_for_timer = 13;} 305 if (obj.stock_nr == true && LanguageID == 1) { 306 307 lager_status_text="På lager - "+getShippingMessage(); 308 309 310 } 311 else if (obj.stock_nr == true && LanguageID == 1) { 312 console.log("in non hil"); 313 console.log(day); 314 if (hour >=hour_for_timer) { 315 lager_status_text = "På lager - Modtag din pakke "+dateForStatus; 316 if (day == 5 || day == 6) { 317 lager_status_text = "På lager - Modtag din pakke på mandag"; 318 } 319 if(day == 5){ 320 lager_status_text = "På lager - Modtag din pakke på søndag"; 321 } 322 323 324 } 325 326 else { 327 lager_status_text = "På lager - Levering i morgen <br class='show-for-small'>(bestil inden "+hour_for_timer+":00)"; 328 if (day == 6) { 329 lager_status_text = "På lager - Modtag din pakke på mandag"; 330 } 331 } 332 if(hour<hour_for_timer_saturday && day == 6){ 333 lager_status_text = "På lager - Modtag din pakke på søndag"; 334 } 335 if(hour>=hour_for_timer_saturday && day == 6){ 336 lager_status_text = "På lager - Modtag din pakke på mandag"; 337 } 338 } 339 340 341 342 343 if(new Date().getDate() != 28 && LanguageID == 1){ 344 $(document).ready(function () { 345 if($('.shippingcountdown.active i').html()!=undefined){ 346 let statusHtml=stockmessage.html('Pà LAGER - '+$('.shippingcountdown.active i').html()); 347 //lager_status_text='Pà LAGER - ' + $('.shippingcountdown.active i').text(); 348 if (obj.text.indexOf('5-10') !== -1) { 349 console.log(obj.text); 350 351 lager_status_text = obj.text; 352 } 353 } 354 355 }) 356 } 357 358 } 359 360 361 //set stockcolor 362 $(document).ready(function () { 363 console.log(lager_status_text) 364 console.log("lager_status_text") 365 console.log(obj.text); 366 stockmessage.html(lager_status_text); 367 }) 368 369 370 // variant selector 371 let variantselector = $('.variantbuttons'); 372 if (variantselector.length) { 373 374 variants = obj.colors; 375 //console.log(variants); 376 let variantscount = 0; 377 378 $.each(variants, function (i,e) { 379 380 variantscount += 1; 381 382 let variant = $('<img alt="'+e.colorText+'" width="86" height="86" loading="lazy" src="'+e.image+'" data-id="'+e.productId+'" />'); 383 variant.on('click',function() { 384 changeVariant($(this)); 385 }); 386 387 console.log("ProductNumber" + ProductNumber); 388 389 if (e.productId == ProductNumber.replace('-VAR','') && ProductNumber == ProductVariantMasterID) { 390 changeVariant(variant); 391 } 392 console.log("ProductNumber2" + ProductNumber); 393 variantselector.append(variant); 394 if (e.productId == ProductNumber.replace('-VAR','')) { 395 console.log("active" + e.productId); 396 console.log("active" + ProductNumber.replace('-VAR','')); 397 variant.addClass('active'); 398 $('.Variants select').eq(0).val(e.colorText);
399 UpdateBuyControls(); 400 } 401 402 }); 403 404 if (variantscount > 0) { 405 $('.variantbuttons').addClass('active') 406 407 } 408 else { 409 $('.Variants select').addClass('active'); 410 } 411 412 } 413 414 if (instock) { 415 $('.shippingcountdown').addClass('active'); 416 $('.notinstockemail').removeClass('active'); 417 if (obj.stock_count != 0 && LanguageID == 1) { 418 initShippingCountdown($('.productcard .shippingtime'),'productcard', shippingcountdownHldStock); 419 } else { 420 initShippingCountdown($('.productcard .shippingtime'),'productcard', shippingcountdown); 421 } 422 $('#BUYSECTION').removeClass('hidden'); 423 } 424 else { 425 $('.shippingcountdown').removeClass('active'); 426 $('.notinstockemail').addClass('active'); 427 $('#BUYSECTION').addClass('hidden'); 428 } 429 430 431 432 handleProductDescription(); 433 434 } 435 }); 436 437 438 439 440 var amountinput = $('#BUYSECTION input[type="number"]'); 441 var stickybuyamount = $('<input type="number" name="stickyamount" value="1" min="1" />"'); 442 443 if (amountinput.length) { 444 //var max = parseFloat(amountinput.attr('max')); 445 $('.amount .dec').on('click',function() { 446 let currentamount = parseFloat(amountinput.val()); 447 if (!isNaN(currentamount) && (currentamount - 1) >= parseFloat(amountinput.attr('min'))) { 448 let newamount = currentamount - 1; 449 amountinput.val(newamount); 450 stickybuyamount.val(newamount); 451 452 calcProductPrice(); 453 454 } 455 456 }); 457 $('.amount .inc').on('click',function() { 458 let currentamount = parseFloat(amountinput.val()); 459 let newamount = currentamount + 1; 460 461 462 amountinput.val(newamount); 463 464 //console.log(newamount); 465 stickybuyamount.val(newamount); 466 calcProductPrice(); 467 }); 468 469 470 amountinput.on('change keyup',function() { 471 calcProductPrice(); 472 let amount = $(this).val(); 473 stickybuyamount.val(amount); 474 }); 475 476 477 478 // remember to buy 479 480 // remove DanDomain related if not: 481 /* 482 if (activetoplevelurl.indexOf('-3573') < 0) { 483 $('#productcardrecommendations .Related_Custom_DIV').remove(); 484 } 485 */ 486 487 let ddrelatedproducts = $('#productcardrecommendations .Related_Custom_DIV > div'); 488 if (!ddrelatedproducts.length) { 489 inView('#productcardrecommendations').once('enter',function() { 490 loadRememberToBuy(catnumber); 491 }); 492 } 493 else { 494 495 496 if (ddrelatedproducts.length < 2) { 497 let addamount = 2 - ddrelatedproducts.length; 498 inView('#productcardrecommendations').once('enter',function() { 499 loadRememberToBuy(catnumber,addamount); 500 }); 501 } 502 else { 503 initRememberToBuy(); 504 } 505 506 } 507 508 509 // sticky buybutton 510 if (ismobile) { 511 let buybutton = $('#BUYSECTION input[type="submit"]'); 512 if (buybutton.length) { 513 var stickybuy = $('<div class="stickybuy"></div>'); 514 var stickybuybutton = $('<div class="button">'+buybutton.val()+'</div>'); 515 stickybuybutton.on('click',function() { 516 if (canBuy) { 517 buybutton.click(); 518 } 519 else { 520 scrollToElement($('.Variants')); 521 alert(SelectVarMsg); 522 } 523 524 }); 525 526 var stickybuyprices = $('<div class="stickybuyprices"></div>'); 527 stickybuyamount.val(amountinput.val()).attr('min',amountinput.attr('min')); 528 //var stickybuyamount = $('<input type="number" name="stickyamount" value="'+amountinput.val()+'" min="'+amountinput.attr('min')+'" />"'); 529 var stickybuyamountlabel = $('<label for="stickyamount"></label>').append(stickybuyamount); 530 531 stickybuyamount.on('change keyup keypress',function() { 532 533 let stickyamount = parseFloat($(this).val()); 534 if (!isNaN(stickyamount) && stickyamount > 0) { 535 amountinput.val(stickyamount); 536 calcProductPrice(); 537 } 538 539 }); 540 541 stickybuy.append(stickybuyprices,stickybuyamountlabel,stickybuybutton) 542 $('body').append(stickybuy); 543 544 updateStickyPrice(); 545 546 scrollShowHideElement(stickybuy,50); 547 $(document).scroll(function() { 548 scrollShowHideElement(stickybuy,50); 549 }); 550 } 551 } 552 553 554 555 } 556 557 558 559 // reviews 560 var reviewcount = parseFloat($('[itemprop="reviewCount"]').text());
561 var ratingvalue = parseFloat($('[itemprop="ratingValue"]').text()); 562 if (reviewcount > 0) { 563 $('.productcard .reviewcount').html(reviewcount); 564 createRatingStars($('.productcard .ratings'),ratingvalue); 565 566 $('.productcard a[href="#productreviews"]').on('click',function() { 567 var hash = $(this).attr('href').split('#').pop(); 568 scrollToElement(hash); 569 570 571 loadAllProductReviews(reviewid,$('.reviewstab .revLine')); 572 573 574 return false; 575 }); 576 577 } 578 579 580 // auto similar products 581 if (typeof showsimilarsliders !== 'undefined' && showsimilarsliders || window.location.href.indexOf('testsimilar') !== -1) { 582 583 inView('.productcard-helpservice').once('enter',function() { 584 $.get('https://api2.mytrendyphone.dk/api-new?&instock=1&excludedFilters=case_size&shop='+LanguageID+'&categoryType=all&category='+catnumber,function(response) { 585 if (response !== 'no results') { 586 let products = response.products; 587 if (products.length) { 588 589 let similarproductsfound = 0; 590 let similar = $('<div class="customslider"></div>'); 591 592 $.each(products, function (i,e) { 593 if (e.primary_id !== ProductNumber && e.primary_id !== ProductVariantMasterID && similarproductsfound < 10) { 594 similarproductsfound += 1; 595 let relateditemprice = parseFloat(e.price.replace('.','').replace(',','.')); 596 597 similar.append('<div><div class="product"><div class="name"><a href="'+e.product_url+'">'+e.product_name+'</a></div><a class="image" href="'+e.product_url+'"><img alt="'+e.product_name+'" height="120" loading="lazy" src="'+e.image_url+'" width="120"></a><div class="price">'+relateditemprice.numberFormat(2)+' '+e.currency+'</div><div class="product-status"><div class="stock"><img alt="PÃ¥ lager" height="8" loading="lazy" src="/images/skins/Bewise/images/icon-instock.svg" width="8"></div><div>Varenr.: <span class="productnumber">'+e.primary_id+'</span></div></div></div></div>'); 598 } 599 600 }); 601 if (similarproductsfound > 0) {
602 let similarcontainer = $('<div id="productcardsimilar"></div>'); 603 similarcontainer.append('<div class="similartitle">'+language('misc.similarproducts')+'</div>',similar); 604 $('.productcard-helpservice').before(similarcontainer); 605 console.log("transformProductlist run7"); 606 transformProductlist(); 607 handleDyContainer(similar); 608 } 609 610 611 } 612 } 613 614 }); 615 }); 616 617 } 618 619 620 621 622 } 623} 624else if (CurrencyReturnUrl.indexOf('search.asp') !== -1) { // productlist 625 626 transformProductlist(); 627 //initProductlist(); 628 629} 630else if (CurrencyReturnUrl.indexOf('showbasket.html') !== -1) { // showbasket 631 console.log("in CustomersAlsoBought_Custom_UL"); 632 initOrderSteps(1); 633 updateShowBasketStock(true); 634 let mostpopularcontainer = $('.mostpopularproducts'); 635 if (mostpopularcontainer.length) { 636 loadPopularProducts(mostpopularcontainer); 637 } 638 else { 639 console.log("transformProductlist run8"); 640 transformProductlist(); 641 handleDyContainer($('.CustomersAlsoBought_Custom_UL')); 642 } 643 644 645 // save basket 646 $('.savebasket a').on('click',function() { 647 $(this).parent().remove(); 648 $('.savebasket form').addClass('active'); 649 return false; 650 }); 651 $('.savebasket form').on('submit',function(e) { 652 e.preventDefault(); 653 let form = $(this); 654 form.find('input').addClass('loading').prop('disabled',true); 655 656 let email = $.trim($('.savebasket form input[type="email"]').val()); 657 let url = "/login/modules/saveBasket/asp/autoSave.asp?email=" + email; 658 659 let count; 660 let total; 661 let saveComplete; 662 let basketID; 663 664 $.ajax({ 665 url: '/login/modules/saveBasket/asp/autoSave.asp?email=' + email, 666 success: function (html) { 667 basketID = html; 668 createCookie('basketID', basketID, 0.5); 669 670 $.ajax({ 671 url: "/shop/showbasket.html?rawxml=1", 672 success: function (xml) { 673 total = $(xml).find("Products").find("Product").length; 674 count = 0; 675 saveComplete = false; 676 checkStatus = setInterval(function () { 677 if (count == total) { 678 saveComplete = true 679 } 680 if (saveComplete) { 681 clearInterval(checkStatus); 682 $.ajax({ 683 684 url: "/saveBasket/asp/cronjob.asp?basketID=" + basketID + "&save=1", 685 success: function () { 686 //form.html(form.attr('data-success')); 687 $('.savebasket').html(form.attr('data-success')); 688 } 689 }); 690 } 691 }, 500); 692 693 694 $(xml).find("Products").find("Product").each(function () { 695 var prodID = $(this).find("ProductNumber").text(); 696 var amount = $(this).find("Amount").text(); 697 if ($(this).find("ProductImage").text() != "") { 698 var prodImg = $(this).find("ProductImage").text().split("src=\"")[1].split("\"")[0]; 699 } else { 700 var prodImg = ""; 701 } 702 var ProductName = $(this).find("ProductName").text(); 703 var UnitPrice = $(this).find("UnitPrice").text(); 704 var prodID2 = escape(prodID); 705 if (prodID2 == 'CLUBTRENDY' || prodID2 == 'CLUB24') { 706 707 count++; 708 } 709 else { 710 711 $.ajax({ 712 url: "/login/modules/saveBasket/asp/updateBasketItem.asp?ProductName=" + escape(ProductName) + "&UnitPrice=" + UnitPrice + "&basketID=" + basketID + "&prodID=" + escape(prodID) + "&amount=" + amount + "&prodImg=" + escape(prodImg), 713 success: function () { 714 count++; 715 }, 716 error: function (err) { 717 console.log('Der opstod en fejl'); 718 //alarm(err, "save_basket_script", "5", basketID, escape(prodID)); 719 } 720 }); 721 } 722 }); 723 724 } 725 }); 726 727 } 728 }); 729 730 return false 731 732 }); 733 734 $('.checkreferrer').on('click',function() { 735 checkReferrer(); 736 return false 737 }); 738 739} 740else if (CurrencyReturnUrl.indexOf('order1.html') !== -1) { // orderstep 1 741 742 if (LanguageID == '1') { 743 $('#country').val('2625'); 744 $('#lcountry').val('2625'); 745 } 746 747 $('select[name="CustTypeID"]').closest('table').before('<div class="ordersteps
747header">'+language('checkout.customeraddress')+'</div>'); 748 $('#Orderstep1_AlternativeDelivery_Fields_TD').prepend('<div class="orderstepsheader">'+language('checkout.shippingaddress')+'</div>'); 749 750 insertTrustboxes($('.showbasket-trustboxes')); 751 initOrderSteps(2); 752 $('.CustomerData_OrderStep1_TBL').attr('cellpadding','0'); 753 754 // toggle alternative address 755 let altdeliverytoggletd = $('.toggleAltAddress td'); 756 if (altdeliverytoggletd.length) { 757 let label = $('<label></label>').html(altdeliverytoggletd.html()); 758 altdeliverytoggletd.empty().append(label); 759 } 760 761 let requiredspan = ' <span class="Orderstep1_Required_SPAN">*</span>'; 762 $('#lname').closest('tr').children('td').eq(0).append(requiredspan); 763 $('#laddress').closest('tr').children('td').eq(0).append(requiredspan); 764 $('#lzipcode').closest('tr').children('td').eq(0).append(requiredspan); 765 $('#lcity').closest('tr').children('td').eq(0).append(requiredspan); 766 767 768 // newsletter 769 var email_cookie = readCookie("showbasket_newsletter"); 770 var email_for_hayloyalty = readCookie("email_for_hayloyalty"); 771 var name_for_hayloyalty = readCookie("name_for_hayloyalty"); 772 773 let newsletterinput = $('input[name="useMailList"]'); 774 if (newsletterinput.length) { 775 let td = newsletterinput.closest('td'); 776 td.addClass('newslettertd'); 777 let label = $('<label></label>').html(td.html()); 778 td.empty().append(label); 779 780 781 if (email_cookie !== null) { 782 if (email_cookie) { 783 newsletterinput.prop('checked',false); 784 } 785 else { 786 newsletterinput.prop('checked',true); 787 } 788 789 } 790 791 792 } 793 794 $('.checkoutbuttons input[type="submit"]').on('click',function() { 795 if ($('input[name="useMailList"]').is(':checked')) { 796 createCookie("showbasket_newsletter", true); 797 createCookie("email_for_hayloyalty", $("#email").val()); 798 createCookie("name_for_hayloyalty", $("#name").val()); 799 800 } 801 else { 802 createCookie("showbasket_newsletter", false); 803 createCookie("email_for_hayloyalty", ''); 804 createCookie("name_for_hayloyalty", ''); 805 806 } 807 var zipCodeForCheck = $("#zipcode").val(); 808 var altZipCodeCheck = $("#lzipcode").val(); 809 createCookie('zipForCheck', zipCodeForCheck); 810 createCookie('altZipForCheck', altZipCodeCheck); 811 }); 812 813} 814else if (CurrencyReturnUrl.indexOf('order2.html') !== -1) { // orderstep 2 815 $('.TableLines_OrderStep2').wrap('<div class="orderstep2container"></div>'); 816 $('.orderstep2container').wrap('<div class="orderstep2"></div>'); 817 $('div.orderstep2').append('<div class="showbasket-trustboxes"></div>'); 818 insertTrustboxes($('.showbasket-trustboxes')); 819 initOrderSteps(3); 820 $('.removeme').remove(); 821 822 // pickup points 823 renderPickupSelectors(); 824 825 $(document).on('click','.locations .deliveryPoint .handleClick',function(e){ 826 var shippingcontainer = $(this); 827 var selectedshipping = shippingcontainer.data().number; 828 sessionStorage.setItem('checkedpickupid',selectedshipping); 829 sessionStorage.setItem('checkedshippingmethod',shippingcontainer.attr('name')); 830 }); 831 832 833 loadShippingServicesForSelectedShippingMethod_ = loadShippingServicesForSelectedShippingMethod; 834 loadShippingServicesForSelectedShippingMethod = function(t) { 835 loadShippingServicesForSelectedShippingMethod_(t); 836 renderPickupSelectors(); 837 } 838 839 setupParcelShopPickupPoints_ = setupParcelShopPickupPoints; 840 setupParcelShopPickupPoints = function(t) { 841 setupParcelShopPickupPoints_(t); 842 renderPickupSelectors(); 843 } 844 845 var maxDeliveryPoints = 7; 846 847 $(document).on('click', '#ShippingMethodsContainer input[name=ShippingMethodID]', function() { 848 849 $('.locations.active').removeClass('active'); 850 851 var activeElm = $(this); 852 activeElm.prop('checked', true); 853 854 if (activeElm.closest('tr').find('.locations').length) { 855 activeElm.closest('tr').find('.locations').addClass('active').find('input').eq(0).trigger('click'); 856 } 857 else { 858 sessionStorage.removeItem('checkedpickupid'); 859 } 860 861 if (activeElm.length && activeElm.val() != undefined) { 862 sessionStorage.setItem('checkedshippingmethod', activeElm.val()); 863 } 864 865 }); 866 867 $(document).on('click', '#ShippingMethodsContainer .showAll', function () { 868 var elm = $(this); 869 if (elm.parent().find('.hide').length) { 870 elm.parent().find('.hide').removeClass('hide'); 871 elm.text('Vis færre'); 872 } else { 873 for (var i = 0; i < elm.parent().find('.deliveryPoint').length; i++) { 874 if ((i + 1) <= maxDeliveryPoints) { 875 continue; 876 } 877 elm.parent().find('.deliveryPoint').eq(i).addClass('hide'); 878 } 879 880 elm.text(language('checkout.showall')); 881 } 882 }); 883} 884else if (CurrencyReturnUrl.indexOf('order3.html') !== -1) { // orderstep 3 885 $('.TableLines_OrderStep3').wrap('<div class="orderstep3container"></div>'); 886 $('.orderstep3container').wrap('<div class="orderstep3"></div>'); 887 $('div.orderstep3').append('<div class="showbasket-trustboxes"></div>');
888 $('.TableLines_OrderStep3').before('<div class="orderstepsheader">'+language('checkout.headerconfirm')+'</div>'); 889 insertTrustboxes($('.showbasket-trustboxes')); 890 initOrderSteps(4); 891 $('.removeme').remove(); 892 893 let termsbutton = $('.OrderStep3_ReadTerms_Link a[href*="external"]'); 894 //let termsurl = termsbutton.attr('href').replace('/shop/external',''); 895 let termsurl = termsbutton.attr('href'); 896 let termsdiv = $('<div id="terms" style="display:none;"></div>'); 897 $.get(termsurl,function(response) { 898 termsdiv.append($(response).find('.long_info_header')); 899 termsdiv.append($(response).find('.long_info_content')); 900 $('body').append(termsdiv); 901 termsbutton.on('click',function() { 902 Fancybox.show([{ 903 src: "#terms", 904 type: "inline" 905 }]); 906 return false; 907 }); 908 909 $('.termsbox').prepend($('.OrderStep3_ReadTerms_Link')) 910 911 }); 912 913 914} 915else if (CurrencyReturnUrl.indexOf('order4.html') !== -1) { // orderstep 4 916 $('.removeme').remove(); 917 $('.TableLines_OrderStep4').wrap('<div class="orderstep4container"></div>'); 918 $('.orderstep4container').wrap('<div class="orderstep4"></div>'); 919 initOrderSteps(5); 920
921 $('.orderstep4container').prepend('<div class="orderstepsheader">'+$('.Heading_OrderStep4').text()+'</div>'); 922 $('.Heading_OrderStep4').parent().empty(); 923} 924else if (CurrencyReturnUrl.indexOf('customerinfo.html') !== -1) { 925 926 // search faq 927 $('#ausu-suggestionsInput').on('keyup', function (e) { 928 let input = $(this); 929 let form = input.closest('div.cs-search'); 930 let resultscontainer = form.find('.searchresults'); 931 932 if (!resultscontainer.length) { 933 resultscontainer = $('<div class="searchresults"><div class="searchcustom"><div class="results"></div></div></div>'); 934 form.append(resultscontainer); 935 } 936 937 let keycode; 938 if (window.event) { 939 keycode = window.event.keyCode; 940 } 941 else if (e) { 942 keycode = e.which; 943 } 944 if (keycode != 37 && keycode != 38 && keycode != 39 && keycode != 40 && keycode != 13 && keycode != 27) { 945 946 var term = input.val(); 947 if (!term || term.length < 2) { 948 form.removeClass('ready'); 949 //console.log('close livesearch') 950 return; 951 } 952 953 let faqsearchurl = '/pages/en/faq/data.asp'; 954 if(LanguageID == 32 || LanguageID == 58){ 955 faqsearchurl = "/pages/rs/faq/data.asp"; 956 } 957 $.get(faqsearchurl+'?data='+term,function(response) { 958 var faqresults = resultscontainer.find('.searchcustom .results'); 959 960 resultscontainer.addClass('hascustom'); 961 let faqresultsul = $('<ul>'+response+'</ul>'); 962 faqresultsul.find('a').each(function(i,e) { 963 $(this).attr('data-index',i); 964 }); 965 966 faqresults.html(faqresultsul); 967 968 }); 969 970 } 971 else if (keycode == 40) { 972 let activea = resultscontainer.find('a.selected'); 973 if (!activea.length) { 974 activea = resultscontainer.find('a').eq(0); 975 if (activea.length) { 976 activea.addClass('selected'); 977 form.addClass('prevented'); 978 } 979 else { 980 form.removeClass('prevented'); 981 } 982 } 983 else { 984 let selectedindex = activea.data('index'); 985 let nexta = resultscontainer.find('a[data-index="'+(selectedindex + 1)+'"]'); 986 if (nexta.length) { 987 988 activea.removeClass('selected'); 989 nexta.addClass('selected'); 990 activea = nexta; 991 } 992 } 993 994 995 } 996 else if (keycode == 38) { 997 let activea = resultscontainer.find('a.selected'); 998 if (activea.length) { 999 let selectedindex = activea.data('index'); 1000 if (selectedindex > 1) { 1001 let preva = resultscontainer.find('a[data-index="'+(selectedindex - 1)+'"]'); 1002 1003 activea.removeClass('selected'); 1004 preva.addClass('selected'); 1005 activea = preva; 1006 } 1007 else { 1008 activea.removeClass('selected'); 1009 form.removeClass('prevented'); 1010 } 1011 } 1012 } 1013 else if (keycode == 27) { 1014 resultscontainer.removeClass('hascustom'); 1015 } 1016 else if (keycode == 13) { 1017 let selecteda = resultscontainer.find('a.selected'); 1018 if (selecteda.length) { 1019 location.href = selecteda.attr('href'); 1020 } 1021 } 1022 }); 1023} 1024else if (CurrencyReturnUrl.indexOf('b2blogin.html') !== -1) { 1025 1026 if (CurrencyReturnUrl.indexOf('showForgotPswForm=1') !== -1) { 1027 let emailinput = $('.TextInputField_B2Blogin'); 1028 let tr = emailinput.closest('tr'); 1029 let label = tr.children('td').eq(0).text(); 1030 emailinput.attr('placeholder',label); 1031 tr.children('td').eq(0).remove(); 1032 tr.next('tr').children('td').eq(0).remove(); 1033 } 1034 else { 1035 1036 $.get('/pages/'+tlcode+'/club_trendy.asp',function(clubhtml) { 1037 1038 $('body').append('<link rel="stylesheet" href="/_styles/external_pages.css?v=13">'); 1039 $('.maincontent').empty(); 1040 1041 $.getScript('/pages/ro/club_trendy_page/responsive-2015/js/ct_script.js?s=2',function() { 1042 $('.maincontent').empty().append($(clubhtml)[6]); 1043 loadMyTrendyWinners(); 1044 }); 1045 1046 }); 1047 } 1048 1049} 1050else if (CurrencyReturnUrl.indexOf('cms-forhandler.html') !== -1) { 1051 1052 $('form[action="/shop/b2blogin.html"] > table tr').each(function() { 1053 let tr = $(this); 1054 let firsttd = tr.children('td').eq(0); 1055 tr.find('td[colspan="2"]').removeAttr('colspan'); 1056 firsttd.removeAttr('width'); 1057 let input = tr.find('input.TextInputField_B2Blogin_1'); 1058 if (input.length) { 1059 let placeholder = $.trim(firsttd.text()); 1060 input.attr('placeholder',placeholder); 1061 firsttd.remove(); 1062 } 1063 1064 }); 1065 1066 $('table.CmsPageStyle_Table [align="center"]').removeAttr('align'); 1067 $('td.CmsPageStyle > style').remove(); 1068 1069 $('form[action="/shop/b2blogin.html"] input.SubmitButton_B2Blogin_1').removeAttr('class').val(language('misc.login')); 1070 $('form[action="/shop/b2blogin.html"] a[href*="?showForgotPswForm=1"]').removeAttr('style'); 1071 $('form[action="/shop/b2blogin.html"] p[style*="padding"]').removeAttr('style'); 1072 1073} 1074else if (CurrencyReturnUrl.indexOf('submit_review.asp') !== -1) { // review 1075 $('a.reveal_modal').each(function() { 1076 $(this).on('click',function() { 1077 let button = $(this); 1078 let href = button.data('href'); 1079 Fancybox.show([{ src: href, type: "ajax", filter: "#ProductReview" }]); 1080 return false;
1081 }); 1082 }); 1083} 1084else if ($('body').hasClass('webshop-externalpage')) { 1085 let q = getUrlParameter('q'); 1086 if (q !== false) { 1087 let maintext = $.trim($('.maincontent').text()); 1088 if (maintext.indexOf('load failed') !== -1) { 1089 location.href = '/shop/search-1.html?keyword='+q 1090 } 1091 } 1092} 1093 1094$(document).ready(function() { 1095 1096 if (!customheadermessage.active) { 1097 initShippingCountdown($('.highlight .shippingtime'),'header',shippingcountdown); 1098 } 1099 else { 1100 $('.highlight').addClass('customcontent').html(customheadermessage.content); 1101 } 1102 1103 if (isb2b) { 1104 $('.clubtrendy.loggedin').addClass('active'); 1105 } 1106 1107 1108 $('.usp').eq(0).slick({ 1109 infinite: true, 1110 slidesToShow: 5, 1111 slidesToScroll: 1, 1112 autoplay: true, 1113 arrows: false, 1114 autoplaySpeed: 6000, 1115 swipeToSlide: true, 1116 responsive: [{ 1117 breakpoint: 1270, 1118 settings: { 1119 slidesToShow: 4 1120 } 1121 }, 1122 { 1123 breakpoint: 1000, 1124 settings: { 1125 slidesToShow: 2 1126 } 1127 }, 1128 { 1129 breakpoint: 749, 1130 settings: { 1131 slidesToShow: 1 1132 } 1133 }] 1134 }); 1135 1136 1137 if (window.location.href.endsWith('?test=active') || (LanguageID == 1 || LanguageID == 3 || LanguageID == 37)) { 1138 1139 1140 1141 // var $slider = $('.subCategoriesSlider'); 1142 // var $links = $slider.find('.SubCats_Categories_DIV a'); 1143 1144 // $links.each(function () { 1145 // var $img = $(this).find('img'); 1146 1147 // if ($img.length) { 1148 // var src = $img.attr('src'); 1149 1150 // if (!src || src.trim() === '') { 1151 // $img.attr('src', '/pages/ro/mergecat/blank-image.webp'); 1152 // } 1153 // } 1154 // }); 1155 // $links.appendTo($slider); 1156 // $slider.find('.SubCats_Categories_DIV').remove(); 1157 1158 var $slider = $('.subCategoriesSlider'); 1159 1160 // Uzmi sve <a> unutar problematiÄnog diva 1161 var $links = $slider.find('.SubCats_Categories_DIV a'); 1162 1163 $links.each(function () { 1164 var $img = $(this).find('img'); 1165 1166 if ($img.length) { 1167 var src = $img.attr('src'); 1168 1169 if (!src || src.trim() === '') { 1170 $img.attr('src', '/pages/ro/mergecat/blank-image.webp'); 1171 } 1172 } 1173 }); 1174 1175 // ð naÄi poslednji direktni <a> u slideru (on mora ostati poslednji) 1176 var $lastLink = $slider.children('a').last(); 1177 1178 // ð ubaci nove linkove PRE poslednjeg 1179 if ($lastLink.length) { 1180 $links.insertBefore($lastLink); 1181 } else { 1182 // fallback ako nema nijedan <a> 1183 $links.appendTo($slider); 1184 } 1185 1186 // Ukloni ceo problematiÄni div 1187 $slider.find('.SubCats_Categories_DIV').remove(); 1188 1189 $slider.slick({ 1190 infinite: false, 1191 slidesToShow: 6.3, 1192 slidesToScroll: 1, 1193 autoplay: false, 1194 arrows: true, 1195 swipeToSlide: true, 1196 centerMode: false, 1197 responsive: [{ 1198 breakpoint: 1270, 1199 settings: { 1200 slidesToShow: 4.3 1201 } 1202 }, 1203 { 1204 breakpoint: 1000, 1205 settings: { 1206 slidesToShow: 3.3 1207 } 1208 }, 1209 { 1210 breakpoint: 749, 1211 settings: { 1212 arrows: true, 1213 slidesToShow: 3 1214 } 1215 }] 1216 }); 1217 1218 $(document).on('click', 'a.slideToSeoText ', function (event) { 1219 event.preventDefault(); 1220 const target = document.querySelector('.maincontent .ProductList_Custom_UL'); 1221 if (target) { 1222 const yOffset = -100; 1223 const y = target.getBoundingClientRect().top + window.pageYOffset + yOffset; 1224 window.scrollTo({top: y, behavior: 'smooth'}); 1225 } 1226}); 1227 1228$(document).on('click', '.categoriesSliderButton', function () { 1229 var $btn = $(this); 1230 if (!$('.categorie-whole-wrapper.all-categories').length) { 1231 var $source = $('.subCategoriesSlider'); 1232 if (!$source.length) $source = $('.moveCategoriesToFilters'); 1233 if (!$source.find('a').length) return; 1234 var html = '<div class="categorie-whole-wrapper all-categories" style="display:none;">'; 1235 var $allLinks = $source.find('a'); 1236 var $manualCategoryLinks = $allLinks.filter('.manual-category'); 1237 var $orderedLinks; 1238 if ($manualCategoryLinks.length) { 1239 var normalLinks = $allLinks.not('.manual-category').get(); 1240 var manualLinks = $manualCategoryLinks.get(); 1241 $orderedLinks = $(normalLinks.concat(manualLinks)); 1242 console.log("ovde sam, slozeno pravilno"); 1243 } else { 1244 $orderedLinks = $allLinks; 1245 } 1246 $orderedLinks.each(function () { 1247 var $a = $(this); 1248 var href = $a.attr('href'); 1249 var slideClass = $a.hasClass('slideToSeoText') ? 'slideToSeoText' : ''; 1250 var text = $.trim($a.text()); 1251 var imgSrc = $a.find('img').attr('src'); 1252 if (!imgSrc) { 1253 imgSrc = "/pages/ro/mergecat/blank-image.webp"; 1254 } 1255 if (!href || !imgSrc) return; 1256 html += 1257 '<div class="categorie-main-wrapper">' + 1258 '<img src="' + imgSrc + '">' + 1259 '<a class="categorie-text ' + slideClass + '" href="' + href + '">
1259' + text + '</a>' + 1260 '</div>'; 1261 }); 1262 html += '</div>'; 1263 $btn.before(html); 1264 } 1265 1266 1267 var $wrapper = $('.categorie-whole-wrapper.all-categories'); 1268 var isClosing = $wrapper.is(':visible'); 1269 $wrapper.stop(true, true).slideToggle(700, function () { 1270 if ($wrapper.is(':visible')) { 1271 $btn.text(language('filter.showfewerCategories')) 1272 .css({backgroundColor: 'black', color: 'white'}); 1273 } else { 1274 $btn.text(language('filter.showallCategories')) 1275 .css({backgroundColor: '', color: ''}); 1276 // $('html, body').animate({ scrollTop: 0 }, 200); 1277 } 1278 }); 1279 1280 if (isClosing) { 1281 $('html, body').animate({ scrollTop: 0 }, 700); 1282 } 1283 1284}); 1285 1286if (window.categoriesSliderClicked) { 1287 $('.categoriesSliderButton').trigger('click'); 1288 window.categoriesSliderClicked = false; 1289} 1290 1291 } 1292 1293 1294 if (!ismobile) { 1295 1296 // create all categories menu 1297 $('body').one('mousemove',function() { 1298 let ul = $('<ul></ul>'); 1299 $('#ProductMenu_List > li > a').each(function() { 1300 let a = $(this); 1301 ul.append('<li><a href="'+a.attr('href')+'">'+a.text()+'</a></li>'); 1302 1303 }); 1304 if(LanguageID==1 || LanguageID==3){ 1305 ul.append( 1306 '<li><a href="/shop/cms-379.html"><img alt="" class="acReadMore" src="/_images/dk/buttons/sealt.gif"></a></li>' 1307 );} 1308 else if(LanguageID==37){ 1309 ul.append( 1310 '<li><a href="/shop/cms-379.html"><img alt="" class="acReadMore" src="/_images/fi/buttons/seeall.gif?v=1"></a></li>' 1311 );} 1312 $('nav li.show-categories').append(ul); 1313 }); 1314 1315 // select country 1316 1317 // let domainlanguage = document.location.host.split('.').pop(); 1318 1319 // let activedomain = $('.language a[href$=".'+domainlanguage+'"/shop]'); 1320 // if (activedomain) { 1321 // $('.language').prepend(activedomain); 1322 // } 1323 1324 let primarycountrycode = $('.language > a').attr('data-code'); 1325 $('.language a').each(function() { 1326 let a = $(this); 1327 let href = a.attr('href'); 1328 let countrycode = a.attr('data-code'); 1329 let url = CurrencyReturnUrl; 1330 1331 if(page.type=="frontpage"){ 1332 url=""; 1333 } 1334 else{ 1335 href=href.replace('/shop/frontpage.html', ''); 1336 } 1337 1338 if (url.indexOf('shop/external') !== -1 && countrycode !== undefined && countrycode !== '') { 1339 1340 url = url.replace('/'+primarycountrycode+'/','/'+countrycode+'/'); 1341 } 1342 // console.log(href); 1343 // console.log(url); 1344 a.attr('href',href+url); 1345 //a.attr('href',href); 1346 }); 1347 1348 // customer logged in greeting 1349 if (isb2b) { 1350 $.get('/shop/customer.html',function(response) { 1351 let name = $(response).find('input[name="name"].TextInputField_Customer').val(); 1352 //$('.wrapper > .top').prepend('<div class="b2bgreeting hide-for-small"><a href="/shop/b2blogin.html?Logout=1" class="button">Log ud</a>Hej '+name+', du er nu logget ind</div>'); 1353 1354 let greeting = language('misc.b2bgreeting').replace('###',name); 1355 $('.b2bgreeting').html('<a href="/shop/b2blogin.html?Logout=1" class="button">'+language('misc.logout')+'</a>'+greeting); 1356 }); 1357 } 1358 1359 } 1360 1361 1362 1363 1364 $('a[data-video]').each(function() { 1365 let a = $(this); 1366 let videosrc = '/pages/da/video/html5/about/'+a.attr('data-video')+'.mp4'; 1367 let title = a.attr('title'); 1368 a.attr('data-fancybox','video').attr('href',videosrc).attr('data-caption',title); 1369 }); 1370 1371 $('[data-reveal-id="reparation_button_modal"]').attr('data-fancybox','').attr('data-filter','#moreinforepair').attr('data-type','ajax').attr('href','/shop/cms-950.html'); 1372 1373 // default fancybox settings 1374 Fancybox.bind("[data-fancybox]", { 1375 autoFocus: false 1376 }); 1377 1378 /* 1379 $(document).ready(function() { 1380 console.log(page.type); 1381 }); 1382 */ 1383 1384 // review banner 1385 if (page !== undefined && page.type == 'review') { 1386 1387 $('#reviewBanner').append(reviewbannercontent); 1388 $('#reviewBannerIphone').append(reviewbannercontentIphone); 1389 1390 } 1391 1392 // chat buttons 1393 $('.chat_starter').each(function() { 1394 $(this).removeAttr('onclick').attr('href','#').unbind(); 1395 }); 1396 if (CookiePolicy.allowFunctionalCookies) { 1397 freshChat(); 1398 1399 }
1400 $(document).on('click','[onclick*="fcWidget.open"],.togglechat,.chat_starter', function(e) { 1401 e.preventDefault(); 1402 if (CookiePolicy.allowFunctionalCookies) { 1403 1404 console.log("in cookie policy"); 1405 toggleChatWidget($(this)); 1406 } 1407 else { 1408 alert(language('misc.acceptcookies')); 1409 } 1410 1411 return false; 1412 }); 1413 1414 1415 // add to basket buttons 1416 $(document).on('click','#BUYSECTION input[type="submit"], .product .buy input[type="submit"]', function(e) { 1417 1418 let button = $(this); 1419 1420 let image = '' 1421 let name = ''; 1422 let id = ''; 1423 1424 if (button.closest('.productcard').length) { 1425 image = $('.productcard img[itemprop="image"]').attr('src'); 1426 name = $('.productcard h1 [itemprop="name"]').text(); 1427 id = ProductNumber; 1428 } 1429 else { 1430 image = button.closest('.product').find('.image img').attr('src').replace('-t.','.'); 1431 name = button.closest('.product').find('.name a').text(); 1432 id = button.closest('.product').attr('data-id'); 1433 1434 } 1435 1436 createCookie('buypopupimage',image); 1437 createCookie('buypopupname',name); 1438 createCookie('buypopupid',id); 1439 1440 1441 }); 1442 1443 1444 // clone payment methods 1445 $('.footer-creditcards').append($('.headerpayments').clone().html()); 1446 1447 1448}); 1449 1450 1451function freshChat(){ 1452 1453 if(LanguageID==37){ 1454 (function (w, d, s) { 1455 if (w._dixa_) return; 1456 w._dixa_ = { 1457 invoke: function (m, a) { 1458 w._dixa_.pendingCalls = w._dixa_.pendingCalls || []; 1459 w._dixa_.pendingCalls.push([m, a]); 1460 }, 1461 addListener: function (event, listener) { 1462 w._dixa_.pendingAddListenerCalls = w._dixa_.pendingAddListenerCalls || []; 1463 w._dixa_.pendingAddListenerCalls.push([event, listener]); 1464 }, 1465 }; 1466 s = d.createElement('script'); 1467 s.type = 'text/javascript'; 1468 s.setAttribute('charset', 'utf-8'); 1469 s.async = true; 1470 s.src = 'https://messenger.dixa.io/bootstrap.js'; 1471 var before = d.getElementsByTagName('script')[0]; 1472 before.parentNode.insertBefore(s, before); 1473 })(window, document); 1474 _dixa_.invoke('init', { messengerToken: 'df9a92dff37740f881893483e5efb59b' }); 1475 } 1476 else if(LanguageID==1){ 1477 (function (w, d, s) { 1478 if (w._dixa_) return; 1479 w._dixa_ = { 1480 invoke: function (m, a) { 1481 w._dixa_.pendingCalls = w._dixa_.pendingCalls || []; 1482 w._dixa_.pendingCalls.push([m, a]); 1483 }, 1484 addListener: function (event, listener) { 1485 w._dixa_.pendingAddListenerCalls = w._dixa_.pendingAddListenerCalls || []; 1486 w._dixa_.pendingAddListenerCalls.push([event, listener]); 1487 }, 1488 }; 1489 s = d.createElement('script'); 1490 s.type = 'text/javascript'; 1491 s.setAttribute('charset', 'utf-8'); 1492 s.async = true; 1493 s.src = 'https://messenger.dixa.io/bootstrap.js'; 1494 var before = d.getElementsByTagName('script')[0]; 1495 before.parentNode.insertBefore(s, before); 1496 })(window, document); 1497 _dixa_.invoke('init', { messengerToken: 'd8d3e7df8b334879830db54cf53893ea' }); 1498 } 1499 else if(LanguageID==3){ 1500 (function (w, d, s) { 1501 if (w._dixa_) return; 1502 w._dixa_ = { 1503 invoke: function (m, a) { 1504 w._dixa_.pendingCalls = w._dixa_.pendingCalls || []; 1505 w._dixa_.pendingCalls.push([m, a]); 1506 }, 1507 addListener: function (event, listener) { 1508 w._dixa_.pendingAddListenerCalls = w._dixa_.pendingAddListenerCalls || []; 1509 w._dixa_.pendingAddListenerCalls.push([event, listener]); 1510 }, 1511 }; 1512 s = d.createElement('script'); 1513 s.type = 'text/javascript'; 1514 s.setAttribute('charset', 'utf-8'); 1515 s.async = true; 1516 s.src = 'https://messenger.dixa.io/bootstrap.js'; 1517 var before = d.getElementsByTagName('script')[0]; 1518 before.parentNode.insertBefore(s, before); 1519 })(window, document); 1520 _dixa_.invoke('init', { messengerToken: 'aa8fa64cda9e4b63b7500543cdf538bc' }); 1521 } 1522} 1523$('#cookie_ok').on('click',function() { 1524 1525 console.log("old cookiebot click"); 1526 $('#cookie_alert').removeClass('active'); 1527 CookiePolicy.allowFunctionalCookies = true; 1528 CookiePolicy.allowTrackingCookies = true; 1529 CookiePolicy.allowStatisticsCookies = true; 1530 1531 createCookie('returning_cookie','a','365'); 1532 1533 afterCookieConsent(); 1534}); 1535$(document).on('click', '#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection, #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll, #CybotCookiebotDialogBodyButtonDecline', function(){ 1536 //console.log("new cookiebot click"); 1537 //$('#cookie_alert').removeClass('active'); 1538 CookiePolicy.allowFunctionalCookies = true; 1539 CookiePolicy.allowTrackingCookies = true; 1540 CookiePolicy.allowStatisticsCookies = true; 1541 1542 //createCookie('returning_cookie','a','365'); 1543 freshChat(); 1544 afterCookieConsent(); 1545}); 1546 1547 1548$('.btnsearch').on('click',function() { 1549 let searchcontainer = $('.search-infobar'); 1550 searchcontainer.toggleClass('active'); 1551 if (searchcontainer.hasClass('active')) { 1552 scrollToElement($('.search-infobar'),'search'); 1553 } 1554}); 1555$('.btnmenu').on('click',function() { 1556 openAside('menu'); 1557}); 1558$('aside > .close').on('click',function() { 1559 closeAside(); 1560}); 1561$('aside').on('click',function(e) { 1562 if (e.target !== this) { 1563 return; 1564 } 1565 else { 1566 closeAside(); 1567 } 1568}); 1569$(document).on('click','.fancybox__container a[href*="#"]',function() { 1570 scrollToElement($(this).attr('href').replace('#',''),'fancybox'); 1571 return false;
1572}); 1573$(document).on('click',function(e) { // live search 1574 if ($('.searchresults[class*="has"]').length) { 1575 if (!$(e.target).closest('div.search').length) { 1576 $('.prevented').removeClass('prevented'); 1577 $('.searchresults').removeClass('hasproducts'); 1578 $('.searchresults').removeClass('hascategories'); 1579 $('.searchresults').removeClass('hascustom'); 1580 } 1581 } 1582}); 1583$(document).on('submit', '.searchform.prevented', function (e) { 1584 e.preventDefault(); 1585 let selecteda = $(this).find('a.selected').eq(0); 1586 if (selecteda.length) { 1587 location.href = selecteda.attr('href'); 1588 } 1589}); 1590$(document).on('submit', '.notinstockform',function(e) { 1591 e.preventDefault(); 1592 let form = $(this); 1593 let email = $.trim(form.find('[type="email"]').val()); 1594 $.get('/_do/out_of_stock.asp?TextBoxEmail='+email+'&FieldProductLang='+LanguageID+'&FieldProductId='+ProductNumber+'&FieldProductUrl='+window.location.href,function(response) { 1595 form.html($(response).find('#Label1').html()); 1596 }); 1597 1598 return false; 1599}); 1600 1601$(document).on('submit', '.seenitcheaperform',function(e) { 1602 e.preventDefault(); 1603 if(LanguageID==1){ 1604 var lang="da"; 1605 } 1606 else if(LanguageID==3){ 1607 var lang="no"; 1608 } 1609 else if(LanguageID==37){ 1610 var lang="fi"; 1611 $('input[name="FormId"]').val($(location).attr('href')); 1612 } 1613 let form = $(this); 1614 let send_data=$(".seenitcheaperform").serializeArray(); 1615 $.ajax({ 1616 type: "post", 1617 url: "/pages/" + lang+ "/SeenItCheaperForm.asp", 1618 data: send_data, 1619 success: function (response) { 1620 form.html($(response)); 1621 1622 } 1623 }); 1624 return false; 1625}); 1626 1627$(document).on("submit", ".postnrform", async function (e) { 1628 e.preventDefault(); 1629 let form = $(this); 1630 let zipCodePN = $.trim(form.find('[type="tel"]').val()); 1631 // zipCodePN = 1001; 1632 let productIds = $('[itemprop="productid"]').html(); 1633 1634 async function dayToDayDelivery(zipCodePN, productIds) { 1635 var burdRestPostalCodes = ["5000","5200","5210","5220","5230","5240","5250","5260","5270","5500","5320","7100","6000","7000","8000","8270","8200","8220","8381","8260","8210","8230","8240","8250","8310","8320","8361","8520","8362","8462","8541","8530","8330","8340","8464","8670","8600","8660","8471","8382","8380"]; 1636 1637 var burdDtdPostalCodes = ["800","877","1001","1002","1003","1004","1005","1006","1007", 1638 "1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023", 1639 "1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039", 1640 "1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056", 1641 "1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073", 1642 "1074","1092","1093","1098","1100","1101","1102","1103","1104","1105","1106","1107","1110","1111","1112","1113","1114", 1643 "1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131", 1644 "1140","1147","1148","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163", 1645 "1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1200","1201","1202","1203","1204", 1646 "1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221", 1647 "1240","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1263","1264","1265","1266", 1648 "1267","1268","1270","1271","1300","1301","1302","1303","1304","1306","1307","1308","1309","1310","1311","1312","1313", 1649 "1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1350", 1650 "1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368", 1651 "1369","1370","1371","1400","1401","1402","1403","1404","1406","1407","1408","1409","1410","1411","1412","1413","1414", 1652 "1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431", 1653 "1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1448","1450","1451","1452","1453","1454","1455", 1654 "1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1470","1471","1472","1473", 1655 "1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1512","1532","1533","1550","1551","1552", 1656 "1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1566","1567","1568","1569","1570", 1657 "1571","1572","1573","1574","1575","1576","1577","1592","1599","1600","1601","1602","1603","1604","1605","1606","1607", 1658 "1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624", 1659 "1630","1631","1632","1633","1634","1635","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660", 1660 "1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677", 1661 "1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1770","1771","1772","1773","1774","1775","1777","1780","1782","1785","1786","1787","1790","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1822","1823","1824","1825","1826","1827","1828","1829","1835","1850","1851","1852","1853","1854","1855","1856","1857","1860","1861","1862","1863","1864","1865","1866","1867","1868","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1900","1901","1902","1903","1904","1905","1906","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1920","1921","1922","1923","1924","1925","1926","1927","1928","1931","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1970","1971","1972","1973","1974","2000","2100","2150","2200","2300","2400","2412","2450","2500","2600","2605","2610","2620","2625","2630","2635","2640","2650","2660","2665","2670","2680","2690","2700","2720","2730","2740","2750","2760","2765","2770","2791","2800","2820","2830","2840","2850","2860","2870","2880","2900","2920","2930","2942","2950","2960","2970","2980","2990","3000","3050","3060","3070","3400","3450","3460","3480","3500","3520","3540","3550","3600","3650","3660","3670","4000","4030","4040","4130","4320","4600","4621","4622","4623","4681"]; 1662 1663 1664 var now = new Date(); 1665 var day = now.getDay(); 1666 var hour = now.getHours(); 1667 var minutes = now.getMinutes(); 1668 1669 let dateForStatus = ""; 1670 let d = new Date(); 1671 d.setDate(d.getDate() + 2); 1672 1673 let year = d.getFullYear(); 1674 let month = String(d.getMonth() + 1); 1675 let dayForStatus = String(d.getDate()); 1676
1677 month = month.length == 1 ? month.padStart("2", "0") : month; 1678 1679 dayForStatus = 1680 dayForStatus.length == 1 ? dayForStatus.padStart("2", "0") : dayForStatus; 1681 1682 dateForStatus = `${dayForStatus}-${month}`; 1683 1684 $.get("/shop/ajaxwrapper.asp?fc=getsessionvaluesJSON", function (data) { 1685 var saturday = "Modtag din pakke på lørdag"; 1686 var sunday = "Modtag din pakke på søndag"; 1687 var monday = "Modtag din pakke på mandag"; 1688 var tuesday = "Modtag din pakke på tirsdag"; 1689 var wednesday = "Modtag din pakke på onsdag"; 1690 var thursday = "Modtag din pakke på torsdag"; 1691 var friday = "Modtag din pakke på fredag"; 1692 var tommorow = "Modtag din pakke i morgen"; 1693 var buy_before_hld = "Bestil før kl. 22:00"; 1694 var buy_after_hld = "Bestil inden kl. 22:00 i morgen"; 1695 var sundayMessage = "Bestil inden kl. 17:00 på søndag"; 1696 var sundayMessageTommorow = "Bestil inden kl. 17:00 i morgen"; 1697 var sundayTime = "Bestil før kl. 17:00"; 1698 1699 var burdMessage = "Modtag din pakke i dag"; 1700 var burdTimeBefore = "Bestil inden kl. 14:30"; 1701 var burdTimeAfter = "Bestil inden kl. 14:30 i morgen"; 1702 var burdTimeMonday = "Bestil inden kl. 14:30 på mandag"; 1703 1704 var message_for_hld_burd_dtd = ""; 1705 var message_for_hld_burd_rest = ""; 1706 1707 var noDayToDay="Ingen daglig levering."; 1708 1709 function textForDelivery() { 1710 if (day == 1) { 1711 if ((hour == 14 && minutes > 29) || hour >= 15) { 1712 message_for_hld_burd_dtd = tommorow + " - " + burdTimeAfter; 1713 message_for_hld_burd_rest = wednesday + " - " + burdTimeAfter; 1714 } else { 1715 message_for_hld_burd_dtd = burdMessage + " - " + burdTimeBefore; 1716 message_for_hld_burd_rest = tommorow + " - " + burdTimeBefore; 1717 } 1718 if (hour < 22) { 1719 message_for_hld_lager = tommorow + " - " + buy_before_hld; 1720 message_for_hld_lagerDaoHome = wednesday + " - " + buy_before_hld; 1721 message_for_hld_lagerPn = tommorow + " - " + buy_before_hld; 1722 message_for_hld_lagerPnHome = tommorow + " - " + buy_before_hld; 1723 } else { 1724 message_for_hld_lager = wednesday + " - " + buy_after_hld; 1725 message_for_hld_lagerDaoHome = thursday + " - " + buy_after_hld; 1726 message_for_hld_lagerPn = wednesday + " - " + buy_after_hld; 1727 message_for_hld_lagerPnHome = wednesday + " - " + buy_after_hld; 1728 } 1729 } else if (day == 2) { 1730 if ((hour == 14 && minutes > 29) || hour >= 15) { 1731 message_for_hld_burd_dtd = tommorow + " - " + burdTimeAfter; 1732 message_for_hld_burd_rest = thursday + " - " + burdTimeAfter; 1733 } else { 1734 message_for_hld_burd_dtd = burdMessage + " - " + burdTimeBefore; 1735 message_for_hld_burd_rest = tommorow + " - " + burdTimeBefore; 1736 } 1737 if (hour < 22) { 1738 message_for_hld_lager = tommorow + " - " + buy_before_hld; 1739 message_for_hld_lagerDaoHome = thursday + " - " + buy_before_hld; 1740 message_for_hld_lagerPn = tommorow + " - " + buy_before_hld; 1741 message_for_hld_lagerPnHome = tommorow + " - " + buy_before_hld; 1742 } else { 1743 message_for_hld_lager = thursday + " - " + buy_after_hld; 1744 message_for_hld_lagerDaoHome = friday + " - " + buy_after_hld; 1745 message_for_hld_lagerPn = thursday + " - " + buy_after_hld; 1746 message_for_hld_lagerPnHome = thursday + " - " + buy_after_hld; 1747 } 1748 } else if (day == 3) { 1749 if ((hour == 14 && minutes > 29) || hour >= 15) { 1750 message_for_hld_burd_dtd = tommorow + " - " + burdTimeAfter; 1751 message_for_hld_burd_rest = friday + " - " + burdTimeAfter; 1752 } else { 1753 message_for_hld_burd_dtd = burdMessage + " - " + burdTimeBefore; 1754 message_for_hld_burd_rest = tommorow + " - " + burdTimeBefore; 1755 } 1756 if (hour < 22) { 1757 message_for_hld_lager = tommorow + " - " + buy_before_hld; 1758 message_for_hld_lagerDaoHome = friday + " - " + buy_before_hld; 1759 message_for_hld_lagerPn = tommorow + " - " + buy_before_hld; 1760 message_for_hld_lagerPnHome = tommorow + " - " + buy_before_hld; 1761 } else { 1762 message_for_hld_lager = friday + " - " + buy_after_hld; 1763 message_for_hld_lagerDaoHome = saturday + " - " + buy_after_hld; 1764 message_for_hld_lagerPn = friday + " - " + buy_after_hld; 1765 message_for_hld_lagerPnHome = friday + " - " + buy_after_hld; 1766 } 1767 } else if (day == 4) { 1768 if ((hour == 14 && minutes > 29) || hour >= 15) { 1769 message_for_hld_burd_dtd = tommorow + " - " + burdTimeAfter; 1770 message_for_hld_burd_rest = tuesday + " - " + burdTimeMonday; 1771 } else { 1772 message_for_hld_burd_dtd = burdMessage + " - " + burdTimeBefore; 1773 message_for_hld_burd_rest = tommorow + " - " + burdTimeBefore; 1774 } 1775 if (hour < 22) { 1776 message_for_hld_lager = tommorow + " - " + buy_before_hld; 1777 message_for_hld_lagerDaoHome = saturday + " - " + buy_before_hld; 1778 message_for_hld_lagerPn = tommorow + " - " + buy_before_hld; 1779 message_for_hld_lagerPnHome = tommorow + " - " + buy_before_hld; 1780 } else { 1781 message_for_hld_lager = saturday + " - " + buy_after_hld; 1782 message_for_hld_lagerDaoHome = sunday + " - " + buy_after_hld; 1783 message_for_hld_lagerPn = saturday + " - " + buy_after_hld; 1784 message_for_hld_lagerPnHome = monday + " - " + buy_after_hld; 1785 } 1786 } else if (day == 5) { 1787 if ((hour == 14 && minutes > 29) || hour >= 15) { 1788 message_for_hld_burd_dtd = monday + " - " + burdTimeMonday; 1789 message_for_hld_burd_rest = tuesday + " - " + burdTimeMonday; 1790 } else { 1791 message_for_hld_burd_dtd = burdMessage + " - " + burdTimeBefore; 1792 message_for_hld_burd_rest = tuesday + " - " + burdTimeMonday; 1793 } 1794 if (hour < 22) { 1795 message_for_hld_lager = tommorow + " - " + buy_before_hld; 1796 message_for_hld_lagerDaoHome = sunday + " - " + buy_before_hld; 1797 message_for_hld_lagerPn = tommorow + " - " + buy_before_hld; 1798 message_for_hld_lagerPnHome = monday + " - " + buy_before_hld; 1799 } else { 1800 message_for_hld_lager = sunday + " - " + buy_after_hld; 1801 message_for_hld_lagerDaoHome = monday + " - " + buy_after_hld; 1802 message_for_hld_lagerPn = monday + " - " + sundayMessage; 1803 message_for_hld_lagerPnHome = monday + " - " + sundayMessage; 1804 } 1805 } else if (day == 6) { 1806 if ((hour == 14 && minutes > 29) || hour >= 15) { 1807 message_for_hld_burd_dtd = monday + " - " + burdTimeMonday; 1808 message_for_hld_burd_rest = tuesday + " - " + burdTimeMonday; 1809 } else { 1810 message_for_hld_burd_dtd = monday + " - " + burdTimeMonday; 1811 message_for_hld_burd_rest = tuesday + " - " + burdTimeMonday; 1812 } 1813 if (hour < 22) { 1814 message_for_hld_lager = tommorow + " - " + buy_before_hld; 1815 message_for_hld_lagerDaoHome = monday + " - " + buy_before_hld; 1816 message_for_hld_lagerPn = monday + " - " + sundayMessageTommorow; 1817 message_for_hld_lagerPnHome = 1818 monday + " - " + sundayMessageTommorow; 1819 } else { 1820 message_for_hld_lager = monday + " - " + buy_after_hld; 1821 message_for_hld_lagerDaoHome = tuesday + " - " + buy_after_hld; 1822 message_for_hld_lagerPn = monday + " - " + sundayMessageTommorow; 1823 message_for_hld_lagerPnHome = 1824 monday + " - " + sundayMessageTommorow; 1825 } 1826 } else if (day == 0) { 1827 if ((hour == 14 && minutes > 29) || hour >= 15) { 1828 message_for_hld_burd_dtd = tommorow + " - " + burdTimeAfter; 1829 message_for_hld_burd_rest = tuesday + " - " + burdTimeAfter; 1830 } else { 1831 message_for_hld_burd_dtd = tommorow + " - " + burdTimeAfter; 1832 message_for_hld_burd_rest = tuesday + " - " + burdTimeAfter; 1833 } 1834 if (hour < 22) { 1835 message_for_hld_lager = tommorow + " - " + buy_before_hld; 1836 message_for_hld_lagerDaoHome = tuesday + " - " + buy_before_hld; 1837 } else { 1838 message_for_hld_lager = tuesday + " - " + buy_after_hld; 1839 message_for_hld_lagerDaoHome = wednesday + " - " + buy_after_hld; 1840 } 1841 if (hour < 17) { 1842 message_for_hld_lagerPn = tommorow + " - " + sundayTime; 1843 message_for_hld_lagerPnHome = tommorow + " - " + sundayTime; 1844 } else { 1845 message_for_hld_lagerPn = tuesday + " - " + buy_after_hld; 1846 message_for_hld_lagerPnHome = tuesday + " - " + buy_after_hld; 1847 } 1848 } 1849 } 1850 textForDelivery(); 1851 1852 console.log(productIds); 1853 1854 zipCodePN = zipCodePN.toString(); 1855 1856 function fetchData(url, data) { 1857 return new Promise((resolve, reject) => { 1858 $.ajax({ 1859 url, 1860 type: "get", 1861 cache: false, 1862 data, 1863 success: resolve, 1864 error: reject, 1865 }); 1866 }); 1867 } 1868 1869 function processResponse(data, zipCodePN, form) { 1870 console.log(data + " je broj iz skripte"); 1871 console.log(data); 1872 console.log(zipCodePN); 1873 1874 1875 if ($.inArray(zipCodePN, burdDtdPostalCodes) !== -1) { 1876 console.log(message_for_hld_burd_dtd); 1877 return message_for_hld_burd_dtd; 1878 } else if ($.inArray(zipCodePN, burdRestPostalCodes) !== -1) { 1879 console.log(message_for_hld_burd_rest); 1880 return message_for_hld_burd_rest; 1881 } else { 1882 return noDayToDay; 1883 } 1884 1885 } 1886 1887 async function dayToDayDelivery(zipCodePN, productIds) { 1888 try { 1889 const response = await fetchData("https://sync.mytrendyphone.eu/hld_check?", { products: productIds }); 1890 return processResponse(response, zipCodePN); 1891 } catch (error) { 1892 // Handle the error as needed 1893 console.error(error); 1894 return error; 1895 } 1896 } 1897 1898 async function setTextForDelivery(zipCodePN, productIds) { 1899 const textForDel = await dayToDayDelivery(zipCodePN, productIds); 1900 return textForDel; 1901 } 1902 1903 setTextForDelivery(zipCodePN, productIds) 1904 .then((textForDel) => { 1905 form.html(textForDel); 1906 }); 1907 1908 }); 1909 } 1910 dayToDayDelivery(zipCodePN, productIds) 1911 1912// console.log(dayToDayDelivery(zipCodePN, productIds)); 1913// 1914// form.html("sadas"); 1915 1916 return false;
1917}); 1918 1919$(document).on('keyup', '.searchform input[type="text"]', function (e) { 1920 let input = $(this); 1921 let form = input.closest('form'); 1922 var term = input.val(); 1923 let resultscontainer = form.find('.searchresults'); 1924 1925 if (!resultscontainer.length) { 1926 1927 let viewallstr = language('search.viewallresults').replace('###','<span class="searchresultcount"></span>'); 1928 1929 resultscontainer = $('<div class="searchresults"><div class="searchcategories"><div class="title">'+language('search.categories')+'<span></span></div><div class="results"></div></div><div class="searchproducts"><div class="title">'+language('search.products')+'<span></span></div><div class="results"></div></div><a class="searchviewall" href="#">'+viewallstr+'</a></div>'); 1930 form.append(resultscontainer); 1931 } 1932 1933 resultscontainer.find('.searchviewall').attr('href','/shop/external/pages/ro/search_2022/search.asp?q='+term); 1934 console.log(term); 1935 let keycode; 1936 if (window.event) { 1937 keycode = window.event.keyCode; 1938 } 1939 else if (e) { 1940 keycode = e.which; 1941 } 1942 console.log(keycode) 1943 if (keycode != 37 && keycode != 38 && keycode != 39 && keycode != 40 && keycode != 13 && keycode != 27) { 1944 1945 if (!term || term.length < 2) { 1946 form.removeClass('ready'); 1947 //console.log('close livesearch') 1948 return; 1949 } 1950 1951 //var tld = 'dk'; 1952 let totalresults = 0; 1953 // search categories 1954 $.ajax({ 1955 url: '/_do/search_categories.asp?shop='+LanguageID+'&q='+encodeURIComponent(term), // url where to submit the request 1956 //q=name%3Aiphone+8+OR+name%3Aiphone+8&sort=score+desc%2Ctotal_sort+asc%2C+name+desc&wt=json&indent=true 1957 beforeSend: function () { 1958 form.addClass('loading') 1959 }, 1960 complete: function () { 1961 form.removeClass('loading') 1962 }, 1963 type : "GET", // type of action POST || GET 1964 jsonp: 'json.wrf', 1965 dataType : 'json', // data type 1966 // data : $("#form").serialize(), // post data || get data 1967 success : function(categories) { 1968 var categoriesresults = resultscontainer.find('.searchcategories .results'); 1969 if (categories.length) { 1970 totalresults += categories.length; 1971 resultscontainer.find('.searchcategories .title span').html(categories.length); 1972 resultscontainer.addClass('hascategories'); 1973 categoriesresults.empty(); 1974 $.each(categories, function (i,e) { 1975 1976 if (i < 6) { 1977 1978 categoriesresults.append('<a data-index="'+totalresults+'" href="'+e.url+'">'+e.name+'</a>'); 1979 } 1980 }); 1981 1982 resultscontainer.find('.searchresultcount').html(totalresults); 1983 1984 } 1985 else { 1986 resultscontainer.removeClass('hascategories'); 1987 } 1988 //console.log(categories); 1989 1990 1991 // search products 1992 $.ajax({ 1993 url: '/_do/ajax_search.asp', 1994 beforeSend: function () { 1995 form.addClass('loading') 1996 }, 1997 complete: function () { 1998 form.removeClass('loading') 1999 }, 2000 dataType: 'jsonp', 2001 jsonp: 'json.wrf', 2002 data: { 2003 wt: 'json', 2004 q: term, 2005 qf: 'product_name^10 longdesc^5 primary_id^1', 2006 fl: 'product_name, product_url, image_url, price, primary_id, dt', // ovo za sada ne treba - description, score, orders, stockicon, stock_status_text', 2007 defType: 'dismax', 2008 mm: '75%', 2009 bq: 'orders:[1 TO *]^10 stock:[1 TO *]^10', 2010 sort: "score desc,profit desc", 2011 tld: tld 2012 }, 2013 success: function (response) { 2014 var productsresults = resultscontainer.find('.searchproducts .results'); 2015 2016 2017 let products = response.response.docs; 2018 let results = response.response.numFound; 2019 if (results > 0) { 2020 totalresults += results; 2021 resultscontainer.find('.searchproducts .title span').html(results); 2022 resultscontainer.addClass('hasproducts'); 2023 productsresults.empty(); 2024 $.each(products, function (i,e) { 2025 2026 if (i < 6) { 2027 2028 productsresults.append('<a data-index="'+totalresults+'" href="'+e.product_url+'"><img src="'+e.image_url+'" width="70" height="70" /><span class="name">'+e.product_name[0]+'</span><span class="price">'+e.price+'</span><button id="small-in-search-button" data-buyid="'+e.primary_id+'">'+' '+'</button></a>'); 2029 } 2030 }); 2031 2032 $('.searchproducts .results button').one('click',function(e) { 2033 e.preventDefault(); 2034 let buyid = $(this).attr('data-buyid'); 2035 $.get('/shop/basket.asp?add=1&amount=1&productid='+buyid,function() { 2036 location.href = ShowBasketUrl; 2037 }); 2038 return false;
2039 }); 2040 2041 resultscontainer.find('.searchresultcount').html(totalresults); 2042 } 2043 else { 2044 resultscontainer.removeClass('hasproducts'); 2045 } 2046 2047 } 2048 }); 2049 2050 } 2051 }); 2052 2053 2054 } 2055 else if (keycode == 40) { 2056 let activea = resultscontainer.find('a.selected'); 2057 if (!activea.length) { 2058 activea = resultscontainer.find('a').eq(0); 2059 if (activea.length) { 2060 activea.addClass('selected'); 2061 form.addClass('prevented'); 2062 } 2063 else { 2064 form.removeClass('prevented'); 2065 } 2066 } 2067 else { 2068 let selectedindex = activea.data('index'); 2069 let nexta = resultscontainer.find('a[data-index="'+(selectedindex + 1)+'"]'); 2070 if (nexta.length) { 2071 2072 activea.removeClass('selected'); 2073 nexta.addClass('selected'); 2074 activea = nexta; 2075 } 2076 } 2077 2078 2079 } 2080 else if (keycode == 38) { 2081 let activea = resultscontainer.find('a.selected'); 2082 if (activea.length) { 2083 let selectedindex = activea.data('index'); 2084 if (selectedindex > 1) { 2085 let preva = resultscontainer.find('a[data-index="'+(selectedindex - 1)+'"]'); 2086 2087 activea.removeClass('selected'); 2088 preva.addClass('selected'); 2089 activea = preva; 2090 } 2091 else { 2092 activea.removeClass('selected'); 2093 form.removeClass('prevented'); 2094 } 2095 } 2096 } 2097 else if (keycode == 27) { 2098 resultscontainer.removeClass('hasproducts'); 2099 resultscontainer.removeClass('hascategories'); 2100 } 2101}); 2102 2103 2104if ($('#filters').length || $('[element-type="drop"]').length) { // load filter 2105 2106 let filterjsurl = '/images/skins/Bewise/js/filter.v3.js?version=2'; 2107 2108 if ($('#filters').length) { // regular
2109 2110 $('body').addClass('hasfilters'); 2111 2112 filterloaded = true; 2113 $.getScript(filterjsurl); 2114 2115 let btnfilter = $('.btnfilter'); 2116 if (btnfilter.length) { 2117 btnfilter.on('click',function() { 2118 if (!filterloaded) { 2119 filterloaded = true; 2120 $.getScript(filterjsurl,function() { 2121 openAside('filter'); 2122 }); 2123 } 2124 else { 2125 openAside('filter'); 2126 } 2127 }); 2128 } 2129 2130 } 2131 else if ($('[element-type="drop"]').length) { // select dropdown 2132 2133 // load select content 2134 let categoryselectdiv = $('[element-type="drop"]'); 2135 if (categoryselectdiv.length) { 2136 let id = categoryselectdiv.attr('id'); 2137 let catid = categoryselectdiv.attr('class'); 2138 2139 if (id == 'categoryDropBattery') { 2140 let select = $('<select name="dropModelCategories" id="dropModelCategories" class="dropModelCategories selectBox"></select>'); 2141 select.append('<option selected disabled>'+language('misc.selectseries')+'</option>'); 2142 2143 2144 $.get('/_do/categories.asp?category='+catid+'&site='+LanguageID+'&widthProducts=1',function(result) { 2145 for (var models in result) { 2146 select.append('<option value="'+models+'">' + result[models] + '</option>'); 2147 } 2148 categoryselectdiv.empty().append(select); 2149 select.prop('disabled',true); 2150 2151 $.getScript(filterjsurl,function() { 2152 select.prop('disabled',false); 2153 select.on('change',function() { 2154 BewiseFilter.searchById($(this).val()) 2155 }); 2156 }); 2157 2158 }); 2159 2160 } 2161 } 2162 } 2163 2164} 2165 2166 2167// init buypopup 2168if (CurrencyReturnUrl.indexOf('trypopup=1') !== -1) { 2169 createCookie('showbuypopup','true'); 2170} 2171if ((getCookie('showbuypopup') == 'true' && AddedToBasketMessageTriggered) || (typeof showbuypopup !== 'undefined' && showbuypopup && AddedToBasketMessageTriggered)) { 2172 $.getScript('/images/skins/Bewise/js/buypopup.v3.js'); 2173} 2174 2175loadMyTrendyWinners(); 2176 2177/* 2178$.get('/shop/ajaxwrapper.asp?fc=getsessionvaluesJSON', function (data) { 2179 2180 let catid = data.activeCategoryNumber; 2181 2182 if ($('.webshop-productlist').length || $('.webshop-productinfo').length) { 2183 2184 initDeliveryBanner(catid); 2185 2186 if ($('.webshop-productlist').length) { 2187 initUsedPhonesBanner('productlist',catid); 2188 } 2189 else if ($('.webshop-productinfo').length) { 2190 initUsedPhonesBanner('productcard',catid); 2191 } 2192 2193 } 2194 2195}); 2196*/ 2197 2198window.alert = function(message) { 2199 const fancybox = new Fancybox([ 2200 { 2201 src: message, 2202 type: "html", 2203 }, 2204 ]); 2205}; 2206 2207function insertTrustboxes(element) { 2208 $.get('/shop/showbasket.asp',function(response) { 2209 element.append($(response).find('.showbasket-trustboxes').html()); 2210 2211 // showbasketcontact 2212 $('.checkoutbuttons.bottombuttons').after($(response).find('.showbasketcontact')); 2213 }); 2214} 2215function initOrderSteps(step) { 2216 if (!isNaN(step)) { 2217 step -= 1; 2218 let ordersteps = $('<ul class="orderstep-status"><li><span>1</span><i>'+language('checkout.headerbasket')+'</i></li><li><span>2</span><i>'+language('checkout.headercustomer')+'</i></li><li><span>3</span><i>'+language('checkout.headerpaymentshipping')+'</i></li><li><span>4</span><i>'+language('checkout.headeraccept')+'</i></li><li><span>5</span><i>'+language('checkout.headerpay')+'</i></li></ul>'); 2219 ordersteps.children('li').eq(step).addClass('active'); 2220 2221 let orderstepheader = $('.orderstep-header'); 2222 if (!orderstepheader.length) { 2223 orderstepheader = $('<div class="orderstep-header"></div>'); 2224 $('.maincontent').prepend(orderstepheader); 2225 } 2226 orderstepheader.prepend(ordersteps); 2227 if (step <= 1) { 2228 let referrer = document.referrer; 2229 if (document.referrer == '' || referrer.indexOf('order1') !== -1) { 2230 '/shop/frontpage.html' 2231 } 2232 orderstepheader.after('<a href="'+referrer+'" class="continueshopping"><img alt="Shop" src="/images/skins/Bewise/images/icon-right-black.svg" />'+language('checkout.continueshopping')+'</a>'); 2233 } 2234 2235 2236 2237 if (step > 0 && step <= 3) { 2238 2239 saveShippingFee(); 2240 initCheckoutSummary(); 2241 2242 $(document).on('change','#ShippingMethodsContainer input[type="radio"]',function() { 2243 setTimeout(function() { 2244 2245 saveShippingFee(); 2246 2247 initCheckoutSummary(true); 2248 }, 1000); 2249 }); 2250 2251 } 2252 2253 2254 let checkoutbuttons = $('<div class="checkoutbuttons"></div>'); 2255 2256 if (step > 0) { 2257 let nextbutton = $('<input type="submit" value="'+language('checkout.next')+'" />'); 2258 checkoutbuttons.append('<a href="javascript:history.go(-1);" class="button blue">'+language('checkout.back')+'</a>'); 2259 checkoutbuttons.append(nextbutton); 2260 2261 let insertbuttonsto = $('form[name*="Orderstep"]'); 2262 2263 if (step == 1) { 2264 2265 // disable autocomplete 2266 $('[name="res4"]').attr('autocomplete', 'off'); 2267 2268 // handle zip and city 2269 $('[name*="zipcode"]').on('keyup change',function() { 2270 let input = $(this); 2271 let zipcode = $.trim(input.val()); 2272 if (zipcode !== '') { 2273 if (zipcode.toLowerCase().startsWith('f')) { 2274 input.val(zipcode.toUpperCase()); 2275 } 2276 else { 2277 if (LanguageID == '1') { 2278 zipcode = zipcode.replace(/[^0-9]/gi, ''); 2279 input.val(zipcode); 2280 2281 2282 } 2283 2284 } 2285 2286 } 2287 2288 }); 2289 2290 2291 2292 2293 2294 2295 } 2296 else if (step == 2) { 2297 insertbuttonsto = $('.orderstep2container'); 2298 } 2299 else if (step == 3) { 2300 nextbutton.val(language('checkout.gotopayment')); 2301 insertbuttonsto = $('.orderstep3container'); 2302 } 2303 else if (step == 4) { 2304 checkoutbuttons.empty().append('<a href="/shop/frontpage.html" class="button">'+language('checkout.tofrontpage')+'</a>'); 2305 insertbuttonsto = $('.orderstep4container'); 2306 } 2307 2308 if (step == 4) { 2309 insertbuttonsto.append(checkoutbuttons.addClass('bottombuttons')); 2310 } 2311 else { 2312 insertbuttonsto.prepend(checkoutbuttons.clone().addClass('topbuttons')).append(checkoutbuttons.addClass('bottombuttons')); 2313 } 2314 2315 2316 2317 nextbutton.on('click',function(e) { 2318 e.preventDefault(); 2319 2320 validateStep(step); 2321 /* 2322 if (step == 1) { 2323 console.log('click'); 2324 console.log(validateStep(step)); 2325 if (validateStep(step)) { 2326 2327 } 2328 } 2329 else { 2330 nextbutton.closest('form').submit(); 2331 } 2332 */ 2333 2334 return false;
2335 }); 2336 2337 if (step == 1) { 2338 $('input[type="tel"]').on('keyup',function() { 2339 let value = $.trim($(this).val()); 2340 value = value.replace('+','00'); 2341 $(this).val(value); 2342 }); 2343 } 2344 2345 } 2346 2347 2348 2349 2350 2351 } 2352} 2353function saveShippingFee() { 2354 let input = $('#ShippingMethodsContainer input[name="ShippingMethodID"]:checked'); 2355 if (input.length) { 2356 let str = input.closest('tr').children('td').last().text(); 2357 if (str.indexOf('(') !== -1) { 2358 let feestr = str.split('(')[1].split(')')[0]; 2359 if (feestr !== undefined && feestr !== '') { 2360 let fee = parseFloat(feestr.replace('.','').replace(',','.')); 2361 //console.log(fee); 2362 if (!isNaN(fee)) { 2363 createCookie('shippingfee',fee); 2364 } 2365 } 2366 2367 2368 } 2369 } 2370} 2371function initCheckoutSummary(update) { 2372 if (update == undefined) { 2373 update = false; 2374 } 2375 2376 $.get('/shop/ajaxwrapper.asp?fc=getsessionvaluesJSON',function(data){ 2377 2378 2379 $.get('/shop/order2.asp?GetMethods=ShippingMethods&Debug=0',function(response) { 2380 let loadedshippingfee = 0; 2381 if (readCookie('shippingfee') !== '' && readCookie('shippingfee') !== null) { 2382 loadedshippingfee = parseFloat(readCookie('shippingfee')); 2383 } 2384 else { 2385 let input = $(response).find('input:checked'); 2386 if (input.length) { 2387 let td = input.parent('td').next('td'); 2388 td.children().remove(); 2389 let text = $.trim(td.text()); 2390 if (text !== '') { 2391 text = text.replace('(',''); 2392 let arr = text.split(' '); 2393 let fee = parseFloat(arr[0].replace('.','').replace(',','.')); 2394 if (!isNaN(fee)) { 2395 loadedshippingfee = fee; 2396 } 2397 } 2398 2399 } 2400 } 2401 2402 2403 2404 //console.log(data); 2405 let summaryvatdecimal = 1; 2406 if (data.showPricesWithVat) { 2407 summaryvatdecimal = (data.vatPercentage / 100) + 1; 2408 } 2409 2410 let checkoutsummary = $('.checkoutsummary'); 2411 if (!checkoutsummary.length) { 2412 checkoutsummary = $('<div class="checkoutsummary"></div>'); 2413 $('.showbasket-trustboxes').eq(0).prepend(checkoutsummary); 2414 } 2415 else { 2416 checkoutsummary.empty(); 2417 } 2418 2419 let checkoutsummaryitems = $('<div class="checkoutsummaryitems"></div>'); 2420 checkoutsummary.append('<div class="checkoutsummaryheader">'+language('checkout.headersummary')+'</div>'); 2421 checkoutsummary.append(checkoutsummaryitems); 2422 2423 2424 //console.log(data.basket); 2425 2426 let productstotal = 0; 2427 2428 for (let i = 0; i < data.basket.length; i++) { 2429 let item = data.basket[i]; 2430 2431 //console.log(item); 2432 let discountproduct = false; 2433 //console.log(item); 2434 let summaryitem = $('<a href="/shop/default.asp?productid='+item.itemId+'" class="summaryitem"></a>'); 2435 2436 if (item.itemType == 'SalesDiscountProduct') { 2437 discountproduct = true; 2438 summaryitem = $('<div class="summaryitem"></div>'); 2439 } 2440 2441 let vatdecimal = 1; 2442 if (data.showPricesWithVat) { 2443 vatdecimal = (item.vatPercentage / 100) + 1; 2444 } 2445 2446 let unitprice = item.unitPrice * vatdecimal; 2447 //console.log(unitprice); 2448 let totalprice = unitprice * item.quantity; 2449 productstotal += totalprice; 2450 2451 if (discountproduct) { 2452 summaryitem.append('<span class="summaryiteminfo"><span>'+item.productName+'</span><span>'+totalprice.numberFormat(2)+' '+data.currencySymbol+'</span></span>'); 2453 } 2454 else { 2455 summaryitem.append('<span class="summaryitemname">'+item.productName+'</span>'); 2456 summaryitem.append('<img class="summaryitemimage" src="'+item.productImageUrl+'" />'); 2457 summaryitem.append('<span class="summaryiteminfo"><span>'+language('checkout.amount')+': '+item.quantity+'</span><span>'+totalprice.numberFormat(2)+' '+data.currencySymbol+'</span></span>'); 2458 } 2459 2460 2461 checkoutsummaryitems.append(summaryitem); 2462 } 2463 2464 //let productstotal = data.basketTotalProductPriceWithoutVat; 2465 //let summaryshipping = data.basketShippingFee; 2466 let summaryshipping = loadedshippingfee; 2467 let summarypayment = data.basketPayMethodFee; 2468 2469 /* 2470 if (data.showPricesWithVat) { 2471 productstotal = productstotal * summaryvatdecimal; 2472 } 2473 */ 2474 2475 let summarytotal = productstotal + summaryshipping + summarypayment; 2476 2477 2478 2479 checkoutsummary.append('<div class="summaryproductstotal"><span>'+language('checkout.subtotal')+'</span><span>'+productstotal.numberFormat(2)+' '+data.currencySymbol+'</span></div>'); 2480 checkoutsummary.append('<div class="summarydelivery"><span>'+language('checkout.shipping')+'</span><span>'+summaryshipping.numberFormat(2)+' '+data.currencySymbol+'</span></div>'); 2481 checkoutsummary.append('<div class="summarytotal"><span>'+language('checkout.total')+'</span><span>'+summarytotal.numberFormat(2)+' '+data.currencySymbol+'</span></div>'); 2482 checkoutsummary.append('<a href="/shop/showbasket.html" class="button">'+language('checkout.editorder')+'</a>'); 2483 2484 if (!update) { 2485 setTimeout(function() { 2486 checkoutsummary.slideDown(); 2487 }, 1000); 2488 } 2489 2490 }); 2491 2492 }); 2493} 2494function validateStep(step) { 2495 2496 let stepvalid = true;
2497 $('.invalidfield').removeClass('invalidfield'); 2498 $('.validationmessage').remove(); 2499 2500 2501 if (step == 1) { 2502 2503 let customertype = parseFloat($('select[name="CustTypeID"]').val()); 2504 if (customertype == 1) { 2505 let icompanyname = $('#company'); 2506 let companyname = $.trim(icompanyname.val()); 2507 if (companyname.length > 35) { 2508 setErrorMessage(icompanyname, 'after', language('checkout.fieldLength')); 2509 } 2510 if (companyname == '') { 2511 setErrorMessage(icompanyname); 2512 } 2513 2514 let icvr = $('#cvrnr'); 2515 let cvr = $.trim(icvr.val()); 2516 if (cvr == '' || cvr.length < 4) { 2517 setErrorMessage(icvr); 2518 } 2519 } 2520 2521 let iname = $('#name'); 2522 let name = $.trim(iname.val()); 2523 if (name.length > 35) { 2524 setErrorMessage(iname, 'after', language('checkout.fieldLength')); 2525 } 2526 if (name == '' || name.split(' ').length == 1) { 2527 setErrorMessage(iname); 2528 } 2529 2530 let izip = $('#zipcode'); 2531 let zipcode = izip.val(); 2532 if (zipcode == '' || zipcode.length < 3) { 2533 setErrorMessage(izip); 2534 } 2535 2536 let imail = $('#email'); 2537 let mail = imail.val(); 2538 if (mail == '' || mail.indexOf('@') < 0 || mail.indexOf('.') < 0 || mail.length < 6) { 2539 setErrorMessage(imail); 2540 } 2541 2542 let iaddress = $('#address'); 2543 let address = iaddress.val(); 2544 if (address.length > 35) { 2545 setErrorMessage(iaddress, 'after', language('checkout.fieldLength')); 2546 } 2547 if (address == '' || address.split(' ').length == 1) { 2548 setErrorMessage(iaddress); 2549 } 2550 2551 let icity = $('#city'); 2552 let city = icity.val(); 2553 if (city == '') { 2554 setErrorMessage(icity); 2555 } 2556 2557 let iphone = $('#phone'); 2558 let phone = iphone.val(); 2559 //console.log(phone.length); 2560 if (phone == '' || phone.length < 8) { 2561 setErrorMessage(iphone); 2562 } 2563 if (/[a-zA-Z]/.test(phone)) { 2564 setErrorMessage(iphone, 'after', language('checkout.noLetters')); 2565 } 2566 2567 // alt delivery 2568 if ($('#Orderstep1_AlternativeDelivery_Enabled_CHECKBOX:checked').length) { 2569 2570 let altcustomertype = parseFloat($('select[name="lCustTypeID"]').val()); 2571 if (altcustomertype == 1) { 2572 let ialtcompanyname = $('#lcompany'); 2573 let altcompanyname = $.trim(ialtcompanyname.val()); 2574 if (altcompanyname == '') { 2575 setErrorMessage(ialtcompanyname); 2576 } 2577 2578 } 2579 2580 let ialtname = $('#lname'); 2581 let altname = $.trim(ialtname.val()); 2582 if (altname == '' || altname.split(' ').length == 1) { 2583 setErrorMessage(ialtname); 2584 } 2585 2586 let ialtaddress = $('#laddress'); 2587 let altaddress = ialtaddress.val(); 2588 if (altaddress == '' || altaddress.split(' ').length == 1) { 2589 setErrorMessage(ialtaddress); 2590 } 2591 2592 let ialtzip = $('#lzipcode'); 2593 let altzipcode = ialtzip.val(); 2594 if (altzipcode == '' || altzipcode.length < 3) { 2595 setErrorMessage(ialtzip); 2596 } 2597 2598 let ialtcity = $('#lcity'); 2599 let altcity = ialtcity.val(); 2600 if (altcity == '') { 2601 setErrorMessage(ialtcity); 2602 } 2603 2604 } 2605 2606 } 2607 if (step == 2) { 2608 if (!$('#PayMethodsContainer input:checked').length) { 2609 setErrorMessage($('#PayMethodsContainer'), 'before', $('.OrderStep2_PayMethods_Header_TD').text()); 2610 } 2611 2612 if (!$('#ShippingMethodsContainer input:checked').length) { 2613 setErrorMessage($('#ShippingMethodsContainer'), 'before', $('.OrderStep2_ShippingMethods_Header_TD').text()); 2614 } 2615 } 2616 else if (step == 3) { 2617 if (!$('#acceptTermsBit:checked').length) { 2618 setErrorMessage($('.OrderStep3_AcceptTerms_1'), 'append', 'din accept af forretningsbetingelserne'); 2619 } 2620 } 2621 2622 2623 if ($('.validationmessage').length) { 2624 stepvalid = false;
2625 $('.validationmessage').prev().addClass('invalidfield'); 2626 //console.log($('.validationmessage').length); 2627 scrollToElement($('.validationmessage').eq(0).closest('tr')); 2628 } 2629 else { 2630 2631 if (step == 1) { 2632 var form = $('form[name=Orderstep1Form]'); 2633 2634 var checkbox = $('#Orderstep1_AlternativeDelivery_Enabled_CHECKBOX'); 2635 var useAltAddress = checkbox.prop('checked'); 2636 2637 var cloneForm = form.clone(); 2638 if (!useAltAddress) { 2639 cloneForm.find('#Orderstep1_AlternativeDelivery_Fields_TD input').val(''); 2640 } 2641 2642 var formData = cloneForm.serialize(); 2643 sessionStorage.setItem('step1Data', formData); 2644 } else if (step == 2) { 2645 var selectedLocation = $('.locations.active'); 2646 2647 var servicepointId = selectedLocation.length ? selectedLocation.find('input:checked').attr('data-number') : null; 2648 2649 var alt_lcompany, alt_lname, alt_laddress, alt_laddress2, alt_lzipcode, alt_lcity, alt_lcountry = ""; 2650 2651 // don't do anything if no specific servicepoint is selected 2652 // IF CUSTOMMER CHANGE SHIPING, THE PREFERENCES STAYS, BUT THEY NEED TO BE EMPTY IF CUSTOMMER CHANGE SHIPPING 2653 var step1Data = sessionStorage.getItem('step1Data'); 2654 if (step1Data != undefined) { 2655 var formValues = getFormValues(step1Data); 2656 if (servicepointId === "null" || servicepointId === null) { 2657 var shouldReset = formValues.laddress2.indexOf(encodeURIComponent('ID:')) != -1; 2658 alt_lcompany = shouldReset ? '' : formValues.lcompany; 2659 alt_lname = shouldReset ? '' : formValues.lname; 2660 alt_laddress = shouldReset ? '' : formValues.laddress; 2661 alt_laddress2 = shouldReset ? '' : formValues.laddress2; 2662 alt_lzipcode = shouldReset ? '' : formValues.lzipcode; 2663 alt_lcity = shouldReset ? '' : formValues.lcity; 2664 alt_lcountry = shouldReset ? '' : formValues.lcountry; 2665 } else { 2666 var activeElm = selectedLocation.find('input[type=radio]:checked').parent(); 2667 2668 alt_lcompany = activeElm.find('span.company').text(); 2669 alt_lname = formValues.lname != '' ? formValues.lname : formValues.name; 2670 alt_laddress = activeElm.find('span.street').text(); 2671 alt_laddress2 = "ID: " + servicepointId; 2672 alt_lzipcode = activeElm.find('span.zip').text(); 2673 alt_lcity = activeElm.find('span.city').text(); 2674 alt_lcountry = formValues.lcountry != '' ? formValues.lcountry : formValues.country; 2675 } 2676 } 2677 2678 $.ajax({ 2679 type: "GET", 2680 url: "/shop/order1.html", 2681 async: false, 2682 success: function (data) { 2683 var tempDom = $('<output>').append($.parseHTML(data)); 2684 2685 $('#lcompany', tempDom).val(decodeURIComponent(alt_lcompany)); 2686 $('#lname', tempDom).val(decodeURIComponent(alt_lname)); 2687 $('#laddress', tempDom).val(decodeURIComponent(alt_laddress)); 2688 $('#laddress2', tempDom).val(decodeURIComponent(alt_laddress2)); 2689 $('#lzipcode', tempDom).val(decodeURIComponent(alt_lzipcode)); 2690 $('#lcity', tempDom).val(decodeURIComponent(alt_lcity)); 2691 $('#lcountry', tempDom).val(decodeURIComponent(alt_lcountry)); 2692 if (alt_lzipcode != '') { 2693 $('#Orderstep1_AlternativeDelivery_Enabled_CHECKBOX', tempDom).prop('checked', true); 2694 // temporaily disabled to fix customer type not to be set as company 2695 //$('select[name=lCustTypeID]', tempDom).val('1') 2696 } else { 2697 $('#Orderstep1_AlternativeDelivery_Enabled_CHECKBOX', tempDom).prop('checked', false); 2698 } 2699 2700 var step1Form = $('form[name=Orderstep1Form]', tempDom); 2701 2702 // update alternate delivery address via hidden post of step 1 2703 $.ajax({ 2704 type: 'POST', 2705 async: false, 2706 url: '/shop/order1.html', 2707 data: step1Form.serialize(), 2708 complete: function () {} 2709 }); 2710 2711 2712 }, 2713 error: function () {} // original logic in case of errors 2714 }); 2715 } 2716 2717 $('.checkoutbuttons input').addClass('loading').prop('disabled', true); 2718 2719 if (window.location.href.indexOf('bewise') !== -1 && LanguageID == '1') { 2720 2721 let zipcodetocheck = $.trim($('#zipcode').val()); 2722 if ($('#Orderstep1_AlternativeDelivery_Enabled_CHECKBOX:checked').length) { 2723 zipcodetocheck = $.trim($('#lzipcode').val()); 2724 } 2725 2726 2727 $.ajax({ 2728 url: 'https://api.dataforsyningen.dk/postnumre/' + zipcodetocheck, 2729 method: 'GET', 2730 success: function(data) { 2731 2732 // zip code available in DK 2733 $('form[name*="Orderstep"]').submit(); 2734 }, 2735 error: function(xhr, status, error) { 2736 if (xhr.status === 404) { 2737 try { 2738 const response = JSON.parse(xhr.responseText); 2739 alertInvalidZip() 2740 } 2741 catch (e) { 2742 alertInvalidZip() 2743 } 2744 } 2745 else if (status === 'timeout') { 2746 // no response from server 2747 $('form[name*="Orderstep"]').submit(); 2748 } 2749 else { 2750 // if nothings works fallback 2751 $('form[name*="Orderstep"]').submit(); 2752 } 2753 }, 2754 timeout: 2000 2755 }); 2756 2757 function alertInvalidZip() { 2758 $('.checkoutbuttons input[type="submit"]:disabled').prop('disabled',false).removeClass('loading'); 2759 alert('Indtast venligst et gyldigt dansk postnummer'); 2760 } 2761 2762 } 2763 else { 2764 $('form[name*="Orderstep"]').submit(); 2765 } 2766 2767 } 2768 2769} 2770 2771function setErrorMessage(element,place,message) { 2772 2773 var specificmessage = message; 2774 2775 if (message == undefined) { 2776 message = language('checkout.fillout'); 2777 } 2778 else { 2779 //message = 'Du mangler at udfylde ' + message.toLowerCase(); 2780 message = language('checkout.filloutspecific').replace('###',message.toLowerCase()); 2781 } 2782 2783 if (place == undefined) { 2784 place = 'after'; 2785 } 2786 2787 //console.log(specificmessage + "|||" + message); 2788 2789
2790 let container = element.closest('tr').find('.LabelColumn'); 2791 2792 if (container.length) { 2793 let containerclone = container.clone(); 2794 containerclone.children().remove(); 2795 let text = $.trim(containerclone.text()); 2796 if (text !== '') { 2797 //message = 'Du mangler at udfylde feltet '+text.toLowerCase(); 2798 if (specificmessage == undefined) { 2799 message = language('checkout.filloutspecificfield').replace('###',text.toLowerCase()); 2800 } else { 2801 message = specificmessage; 2802 } 2803 } 2804 } 2805 2806 let validationmessage = $('<div class="validationmessage">'+message+'</div>'); 2807 if (place == 'after') { 2808 element.after(validationmessage); 2809 } 2810 else if (place == 'before') { 2811 element.before(validationmessage); 2812 } 2813 else if (place == 'append') { 2814 element.append(validationmessage); 2815 } 2816 2817 2818} 2819 2820function loadMyTrendyWinners() { 2821 let ul = $('#myTrendyWinners:not(.handled)'); 2822 if (ul.length) { 2823 ul.addClass('handled'); 2824 $.getJSON('/_ajax/global/json/winners-club-trendy.json.js',function(winners) { 2825 if (winners.length) { 2826 //let ul = $('#myTrendyWinners:not(.handled)'); 2827 2828 ul.append('<li class="headline">'+language('misc.winners')+'</li>'); 2829 //console.log(winners); 2830 for(var i=0;i<winners.length;i++){ 2831 2832 let url = winners[i].url['locale-'+LanguageID]; 2833 let name = '<a href="'+url+'">'+winners[i].name+'</a>'; 2834 if (url == undefined || url == '') { 2835 name = '<strong>'+winners[i].name+'</strong>'; 2836 } 2837 2838 2839 ul.append('<li><div class="dotted"></div><div class="listWrapper"><div class="name">'+name+'</div><div>'+winners[i].location.default+'</div><div>'+winners[i].price+'</div></div></li>'); 2840 2841 } 2842 } 2843 }); 2844 } 2845 2846} 2847function initExtraShippingMethod(hasnotinstock) { 2848 //console.log(hasnotinstock); 2849 var methodcontainer = $('[data-shippingmethod]'); 2850 if (methodcontainer.length) { 2851 let extramethodid = $.trim(methodcontainer.attr('data-shippingmethod')); 2852 if (extramethodid !== undefined && extramethodid !== '') { 2853 2854 $.get('/shop/ajaxwrapper.asp?fc=getsessionvaluesJSON',function(data){ 2855 //console.log(data); 2856 var hasextramethod = false; 2857 var extramethodkey = 0; 2858 for(var i=0;i<data.basket.length;i++){ 2859 if (data.basket[i].productNumber == extramethodid) { 2860 hasextramethod = true; 2861 extramethodkey = data.basket[i].index; 2862 break 2863 } 2864 } 2865 2866 if (hasextramethod) { 2867 methodcontainer.find('input[value="true"]').prop('checked',true); 2868 } 2869 2870 methodcontainer.find('input').on('change',function() { 2871 let active = $(this).val(); 2872 if (active == 'true') { 2873 2874 if (!hasextramethod) { 2875 hasextramethod = true; 2876 $.get('/shop/basket.asp?add=1&amount=1&productid='+extramethodid,function() { 2877 updateShowBasket(); 2878 }); 2879 } 2880 } 2881 else { 2882 $.get('/shop/basket.asp?caller=showbasket&remove=1&keyid='+extramethodkey,function() { 2883 hasextramethod = false; 2884 updateShowBasket(); 2885 }); 2886 } 2887 }); 2888 2889 if (hasnotinstock) { 2890 methodcontainer.addClass('active'); 2891 } 2892 else if (hasextramethod) { 2893 methodcontainer.removeClass('active'); 2894 $.get('/shop/basket.asp?caller=showbasket&remove=1&keyid='+extramethodkey,function() { 2895 hasextramethod = false; 2896 updateShowBasket(); 2897 }); 2898 2899 } 2900 2901 2902 }); 2903 2904 } 2905 2906 } 2907} 2908function updateShowBasket() { 2909 $.get('/shop/showbasket.asp',function(response) { 2910 $('.ShowBasket_Custom_DIV').html($(response).find('.ShowBasket_Custom_DIV').html()); 2911 $('.summary').html($(response).find('.summary').html()); 2912 updateShowBasketStock(false); 2913 }); 2914} 2915function updateShowBasketStock(initextrashipping) { 2916 //console.log(initextrashipping); 2917 var ids = ''; 2918 let basketitems = $('.showbasket .ShowBasket_Custom_DIV [data-id]'); 2919 basketitems.each(function() { 2920 let id = $(this).attr('data-id'); 2921 if (!id.startsWith('XX-')) { 2922 ids += '#'+id; 2923 } 2924 2925 }); 2926 if (ids !== '') { 2927 2928 $.ajax({ 2929 type: "GET", 2930 url: "/_do/ajax_status_prlist_variants.asp", 2931 data: { 2932 skus: ids, 2933 lang: LanguageID 2934 }, 2935 dataType: "jsonp", 2936 async: true, 2937 cache: false, 2938 success: function(products) { 2939 //console.log(products); 2940 var hasnotinstock = false;
2941 $.each(products, function (i,e) { 2942 console.log("222"); 2943 let instock = true; 2944 let product = $('.showbasket [data-id="'+e.id+'"]').parent(); 2945 //if (e.code == '3') { 2946 2947 2948 2949 if (e.text.indexOf('15-18') !== -1) { 2950 //stockimage.attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 2951 2952 hasnotinstock = true; 2953 product.find('img.stock').attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 2954 2955 } 2956 else if (e.text.indexOf('5-10') !== -1) { 2957 //stockimage.attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 2958 2959 hasnotinstock = true; 2960 product.find('img.stock').attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 2961 2962 } 2963 else if (e.image.indexOf('-green') < 0) { // ikke på lager 2964 hasnotinstock = true; 2965 product.find('img.stock').attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 2966 //stockimage.attr('src','/images/skins/Bewise/images/icon-notinstock.svg'); 2967 } 2968 2969 2970 2971 /* 2972 if (e.image.indexOf('-red.') !== -1) { 2973 hasnotinstock = true; 2974 product.find('img.stock').attr('src','/images/skins/Bewise/images/icon-notinstock.svg'); 2975 } 2976 */ 2977 }); 2978 2979 if (hasnotinstock && initextrashipping && basketitems.length > 1) { 2980 initExtraShippingMethod(true); 2981 } 2982 else if (!hasnotinstock) { 2983 initExtraShippingMethod(false); 2984 } 2985 2986 } 2987 }); 2988 } 2989 else if (initextrashipping) { 2990 initExtraShippingMethod(false); 2991 } 2992 2993 2994} 2995 2996function loadProductsData(productids) { 2997 2998console.log("loadProductsData"); 2999console.log(productids); 3000 var masteridsstr = ''; 3001 var productidsstr = ''; 3002 for(var i=0;i<productids.length;i++){ 3003 productidsstr += '#'+productids[i]; 3004 } 3005 3006 var now = new Date(); 3007 var day = now.getDay(); 3008 var hour = now.getHours(); 3009 3010 let dateForStatus = "" 3011 let d = new Date(); 3012 d.setDate(d.getDate() + 2); 3013 3014 let year = d.getFullYear() 3015 let month = String(d.getMonth() + 1) 3016 let dayForStatus = String(d.getDate()) 3017 3018 month = month.length == 1 ? 3019 month.padStart('2', '0') : month; 3020 3021 dayForStatus = dayForStatus.length == 1 ? 3022 dayForStatus.padStart('2', '0') : dayForStatus; 3023 3024 dateForStatus = `${dayForStatus}-${month}`; 3025 3026 if (day == 0) {day = 7;} 3027 3028 $.ajax({ 3029 type: "GET", 3030 url: "/_do/ajax_status_prlist_variants.asp", 3031 data: { 3032 skus: productidsstr, 3033 lang: LanguageID 3034 }, 3035 dataType: "jsonp", 3036 async: true, 3037 cache: false, 3038 success: function(products) { 3039 $.each(products, function (i,e) { 3040 3041 $('.product[data-id="'+e.id+'"]').each(function() { 3042 console.log("333"); 3043 let product = $(this); 3044 3045 let stockimage = product.find('.stock img'); 3046 //console.log(stockimage); 3047 3048 if (e.text.indexOf('15-18') !== -1) { 3049 stockimage.attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 3050 } 3051 else if (e.text.indexOf('5-10') !== -1) { 3052 stockimage.attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 3053 } 3054 else if (e.image.indexOf('-green') < 0) { // ikke på lager 3055 stockimage.attr('src','/images/skins/Bewise/images/icon-notinstock.svg'); 3056 } 3057 /*predrag update*/ 3058 let lager_status_text = e.text; 3059 3060 var hld_stock=e.stock_count; 3061 // let stockinfo = $('.productcard .stockinfo'); 3062 // let stockmessage = $('.productcard .stockinfo .stockmessage'); 3063 if ((e.text.indexOf('15-18') !== -1 || e.text.indexOf('20-25')) !== -1 && hld_
3063stock ==0) { 3064 // stockinfo.addClass('lowstock'); 3065 stockimage.attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 3066 instock = false; 3067 } 3068 else if ((e.color.indexOf('70, 208, 0') < 0 || e.text.indexOf('Bestilt') !== -1 || e.text.indexOf('Tilattu') !== -1) && hld_stock ==0) { // ikke på lager 3069 instock = false; 3070 console.log(e.text); 3071 if (e.text.indexOf('Bestilt') !== -1 || e.text.indexOf('Tilattu') !== -1) { 3072 // stockmessage.css('color',e.color); 3073 stockimage.attr('src','/images/skins/Bewise/images/icon-instock.svg'); 3074 } 3075 else { 3076 //stockinfo.addClass('notinstock'); 3077 stockimage.attr('src','/images/skins/Bewise/images/icon-notinstock.svg'); 3078 } 3079 3080 3081 } else { 3082 var hour_for_timer = 16; 3083 var hour_for_timer_saturday=18 3084 if (day == 5 || day == 6) {hour_for_timer = 16;var hour_for_timer_saturday=18} 3085 if (day == 7) {hour_for_timer = 13;} 3086 if (e.stock_count != 0 && LanguageID == 1) { 3087 if (hour >=22) { 3088 stockimage.attr('src','/images/skins/Bewise/images/icon-instock.svg'); 3089 lager_status_text = "På lager - Modtag din pakke "+dateForStatus; 3090 } else { 3091 stockimage.attr('src','/images/skins/Bewise/images/icon-instock.svg'); 3092 lager_status_text = "På lager - Levering i morgen(bestil inden 22:00)"; 3093 } 3094 } 3095 else if (e.stock_nr == true && LanguageID == 1) { 3096 if (hour >=hour_for_timer) { 3097 lager_status_text = "På lager - Modtag din pakke "+dateForStatus; 3098 if (day == 5 || day == 6) { 3099 lager_status_text = "På lager - Modtag din pakke på mandag"; 3100 } 3101 if(day == 5){ 3102 lager_status_text = "På lager - Modtag din pakke på søndag"; 3103 } 3104 3105 3106 } 3107 3108 else { 3109 lager_status_text = "På lager - Levering i morgen(bestil inden "+hour_for_timer+":00)"; 3110 if (day == 6) { 3111 lager_status_text = "På lager - Modtag din pakke på mandag"; 3112 } 3113 } 3114 if(hour<hour_for_timer_saturday && day == 6){ 3115 lager_status_text = "På lager - Modtag din pakke på søndag"; 3116 } 3117 if(hour>=hour_for_timer_saturday && day == 6){ 3118 lager_status_text = "På lager - Modtag din pakke på mandag"; 3119 } 3120 } 3121 3122 3123 3124 } 3125 3126 3127 //set stockcolor 3128 $(document).ready(function () { 3129 //stockmessage.html(lager_status_text); 3130 // stockimage.attr('src','/images/skins/Bewise/images/icon-notinstock.svg'); 3131 stockimage.attr('alt', lager_status_text); 3132 }) 3133 3134 /*predrag update*/ 3135 if(LanguageID == 37){ 3136 console.log("extra fi update"); 3137 } 3138 3139 3140 let advancedvariants = product.find('.advancedvariants:empty'); 3141 3142 if (advancedvariants.length && !product.closest('#customersalsoboughtrecommendations').length) { 3143 3144 if (e.colors[0] !== undefined) { 3145 3146 let colorscount = 0; 3147 3148 $.each(e.colors, function (i,v) { 3149 // console.log("in i and v") 3150 // console.log(v); 3151 // console.log(i); 3152 colorscount += 1; 3153 let hasimage = true; 3154 let stockcount = parseFloat(v.stock); 3155 let code = parseFloat(v.delliveryTime); 3156 3157 let a = $('<a href="'+v.url+'" title="'+v.colorText+'"></a>'); 3158 a.attr('data-image',v.image); 3159 a.attr('data-name',v.name); 3160 a.attr('data-price',v.price); 3161 a.attr('data-id',v.productId); 3162 a.attr('data-retail',v.retailPrice); 3163 a.attr('data-stock',stockcount); 3164 a.attr('data-deliveryTime',code); 3165 3166 let src = v.image; 3167 3168 if (hasimage) { 3169 let img = $('<img loading="lazy" width="15" height="15" alt="'+v.colorText+'" src="'+src+'" />'); 3170 a.append(img); 3171 } 3172 3173 advancedvariants.append(a); 3174 3175 a.on('mouseover',function() { 3176 3177 let data = $(this).data(); 3178 3179 product.find('.image a').attr('href',$(this).attr('href')).children('img').attr('src',data.image).attr('alt',data.name); 3180 product.find('.name a').attr('href',$(this).attr('href')).html(data.name); 3181 product.find('.productnumber').html(data.id); 3182 product.find('[itemprop="price"]').attr('content',data.price).html(data.price); 3183 product.closest('form').find('[name="ProductID"]').val(data.id); 3184 product.attr('data-id',data.id); 3185 3186 3187 var retailcontainer = product.find('.Prices_Custom_UL > li:first-child strike'); 3188 if (data.retail !== '0,00') { 3189 retailcontainer.removeClass('invisible').html(data.retail); 3190 } 3191 else { 3192 retailcontainer.addClass('invisible').html(' '); 3193 } 3194 3195 let stockimage = product.find('.stock img'); 3196 3197 if (data.deliverytime >= 0 && data.deliverytime < 89) { 3198 stockimage.attr('src','/images/skins/Bewise/images/icon-instock.svg') 3199 } 3200 else if (data.deliverytime == 90 || data.deliverytime == 89) { 3201 stockimage.attr('src','/images/skins/Bewise/images/icon-lowstock.svg') 3202 } 3203 else { 3204 stockimage.attr('src','/images/skins/Bewise/images/icon-notinstock.svg') 3205 } 3206 3207 return false;
3208 3209 }); 3210 3211 }); 3212 3213 3214 if (colorscount >= 8) { 3215 advancedvariants.slick({ 3216 infinite: false, 3217 slidesToShow: 7, 3218 slidesToScroll: 1, 3219 autoplay: false, 3220 arrows: true, 3221 swipeToSlide: true, 3222 prevArrow: '<img loading="lazy" alt="Arrow" src="/images/skins/Bewise/images/arrow-left-black.svg" class="advvariants slick-left" />', 3223 nextArrow: '<img loading="lazy" alt="Arrow" src="/images/skins/Bewise/images/arrow-right-black.svg" class="advvariants slick-right" />', 3224 responsive: [{ 3225 breakpoint: 949, 3226 settings: { 3227 slidesToShow: 6 3228 } 3229 }] 3230 }); 3231 } 3232 3233 } 3234 else { 3235 //advancedvariants.remove(); 3236 } 3237 } 3238 3239 }); 3240 3241 }); 3242 3243 } 3244 }); 3245 3246} 3247function changeVariant(button) { 3248 3249 var id = button.attr('data-id'); 3250 //console.log(id); 3251 if (!button.hasClass('active')) { 3252 button.parent().find('.active').removeClass('active'); 3253 button.addClass('active'); 3254 //console.log(id); 3255 $.each(variants, function (i,e) { 3256 3257 if (e.productId == id) { 3258 3259 $('.Variants select').eq(0).val(e.colorText); 3260 3261 $('h1 [itemprop="name"]').html(e.name); 3262 $('[itemprop="productid"]').html(e.productId); 3263 $('input[name="ProductID"]').val(e.productId); 3264 // ProductNumber = e.productId; //iskljuceno 03.09 3265 3266 if(e.stock_count > 0 && e.stock_count < 5){ 3267 let lowStockInfoMessage = e.stock_count === 1 ? language('product.leftInStock') : language('product.leftInStockPlural'); 3268 if (!$('.lowstockinfo').length) { 3269 $('.notinstockemail').after('<div class="lowstockinfo"></div>'); 3270 } 3271 $(".lowstockinfo").html(lowStockInfoMessage.replace("###", e.stock_count)); 3272 3273 $('.lowstockinfo').show(); 3274 } 3275 else { 3276 $('.lowstockinfo').hide(); 3277 } 3278 3279 let price = parseFloat(e.price.replace('.','').replace(',','.')); 3280 3281 let retailpricecontainer = $('.pricesection .Prices_Custom_DIV > div:first-child .before'); 3282 let retailsavingscontainer = $('.pricesection .Prices_Custom_DIV > div:first-child .retailsavings'); 3283 3284 let savings = parseFloat(e.saving); 3285 3286 if (!isNaN(savings) && savings > 0) { 3287 let retailprice = parseFloat(e.retailPrice.replace('.','').replace(',','.')); 3288 if (!retailpricecontainer.length) {
3289 retailpricecontainer = $('<div class="before"></div>'); 3290 $('.pricesection .Prices_Custom_DIV > div:first-child').prepend(retailpricecontainer); 3291 } 3292 retailpricecontainer.html(language('misc.retailprice')+' <strike data-before="'+retailprice.numberFormat(2)+'">'+retailprice.numberFormat(2)+'</strike>'); 3293 3294 3295 if (!retailsavingscontainer.length) { 3296 retailsavingscontainer = $('<div class="retailsavings"></div>'); 3297 $('.pricesection .Prices_Custom_DIV > div:first-child').append(retailsavingscontainer); 3298 } 3299 retailsavingscontainer.html(language('misc.save')+' <span class="totalsavings" content="'+savings.numberFormat(2)+'">'+savings.numberFormat(2)+' '+e.currency+'</span>'); 3300 3301 } 3302 else { 3303 retailpricecontainer.remove(); 3304 retailsavingscontainer.remove(); 3305 3306 3307 } 3308 3309 $('[itemprop="price"]').attr('content',price).html(e.price); 3310 3311 // let hld_stock_variants = e.hld_stock; 3312 // if (LanguageID !=1) {hld_stock_variants = 3;} 3313 var hld_stock_variants =3; 3314 3315 3316 if(e.ct > 0){ 3317 handleClubTrendyPrice(); 3318 } 3319 else{ 3320 $('.clubtrendyprice').remove(); 3321 } 3322 3323 3324 3325 let stockimage = '/images/skins/Bewise/images/icon-instock.svg'; 3326 //let stock = parseFloat(e.stock); 3327 // console.log("in variants"); 3328 let instock = true; 3329 if (e.stockIcon == 'stock-red.png') { 3330 instock = false; 3331 } 3332 // console.log(e.image_icon); 3333 // console.log(e.stockIcon); 3334 // console.log(instock ); 3335 //console.log(stock); 3336 if (!instock) { 3337 stockimage = '/images/skins/Bewise/images/icon-notinstock.svg'; 3338 $('.items-info .stockinfo').addClass('notinstock'); 3339 $('.notinstockemail').addClass('active'); 3340 $('#BUYSECTION').addClass('hidden'); 3341 $('.shippingcountdown').removeClass('active') 3342 } 3343 else { 3344 $('.items-info .stockinfo').removeClass('notinstock'); 3345 $('.notinstockemail').removeClass('active'); 3346 $('#BUYSECTION').removeClass('hidden'); 3347 $('.shippingcountdown').addClass('active') 3348 } 3349 $('.stockinfo img').attr('src',stockimage); 3350 console.log("show variant") 3351 console.log(e); 3352 //added 25.6.2024 3353 //if ((e.stockText.indexOf('15-18') !== -1 || e.stockText.indexOf('20-25')) !== -1) 3354 if ( 3355 ['15-18', '20-25', 'Bestil'].some(text => 3356 e.stockText.includes(text) 3357 ) 3358 ) 3359 { 3360 $('.items-info .stockinfo').removeClass('notinstock'); 3361 $('.items-info .stockinfo').addClass('lowstock'); 3362 $('.stockinfo img').attr('src','/images/skins/Bewise/images/icon-lowstock.svg'); 3363 $('.shippingcountdown').removeClass('active') 3364 3365 } 3366 else if (e.stockIcon == 'stock-red.png') { // ikke på lager 3367 $('.items-info .stockinfo').removeClass('lowstock'); 3368 stockimage = '/images/skins/Bewise/images/icon-notinstock.svg'; 3369 $('.items-info .stockinfo').addClass('notinstock'); 3370 $('.notinstockemail').addClass('active'); 3371 $('#BUYSECTION').addClass('hidden'); 3372 $('.stockinfo.notinstock .stockmessage').removeAttr('style'); 3373 $('.shippingcountdown').removeClass('active') 3374 3375 } 3376 else{ 3377 $('.shippingcountdown').addClass('active') 3378 $('.items-info .stockinfo').removeClass('notinstock'); 3379 $('.items-info .stockinfo').removeClass('lowstock'); 3380 3381 } 3382 //end of added 25.6.2024 3383 var now = new Date(); 3384 var day = now.getDay(); 3385 var hour = now.getHours(); 3386 3387 let dateForStatus = "" 3388 let d = new Date(); 3389 d.setDate(d.getDate() + 2); 3390 3391 let year = d.getFullYear() 3392 let month = String(d.getMonth() + 1) 3393 let dayForStatus = String(d.getDate()) 3394
3395 month = month.length == 1 ? 3396 month.padStart('2', '0') : month; 3397 3398 dayForStatus = dayForStatus.length == 1 ? 3399 dayForStatus.padStart('2', '0') : dayForStatus; 3400 3401 dateForStatus = `${dayForStatus}-${month}`; 3402 3403 if (day == 0) {day = 7;} 3404 3405 let lager_status_text_variant = e.stockText; 3406 var hour_for_timer = 16; 3407 if (day == 5 || day == 6) {hour_for_timer = 16;} 3408 if (day == 7) {hour_for_timer = 13;} 3409 3410 var timerText = ""; 3411 console.log("e show"); 3412 console.log(e); 3413 if (e.stock_nr == true && LanguageID == 1) { 3414 initShippingCountdown($('.productcard .shippingtime'),'productcard', shippingcountdownHldStock); 3415 } else { 3416 initShippingCountdown($('.productcard .shippingtime'),'productcard', shippingcountdown); 3417 timerText = $('.shippingcountdown.active i').text(); 3418 } 3419 3420 if (e.stock_nr == true && LanguageID == 1) { 3421 lager_status_text_variant="PÃ¥ lager - "+getShippingMessage(); 3422 } 3423 else if (e.stock > 0 && e.stock < 8000 && LanguageID == 1) { 3424 console.log(shippingcountdown); 3425 lager_status_text_variant="PÃ¥ lager - "+getShippingMessage(); 3426 // if (hour >=hour_for_timer) { 3427 // lager_status_text_variant = "PÃ¥ lager- Modtag din pakke "+dateForStatus; 3428 // if (day == 5 || day == 6) { 3429 // lager_status_text_variant = "PÃ¥ lager - Modtag din pakke pÃ¥ mandag"; 3430 // } 3431 // lager_status_text_variant='Pà LAGER - ' + timerText; 3432 // if (e.stockText.indexOf('5-10') !== -1) { 3433 // lager_status_text_variant = e.stockText; 3434 // } 3435 // } else { 3436 // lager_status_text_variant = "PÃ¥ lager â Levering i morgen <br class='show-for-small'>(bestil inden "+hour_for_timer+":00)"; 3437 // if (day == 6) { 3438 // lager_status_text_variant = "PÃ¥ lager - Modtag din pakke pÃ¥ mandag"; 3439 // } 3440 // lager_status_text_variant='Pà LAGER - ' + timerText; 3441 // if (e.stockText.indexOf('5-10') !== -1) { 3442 // lager_status_text_variant = e.stockText; 3443 // } 3444 // } 3445 } 3446 $('.stockinfo .stockmessage').html(lager_status_text_variant); 3447 3448 3449 console.log("e media"); 3450 console.log(e.media); 3451 3452 if (LanguageID == 37 || LanguageID == 3 || LanguageID == 1) { 3453 // console.log("promena console fi6"); 3454 // console.log(e); 3455 3456 3457 const stockCount = parseInt(e.stock_count); // automatski ignoriÅ¡e "+" 3458 3459 const newStockStatus = getProductStatus(e.productId, stockCount, e.dt); 3460 3461 console.log(newStockStatus); 3462 const container = $('.items-info'); // ili el, ako veÄ imaÅ¡ referencu 3463 3464 // container.find('.stock').html(newStockStatus.icon + newStockStatus.stockStatus.first + '. '); 3465 // container.find('.productnumber-prcard').html(newStockStatus.stockStatus.second); 3466 3467 /* 3468 container.find('.stock').html( 3469 newStockStatus.icon + 3470 newStockStatus.stockStatus.first + 3471 '.<br>' + 3472 newStockStatus.stockStatus.second 3473 ); 3474 */ 3475 3476 let stockText = newStockStatus.icon; 3477 3478 if (newStockStatus.stockStatus.first) { 3479 stockText += newStockStatus.stockStatus.first; 3480 } 3481 3482 // if (newStockStatus.stockStatus.first && newStockStatus.stockStatus.second) { 3483 // stockText += ".<br>"; 3484 // } 3485 3486 if (newStockStatus.stockStatus.second) { 3487 stockText += newStockStatus.stockStatus.second; 3488 } 3489 3490 container.find('.stock').html(stockText); 3491 3492 3493 const newColor = newStockStatus.color; 3494 const stockEl = container.find('.stock'); 3495 3496 const classList = (stockEl.attr('class') || '').split(/\s+/); 3497 const currentColorClass = classList.find(c => c.startsWith('color-')); 3498 3499 if (currentColorClass) { 3500 stockEl.removeClass(currentColorClass); 3501 } 3502 stockEl.addClass(`color-${newColor}`); 3503 } 3504 3505 let image = e.image.replace('-t.','.'); 3506 let popup = e.image.replace('-t.','-p.'); 3507 $('[itemprop="image"]').attr('alt',e.name).attr('src',image).parent('a').attr('data-caption',e.name).attr('href',popup); 3508 $('.thumbs').empty(); 3509 $.each(e.media, function (i,s) { 3510 if (image.indexOf(s) < 0) { 3511 let t = s.replace('.jpg','-t.jpg'); 3512 let p = s.replace('.jpg','-p.jpg'); 3513 $('.thumbs').append('<a data-caption="'+e.name+'" data-fancybox="image" href="'+p+'" title="'+e.name+'"><img width="80" height="80" alt="'+e.name+'" src="'+t+'"></a>'); 3514 } 3515 3516 }); 3517 3518 $.get('/pages/ro/proxy/product_description.asp?productID='+e.productId+'&LanguageID='+LanguageID,function(response) { 3519 //console.log(JSON.parse(response).html); 3520 let productdescription = JSON.parse(response).html; 3521 if (productdescription !== undefined) { 3522 3523 // OÄistimo ProductNumber od "-VAR" ako postoji 3524let cleanedProductNumber = ProductNumber.replace('-VAR', ''); 3525 3526// PronaÄi postojeÄi .h-productcard div (ukljuÄuje opcione atribute) 3527let hProductCardRegex = /<div class="h-productcard"(.*?)>([\s\S]*?)<\/div>/; 3528let match = productdescription.match(hProductCardRegex); 3529 3530// Podrazumevano nema dodatnog style-a 3531let styleAttr = ''; 3532 3533// Ako postoji stari div, uzmi style ako postoji 3534if (match) { 3535 let attrPart = match[1]; // deo sa atributima, npr. ' style="..."' 3536 let styleMatch = attrPart.match(/style="(.*?)"/); 3537 if (styleMatch) { 3538 styleAttr = ` style="${styleMatch[1]}"`; 3539 } 3540 3541 // Napravi novi div sa postojeÄim stilom 3542 let newHProductCard = ` 3543<div class="h-productcard"${styleAttr}> 3544 <span style="display:flex;gap:5px;align-items: center;"> 3545 Varenummer: 3546 <img alt="Varenummer" height="10" loading="lazy" src="/images/skins/Bewise/images/icon-barcode-black.svg" width="13"> 3547 <span content="${cleanedProductNumber}" itemprop="productid">${cleanedProductNumber}</span> 3548 </span> 3549</div>`; 3550 3551 // Zameni stari div novim 3552 productdescription = productdescription.replace(hProductCardRegex, newHProductCard); 3553 3554} else { 3555 // Ako nema h-productcard, samo dodaj novi div na kraj 3556 let newHProductCard = ` 3557<div class="h-productcard"> 3558 <span style="display:flex;gap:5px;align-items: center;"> 3559 Varenummer: 3560 <img alt="Varenummer" height="10" loading="lazy" src="/images/skins/Bewise/images/icon-barcode-black.svg" width="13"> 3561 <span content="${cleanedProductNumber}" itemprop="productid">${cleanedProductNumber}</span> 3562 </span> 3563</div>`; 3564 3565 productdescription += newHProductCard; 3566} 3567 3568 3569 var productCategoryLink = $('.productdescription').find('.productcategory').prop('outerHTML'); 3570 3571 3572 var fullContent = $('.productdescription').html(); 3573 3574 3575 var relatedSectionMatch = fullContent.match(new RegExp(`(<br>[^<]*?)\\s*${productCategoryLink}`)); 3576 3577 var relatedSection = ''; 3578 if (relatedSectionMatch) { 3579 relatedSection = relatedSectionMatch[1].trim() + ' ' + productCategoryLink; 3580 } 3581 3582 3583 3584 3585 $('.productdescription').html(` 3586 3587 ${productdescription} 3588 3589 ${relatedSection} 3590 `); 3591 3592 3593 3594 $('ul.tabs li').removeClass('active'); 3595 $('ul.tabs li:first').addClass('active'); 3596 $('.tab.productdescription').addClass('active'); 3597 3598 if ($('.productdescription').find('[itemprop="aggregateRating"]').length > 0) { 3599 3600 3601 $('.productcard a[href="#productreviews"]').on('click',function() { 3602 var hash = $(this).attr('href').split('#').pop(); 3603 scrollToElement(hash); 3604 3605 3606 3607 return false;
3608 }); 3609 3610 3611 console.log("ima aggregateRating"); 3612 $('li[name="productreviews"],.tab.reviewstab').remove(); 3613 if ($('ul.tabs').find('li[name="productreviews"]').length === 0) { 3614 // Dodajte novi li element sa dinamiÄkim tekstom 3615 $('ul.tabs').append(` 3616 <li name="productreviews"> 3617 ${language('product.reviewTab')} 3618 </li> 3619 `); 3620 console.log('Dodato: <li name="productreviews"> sa tekstom iz varijable.'); 3621 //TEMP 3622 $('.tabs > *').each(function(i,e) { 3623 let button = $(this); 3624 button.on('click',function() { 3625 $(this).parent().find('.active').removeClass('active'); 3626 $(this).addClass('active'); 3627 button.parent().nextAll('.tab.active').removeClass('active'); 3628 button.parent().nextAll('.tab').eq(i).addClass('active'); 3629 3630 if ($('.tabs [name="productreviews"].active').length) { 3631 loadAllProductReviews(e.productId,$('.reviewstab .revLine')); 3632 } 3633 3634 }); 3635 }); 3636 //TEMP 3637 } else { 3638 console.log('Element <li name="productreviews"> veÄ postoji.'); 3639 } 3640 //review tab 3641 if ($('.productcard-info').find('.reviewstab').length === 0) { 3642 3643 3644 var reviewTabHtml = ` 3645 <div class="tab reviewstab"> 3646 <div class="reviews"> 3647 <a href="#productreviews">${language('product.productreviews')}</a><i>|</i> 3648 <a href="/shop/external/pages/layout/submit_review.asp?id=${e.productId}&lang=${LanguageID}">${language('product.submit')}</a> 3649 </div> 3650 </div> 3651 `; 3652 $('.productcard-info .tab.productdescription').after(reviewTabHtml); 3653 3654 } else { 3655 console.log('Element sa klasom .reviewstab veÄ postoji.'); 3656 } 3657 3658 3659 3660 $('.reviews').prepend($('.revLine')); 3661 $('.tab.productdescription').append($('<div class="reviewsheader">'+$('li[name="productreviews"]').text()+'</div>'),$('.reviews').clone()) 3662 loadAllProductReviews(e.productId,$('.reviewstab .revLine')); 3663 } 3664 else { 3665 $('ul.tabs li').removeClass('active'); 3666 $('ul.tabs li:first').addClass('active'); 3667 $('.tab.productdescription').addClass('active'); 3668 console.log("nema aggregateRating"); 3669 $('li[name="productreviews"],.tab.reviewstab').remove(); 3670 3671 } 3672 3673 handleProductDescription(); 3674 } 3675 3676 }); 3677 3678 3679 UpdateBuyControls(); 3680 //NEW NEW product card START 3681 console.log(e); 3682 function getShippingMessageHCard() { 3683 const date = new Date(); 3684 const day = date.getDay(); // Sunday - Saturday : 0 - 6 3685 const hour = date.getHours(); 3686 const minutes = date.getMinutes(); 3687 3688 // Shipping countdown data 3689 // var shippingcountdownCustom = [ 3690 // {'day': 'Søndag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke pÃ¥ tirsdag - Bestil inden kl. 21:00 i morgen'}, 3691 // {'day': 'Mandag', 'time': '21:00', 'before': 'Modtag din pakke i morgen- Bestil før 21:00', 'after': 'Modtag din pakke pÃ¥ onsdag - Be
3691stil inden kl. 21:00 i morgen'}, 3692 // {'day': 'Tirsdag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på torsdag - Bestil inden kl. 21:00 i morgen'}, 3693 // {'day': 'Onsdag', 'time': '21:00', 'before': 'Modtag din pakke på fredag - Bestil før 21:00', 'after': 'Modtag din pakke på fredag - Bestil inden kl. 21:00 i morgen'}, 3694 // {'day': 'Torsdag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på lørdag - Bestil inden kl. 21:00 i morgen'}, 3695 // {'day': 'Fredag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på søndag - Bestil inden kl. 21:00 i morgen'}, 3696 // {'day': 'Lørdag', 'time': '21:00', 'before': 'Modtag din pakke på mandag - Bestil før 21:00', 'after': 'Modtag din pakke på mandag - Bestil inden kl. 21:00 i morgen'} 3697 3698 // ]; 3699 // Get the current day object from the array 3700 const currentDay = shippingcountdownCustom[day]; 3701 3702 // Convert the cutoff time to hours and minutes 3703 const cutoffHour = parseInt(currentDay.time.split(":")[0]); 3704 const cutoffMinutes = parseInt(currentDay.time.split(":")[1]); 3705 3706 // Determine if the current time is before or after the cutoff time 3707 let message; 3708 if (hour < cutoffHour || (hour === cutoffHour && minutes < cutoffMinutes)) { 3709 message = currentDay.before; 3710 } else { 3711 message = currentDay.after; 3712 } 3713 3714 return message; 3715 } 3716 function removeOrange() { 3717 $(".lager-product-text-left .lager-product-text-box").removeClass("orange-lager"); 3718 $(".lager-product-text-left .lager-product-text-text-wrapper").removeClass("orange-pr-dk"); 3719 } 3720 3721 function addOrange() { 3722 $(".lager-product-text-left .lager-product-text-box").addClass("orange-lager"); 3723 $(".lager-product-text-left .lager-product-text-text-wrapper").addClass("orange-pr-dk"); 3724 } 3725 3726 function removeRed() { 3727 $(".lager-product-text-left .lager-product-text-box").removeClass("no-lager"); 3728 $(".lager-product-text-left .lager-product-text-text-wrapper").removeClass("no-lager-pr-dk"); 3729 } 3730 3731 function addRed() { 3732 $(".lager-product-text-left .lager-product-text-box").addClass("no-lager"); 3733 $(".lager-product-text-left .lager-product-text-text-wrapper").addClass("no-lager-pr-dk"); 3734 } 3735 let $productElipse = $(".product-lager-elipse"); 3736 let $textLabel = $(".lager-product-text-label"); 3737 var $cartCountdownUpper = $( 3738 ".cart-countdown-next-to-package-upper" 3739 ); 3740 var instockNew = true; 3741 var noLager = false; 3742 var lager_status_text = e.stockText; 3743 var $lagerProduct = $(".lager-product-only-lager"); 3744 3745 console.log("instockNew" + e.stockIcon); 3746 if ((e.stockText.indexOf("15-18") !== -1 || e.stockText.indexOf("20-25")) !== -1 ||e.stockText.indexOf("5-10") !== -1 ||e.stockText.indexOf("Bestilt") !== -1) { 3747 //adding orange icon before lager status 3748 console.log("in 15-18"); 3749 addOrange(); 3750 removeRed(); 3751 $(".lager-product-only-lager").removeClass("no-lager"); 3752 $(".lager-product-text-label .lager-product-text-text-wrapper").html("På fjernlager"); 3753 lager_status_text = lager_status_text.replace("På fjernlager.", "").replace("<br>", ""); 3754 instockNew = false;
3755 console.log("instockNew false1"); 3756 noLager = false; 3757 $(".postnr_a").hide(); 3758 3759 } else if (e.stockIcon == "stock-red.png") { 3760 console.log("instockNew false"); 3761 instockNew = false; 3762 noLager = true; 3763 removeOrange(); 3764 addRed(); 3765 3766 $( ".lager-product-text-label .lager-product-text-text-wrapper").html("Ikke pÃ¥ lager"); 3767 $(".delivery-product-cart-countdown").css("display", "none"); 3768 3769 3770 // Add the no-lager class 3771 $lagerProduct.addClass("no-lager"); 3772 3773 3774 } else { 3775 console.log("instockNew false3"); 3776 $(".delivery-product-cart-countdown").show(); 3777 let stockCount = e.stock_count; 3778 noLager = false; 3779 instockNew = false; 3780 3781 removeOrange(); 3782 removeRed(); 3783 $(".lager-product-only-lager").removeClass("no-lager"); 3784 $(".lager-product-text-label .lager-product-text-text-wrapper" ).html(`PÃ¥ lager (${stockCount})`); 3785 console.log("in succ"); 3786 $productElipse.html('<div class="lager-product-text-box"></div>'); 3787 console.log(e); 3788 if (e.stock_nr==true && LanguageID == 1) { 3789 console.log("e.stock_nr==true"); 3790 instockNew = true; 3791 $textLabel.html( 3792 `<div class="lager-product-text-text-wrapper">PÃ¥ lager (${stockCount})</div>` 3793 ); 3794 console.log(getShippingMessageHCard()); 3795 lager_status_text = getShippingMessageHCard(); 3796 3797 } 3798 else if(e.stock>0 && LanguageID == 1){ 3799 console.log("e.stock"); 3800 instockNew = true; 3801 3802 lager_status_text = getShippingMessageHCard(); 3803 } 3804 else{ 3805 instockNew = true; 3806 } 3807 if(e.stockText.indexOf('Bestilt') !== -1){ 3808 lager_status_text = lager_status_text.replace('Bestilt.',''); 3809 $(".lager-product-text-label .lager-product-text-text-wrapper").html(`Bestilt`); 3810 3811 } 3812 // Replace occurrences of "i dag" and "i morgen" with the span-wrapped versions 3813 //lager_status_text = lager_status_text.replace(/(i dag|i morgen)/g, '<span style="color: #00a8ff;"> $1 </span>'); 3814 } 3815 console.log(lager_status_text); 3816 $(".cart-countdown-next-to-package-upper").html( 3817 ` <span class="cart-countdown-text-wrapper">${lager_status_text}</span>` 3818 ); 3819 if (noLager) { 3820 // Proveri da li veÄ postoji div sa istim klasama i tekstom posle $lagerProduct 3821 var existingDiv = $lagerProduct.next('.lager-product-text-text-wrapper.no-lager-pr-dk.under-text'); 3822 3823 if (existingDiv.length === 0 || existingDiv.text().trim() !== 'Ubekræftet leveringsdato') { 3824 // Ako ne postoji, dodaj novi div 3825 var newDiv = $( 3826 '<div class="lager-product-text-text-wrapper no-lager-pr-dk under-text">Ubekræftet leveringsdato</div>' 3827 ); 3828 3829 $lagerProduct.after(newDiv); 3830 } 3831 } else { 3832 $( 3833 ".lager-product-text-text-wrapper.no-lager-pr-dk.under-text" 3834 ).remove(); 3835 } 3836 if (instockNew) { 3837 console.log("instockNew"); 3838 $(".shippingcountdown").addClass("active"); 3839 $(".notinstockemail").removeClass("active"); 3840 $("#BUYSECTION").removeClass("hidden"); 3841 } else { 3842 console.log("instockNew 2"); 3843 $(".shippingcountdown").removeClass("active"); 3844 3845 $(".notinstockemail").addClass("active"); 3846 $("#BUYSECTION").addClass("hidden"); 3847 } 3848 //NEW NEW product card END 3849 3850 } 3851 }); 3852 3853 } 3854 3855 3856} 3857function openAside(type) { 3858 $('body').addClass('noscroll'); 3859 3860 $('aside > .active').removeClass('active'); 3861 if (type == 'menu') { 3862 3863 if (!$('#ProductMenu_List > li.allcategories').length) { 3864 console.log($('li.show-categories > a').text()); 3865 let allcatsa = $('li.show-categories > a'); 3866 let allcatsurl = allcatsa.attr('href'); 3867 let allcatstitle = allcatsa.attr('title'); 3868 console.log(allcatstitle); 3869 let allcategoriesli = '<li class="allcategories show-for-small"><a href="'+allcatsurl+'">'+allcatstitle+'</a></li>'; 3870 $('#ProductMenu_List').prepend(allcategoriesli); 3871 } 3872 3873 3874 $('aside #ProductmenuContainer_DIV').addClass('active') 3875 } 3876 else if (type == 'filter') { 3877 $('aside .productfilter').addClass('active'); 3878 } 3879 3880 $('aside').addClass('active'); 3881} 3882function closeAside() { 3883 $('aside').removeClass('active'); 3884 $('body').removeClass('noscroll'); 3885} 3886function calcProductPrice() { 3887 3888 let amountinput = $('#BUYSECTION input[type="number"]'); 3889 let productamount = parseFloat(amountinput.val()); 3890 if (isNaN(productamount) || productamount <= 0) { 3891 productamount = 1; 3892 } 3893 let pricecontainer = $('.Prices_Custom_DIV [itemprop="price"]'); 3894 let savingscontainer = $('.Prices_Custom_DIV > div:first-child .totalsavings'); 3895 let totalprice = parseFloat(pricecontainer.attr('content')) * productamount; 3896 let totalsavings = 0; 3897 if (savingscontainer.length) { 3898 totalsavings = parseFloat(savingscontainer.attr('content').replace('.','').replace(',','.')) * productamount; 3899 } 3900 3901 $('.Related_Custom_DIV input:checked').each(function() { 3902 let product = $(this).closest('.product'); 3903 let price = parseFloat(product.data('price')); 3904 let beforestring = $.trim(product.find('[data-before]').data('before')); 3905 if (beforestring !== '') { 3906 let savings = parseFloat(product.find('[data-before]').data('before').replace('.','').replace(',','.') - price); 3907 if (!isNaN(savings)) { 3908 totalsavings += savings; 3909 } 3910 } 3911 3912 totalprice += price; 3913 3914 }); 3915 3916 pricecontainer.html(totalprice.numberFormat(2)); 3917 3918 let totalctprice = totalprice - (totalprice * ctdecimal); 3919 if (!isNaN(totalctprice)) { 3920 $('.productcard .ctprice').html(totalctprice.numberFormat(2)); 3921 } 3922 3923 if (!isNaN(totalsavings) && totalsavings > 0) { 3924 savingscontainer.html(totalsavings.numberFormat(2)); 3925 } 3926 3927 updateStickyPrice(); 3928} 3929function loadRememberToBuy(catnumber,addamount) { 3930 3931 if (addamount == undefined) { 3932 addamount = 6; 3933 } 3934 if(LanguageID==3){ 3935 var relatedUrl='https://api2.mytrendyphone.dk/api-new?&instock=1&excludedFilters=case_size&shop='+LanguageID+'&categoryType=all&category='+catnumber+`&shortfilters=1&perpage=7` 3936 } 3937 else{ 3938 var relatedUrl='https://api2.mytrendyphone.dk/api-new?&instock=1&excludedFilters=case_size&shop='+LanguageID+'&categoryType=all&category='+catnumber+`&shortfilters=1&perpage=3` 3939 3940 } 3941 $.get(relatedUrl,function(response) { 3942 if (response !== 'no results') { 3943 let products = response.products; 3944 if (products.length) { 3945 let relatedproductsfound = 0; 3946 3947 let relatedcontainer = $('#productcardrecommendations .Related_Custom_DIV'); 3948 if (!relatedcontainer.length) {
3949 relatedcontainer = $('<div class="Related_Custom_DIV"></div>'); 3950 $('#productcardrecommendations').append(relatedcontainer); 3951 } 3952 3953 $.each(products, function (i,e) { 3954 //console.log(e); 3955 if (e.primary_id !== ProductNumber && e.primary_id !== ProductVariantMasterID && relatedproductsfound < addamount) { 3956 relatedproductsfound += 1; 3957 let relateditemprice = parseFloat(e.price.replace('.','').replace(',','.')); 3958 3959 relatedcontainer.append('<div><div class="product" data-id="'+e.primary_id+'" data-price="'+relateditemprice+'"><input id="rtb'+e.primary_id+'" type="checkbox" class="remembertobuyproduct" value=""><a class="image" href="'+e.product_url+'"><img alt="'+e.product_name+'" height="60" loading="lazy" src="'+e.image_url+'" width="60"></a><a class="name" href="'+e.product_url+'"><label for="rtb'+e.primary_id+'">'+e.product_name+'</label></a><div class="price">'+relateditemprice.numberFormat(2)+' '+e.currency+'</div></div></div>'); 3960 } 3961 3962 }); 3963 3964 initRememberToBuy(); 3965 } 3966 if(products.length>=3 && LanguageID == 3){ 3967 toggleMoreProd(); 3968 } 3969 function toggleMoreProd() { 3970 var relatedClone = $('.Related_Custom_DIV').clone(); 3971 relatedClone.addClass("toggle"); 3972 $('.Related_Custom_DIV').after(relatedClone); 3973 $(".Related_Custom_DIV.toggle").append('<span class="last-for-fade"></span>'); 3974 $(".Related_Custom_DIV.toggle").after('<button class="show-more-btn">'+'Vis mer'+'</button>'); 3975 3976 $(".show-more-btn").click(function () { 3977 event.preventDefault(); 3978 var $relatedDiv = $(".Related_Custom_DIV.toggle"); 3979 var $displayAllDivs = $(".Related_Custom_DIV.toggle > div"); 3980 var $lastForFade = $(".last-for-fade"); 3981 if ($relatedDiv.css("max-height") === "100%") { 3982 // Show less functionality 3983 $relatedDiv.css("max-height", "177px"); 3984 $lastForFade.css("display", "block"); 3985 $(this).text('Vis mer'); 3986 } else { 3987 // Show more functionality 3988 $relatedDiv.css("max-height", "100%"); 3989 $lastForFade.css("display", "none"); 3990 $displayAllDivs.css("display", "block"); 3991 $(this).text('Vis mindre'); 3992 } 3993 }); 3994 $(".Related_Custom_DIV:first").addClass("original"); 3995 3996 // if ($(".Related_Custom_DIV.toggle")[0]){ 3997 // $(".Related_Custom_DIV").hide(); 3998 // $(".Related_Custom_DIV.toggle, .Related_Custom_DIV.toggle>div, .last-for-fade, .show-more-btn").show(); 3999 // } 4000 } 4001 } 4002 4003 }); 4004} 4005function initRememberToBuy () { 4006 4007 $('#productcardrecommendations').addClass('active'); 4008 4009 $('input.remembertobuyproduct').on('change',function() { 4010 if ($('.Related_Custom_DIV input:checked').length) { 4011 $('#BUYSECTION input[type="submit"]').addClass('hasremembertobuy'); 4012 } 4013 else { 4014 $('#BUYSECTION input[type="submit"]').removeClass('hasremembertobuy'); 4015 } 4016 4017 calcProductPrice(); 4018 }); 4019 4020 $('#BUYSECTION input[type="submit"]').on('click',function(e) { 4021 4022 e.preventDefault(); 4023 4024 let button = $(this); 4025 var form = button.closest('form'); 4026 4027 if (button.hasClass('hasremembertobuy') && canBuy) { 4028 var productsstring = ''; 4029 var quantitystring = ''; 4030 let checkedinputs = $('.Related_Custom_DIV input:checked'); 4031 checkedinputs.each(function(i,e) { 4032 let id = $.trim($(this).closest('.product').data('id')); 4033 productsstring += id; 4034 quantitystring += 1; 4035 if (i+1 < checkedinputs.length) { 4036 productsstring += '|' 4037 quantitystring += '|' 4038 } 4039 }); 4040 4041 if (productsstring !== '') { 4042 button.addClass('loading'); 4043 button.prop('disabled',true); 4044 4045 $.get('/shop/showbasket.html?AddMultiple=1&ProductID=' + productsstring + '&Amount=' + quantitystring,function() { 4046 form.submit(); 4047 }); 4048 4049 } 4050 else { 4051 form.submit(); 4052 } 4053 } 4054 else { 4055 4056 form.submit(); 4057 4058 } 4059 4060 }); 4061 4062 4063} 4064$(document).ready(function() { 4065 4066if (typeof catNovId !== 'undefined' && catNovId == "922865") { 4067 console.log("in if"); 4068 if(!ismobile) { 4069 scrollToElement('scrollToThisElement', 'default', 50); 4070 } 4071}}); 4072 4073function scrollToElement(name,type,topoffset) { 4074 4075 if (type == undefined) { 4076 type = 'default'; 4077 } 4078 4079 if (topoffset == undefined) { 4080 topoffset = 150; 4081 if (ismobile) { 4082 topoffset = 70; 4083 } 4084 } 4085 4086 var item = $('.maincontent [name="'+name+'"]'); 4087 if (!item.length) { 4088 item = $('.maincontent a[id="'+name+'"]'); 4089 } 4090 4091 if (type == 'fancybox') { 4092 item = $('.fancybox__container [name="'+name+'"]'); 4093 } 4094 4095 4096 if (name instanceof jQuery){ 4097 item = name; 4098 } 4099 4100 4101 if (item.length) { 4102 if (item.parent().hasClass('tabs')) { 4103 item.click(); 4104 } 4105 4106 if (type == 'fancybox') { 4107 item.closest('.fancybox__slide').animate({ 4108 scrollTop: item.offset().top - topoffset 4109 }, 1000); 4110 } 4111 else if (type == 'search') { 4112 $([document.documentElement, document.body]).animate({ 4113 //scrollTop: item.offset().top - $('.search-infobar').offset().top 4114 scrollTop: 0 4115 }, 1000); 4116 } 4117 else { 4118 $([document.documentElement, document.body]).animate({ 4119 scrollTop: item.offset().top - topoffset 4120 }, 1000); 4121 } 4122 4123 4124 } 4125} 4126function createRatingStars(element,rating) { 4127 if (element !== undefined && !isNaN(rating)) { 4128 if (!isNaN(rating)) { 4129 4130 rating = Math.round(rating*2)/2; 4131 var rounded = Math.floor(rating); 4132 for (let i = 0; i < rounded; i++) { 4133 element.children().eq(i).attr('src','/images/skins/Bewise/images/icon-rating-star.svg'); 4134 4135 4136 if (i+1 == rounded && rating.toString().indexOf('.') !== -1) { 4137 element.children().eq(i+1).attr('src','/images/skins/Bewise/images/icon-rating-star-half.svg'); 4138 } 4139 } 4140 4141 } 4142 } 4143 4144} 4145function handleDyContainer(element) { 4146 4147 4148 if (element !== undefined && element.length) { 4149 element.closest('.placeholder').removeClass('placeholder'); 4150 4151 if (element.parent('#customersalsoboughtrecommendations').length) { // also bought productcard 4152 4153 console.log('yes'); 4154 element.slick({ 4155 infinite: true, 4156 slidesToShow: 2, 4157 slidesToScroll: 1, 4158 autoplay: false, 4159 arrows: true, 4160 rows: 2, 4161 autoplaySpeed: 4000, 4162 swipeToSlide: true, 4163 responsive: [{ 4164 breakpoint: 1200, 4165 settings: { 4166 slidesToShow: 1 4167 } 4168 }] 4169 }); 4170 } 4171 else if (element.attr('id') == 'dy-recommendations-100796775' || 4172 element.closest('#showbasketrecommendations').length || 4173 element.hasClass('customslider') 4174 ) { // show basket 4175 element.slick({ 4176 infinite: true, 4177 slidesToShow: 5, 4178 slidesToScroll: 1, 4179 autoplay: true, 4180 arrows: true, 4181 autoplaySpeed: 4000, 4182 swipeToSlide: true, 4183 responsive: [{ 4184 breakpoint: 949, 4185 settings: { 4186 slidesToShow: 2 4187 } 4188 }] 4189 }); 4190 } 4191 else if (element.attr('id') == 'dy-recommendations-100796530' || element.hasClass('Frontpage_Custom_UL')) { // frontpage best sellers 4192 4193 element.slick({ 4194 infinite: true, 4195 slidesToShow: 5, 4196 slidesToScroll: 1, 4197 autoplay: true, 4198 arrows: true, 4199 autoplaySpeed: 4000, 4200 swipeToSlide: true, 4201 responsive: [{ 4202 breakpoint: 949, 4203 settings: { 4204 slidesToShow: 2 4205 } 4206 }] 4207 }); 4208 4209 4210 } 4211 else if (element.hasClass('popuprecommendations')) { // buypopup recommendations 4212 4213 element.slick({ 4214 infinite: true, 4215 slidesToShow: 6, 4216 slidesToScroll: 1, 4217 autoplay: false, 4218 arrows: true, 4219 autoplaySpeed: 4000, 4220 swipeToSlide: true, 4221 responsive: [{ 4222 breakpoint: 949, 4223 settings: { 4224 slidesToShow: 2 4225 } 4226 }] 4227 }); 4228 4229 4230 } 4231 else if (element.hasClass('lastviewedproducts')) { // last viewed 4232 4233 element.slick({ 4234 infinite: true, 4235 slidesToShow: 5, 4236 slidesToScroll: 1, 4237 autoplay: false, 4238 arrows: true, 4239 autoplaySpeed: 4000, 4240 swipeToSlide: true, 4241 responsive: [{ 4242 breakpoint: 949, 4243 settings: { 4244 slidesToShow: 4 4245 } 4246 }, 4247 { 4248 breakpoint: 600, 4249 settings: { 4250 slidesToShow: 2 4251 } 4252 }] 4253 }); 4254 4255 } 4256 4257 } 4258} 4259function updateStickyPrice() { 4260 if ($('.stickybuy').length) { 4261 let pricesdiv = $('.productcard .Prices_Custom_DIV').clone(); 4262 $('.stickybuyprices').empty().append(pricesdiv); 4263 4264 $('.stickybuy > input').val($('#BUYSECTION input[type="number"]').val()); 4265 } 4266 4267} 4268function loadSubcatsToSelect(categoryid,element,gotourl,firstload) { 4269 4270 if (gotourl == undefined || gotourl == '') { 4271 gotourl = false;
4272 } 4273 4274 if (firstload == undefined) { 4275 firstload = false; 4276 } 4277 4278 4279 element.parent().addClass('loading'); 4280 $.ajax({ 4281 url: "/_do/categories_menu.asp?shop="+LanguageID+"&parent="+categoryid, 4282 success: function(result){ 4283 4284 if (result.length) { 4285 element.children('option:nth-child(n+2)').remove(); 4286 for (let i = 0; i < result.length; i++) { 4287 let name = result[i].name; 4288 if (name.indexOf('separatorCategory') == -1) { 4289 let value = result[i].ddId; 4290 if (gotourl) { 4291 value = result[i].url; 4292 } 4293 4294 if (firstload) { 4295 name = name.replace(' tilbehør',''); 4296 } 4297 4298 element.append('<option value="'+value+'">'+name+'</option>'); 4299 } 4300 else if (firstload) { 4301 break; 4302 } 4303 } 4304 element.children('option').eq(0).attr('selected',true); 4305 element.parent().removeClass('loading'); 4306 element.prop('disabled',false); 4307 } 4308 4309 } 4310 }); 4311} 4312 4313function lastViewed() { 4314 let products = sessionStorage.getItem('lastviewed'); 4315 if (ProductNumber !== '') { // card 4316 4317 if (products == null) { 4318 sessionStorage.setItem('lastviewed',JSON.stringify([ProductNumber])); 4319 } 4320 else { 4321 products = JSON.parse(products); 4322 if ($.inArray(ProductNumber,products) < 0) { // add new product 4323 products.push(ProductNumber); 4324 sessionStorage.setItem('lastviewed',JSON.stringify(products)); 4325 } 4326 4327 } 4328 4329 } 4330 4331 4332 // show lastviewed 4333 if (products !== null) { 4334 if (!products.length) { 4335 products = JSON.parse(products); 4336 } 4337 else if (products.length && !$.isArray(products)) { 4338 products = JSON.parse(products); 4339 } 4340 4341 4342 //if (products.length > 1) { 4343 if (products.length > 0) { 4344 products.reverse(); 4345 let productidsstr = ''; 4346 4347 products = $.grep(products, function(value) { 4348 return value !== ProductNumber; 4349 }); 4350 4351 for(let i=0;i<products.length;i++){ 4352 if (products[i] !== ProductNumber) { 4353 productidsstr += products[i]; 4354 if (products[i+1] !== undefined) { 4355 productidsstr += ','; 4356 } 4357 } 4358 4359 } 4360 if (productidsstr !== '') { 4361 $.ajax({ 4362 type: "GET", 4363 url: "/_do/list.asp?product="+productidsstr+'&shop='+LanguageID, 4364 async: true, 4365 cache: false, 4366 success: function(response) { 4367 if (response !== undefined && response.results.length) { 4368 let items = response.results; 4369 //console.log(items); 4370 // build products 4371 let lastviewedcontainer = $('.lastviewedcontainer'); 4372 if (!lastviewedcontainer.length) {
4373 lastviewedcontainer = $('<div class="lastviewedcontainer"></div>'); 4374 $('footer').before(lastviewedcontainer); 4375 } 4376 4377 let lastviewedproducts = $('<ul class="ProductList_Custom_UL lastviewedproducts"></ul>'); 4378 4379 $.each(items, function (i,e) { 4380 //console.log(e); 4381 4382 let li = $('<li></li>'); 4383 let product = $('<div class="product"></div>'); 4384 product.append('<div class="name"><a href="'+e.url+'">'+e.title+'</a></div>'); 4385 product.append('<div class="image"><a href="'+e.url+'"><img loading="lazy" width="120" height="120" alt="'+e.title+'" src="'+e.image+'" /></a></div>') 4386 product.append('<div class="price"><ul class="Prices_Custom_UL"><li><div class="actual">'+e.price+'<span class="currency">'+e.currency+'</span></div></li></ul></div>'); 4387 4388 let remove = $('<img class="remove" widht="14" height="14" alt="X" loading="lazy" data-id="'+e.productid+'" src="/images/skins/Bewise/images/icon-close-white.svg" />'); 4389 remove.on('click',function() { 4390 $(this).attr('data-id'); 4391 let id = $(this).attr('data-id'); 4392 let lastviewedarr = JSON.parse(sessionStorage.getItem('lastviewed')); 4393 4394 lastviewedarr = $.grep(lastviewedarr, function(value) { 4395 return value !== id; 4396 }); 4397 sessionStorage.setItem('lastviewed',JSON.stringify(lastviewedarr)); 4398 4399 //console.log(remove.closest('ul').find('.product').length); 4400 if (remove.closest('ul').find('.product').length == 1) { 4401 remove.closest('.lastviewedcontainer').remove(); 4402 } 4403 else { 4404 remove.closest('li').remove(); 4405 } 4406 4407 4408 4409 }); 4410 product.append(remove); 4411 4412 li.append(product); 4413 lastviewedproducts.append(li); 4414 4415 }); 4416 4417 4418 lastviewedcontainer.append('<div class="headline">'+language('misc.lastviewed')+'</div>',lastviewedproducts); 4419 handleDyContainer(lastviewedproducts); 4420 } 4421 4422 4423 4424 } 4425 }); 4426 } 4427 4428 4429 } 4430 4431 } 4432 4433} 4434 4435function checkreferrer() { 4436 checkReferrer(); 4437} 4438function checkReferrer () { 4439 let acceptedreferrers = ["mytrendyphone", "mobile24", "meintrendyhandy", "itasker"]; 4440 let accepted = false; 4441 4442 for (let i = 0; i < acceptedreferrers.length; i++) { 4443 4444 if (document.referrer.indexOf(acceptedreferrers[i]) !== -1) { 4445 accepted = true; 4446 break 4447 } 4448 } 4449 4450 4451 //if (accepted && location.href.indexOf('showbasket.html') < 0) { 4452 if (accepted || location.href.indexOf('showbasket.html') > 0) { 4453 location.href = document.referrer; 4454 } 4455 else { 4456 location.href = '/shop/frontpage.html'; 4457 } 4458 4459 4460 return false 4461 4462} 4463 4464function initShippingCountdown(element,type,timerData) { 4465 if (type == undefined ||Â type == 'buypopup') { 4466 type = 'default'; 4467 } 4468 if (timerData == undefined) { 4469 timerData = shippingcountdown; 4470 } 4471 4472 //$.get('/images/skins/Bewise/asp/time.asp',function(servertime) { 4473 4474 var now = new Date(); 4475 var tomorrow = new Date(); 4476 var overmorrow = new Date(); 4477 var overovermorrow = new Date(); 4478 var overoverovermorrow = new Date(); 4479 var overoveroverovermorrow = new Date(); 4480 4481 tomorrow.setDate(tomorrow.getDate() + 1); 4482 overmorrow.setDate(overmorrow.getDate() + 2); 4483 overovermorrow.setDate(overovermorrow.getDate() + 3); 4484 overoverovermorrow.setDate(overoverovermorrow.getDate() + 4); 4485 overoveroverovermorrow.setDate(overoveroverovermorrow.getDate() + 5); 4486 4487 var day = now.getDay(); 4488 if (day == 0) {day = 7;} 4489 let yesterday = day-1; 4490 4491 let todayobject = timerData[yesterday]; 4492 let tomorrowobject = timerData[day]; 4493 let overmorrowobject = timerData[day+1]; 4494 let overovermorrowobject = timerData[day+2]; 4495 let overoverovermorrowobject = timerData[day+3]; 4496 let overoveroverovermorrowobject = timerData[day+4]; 4497 4498 if (day == 7) { 4499 tomorrowobject = timerData[0]; 4500 overmorrowobject = timerData[1]; 4501 overovermorrowobject = timerData[2]; 4502 overoverovermorrowobject = timerData[3]; 4503 overoveroverovermorrowobject = timerData[4]; 4504 } 4505 4506 if (day == 6) { 4507 overmorrowobject = timerData[0]; 4508 overovermorrowobject = timerData[1]; 4509 overoverovermorrowobject = timerData[2]; 4510 overoveroverovermorrowobject = timerData[3]; 4511 } 4512 4513 if (day == 5) { 4514 overovermorrowobject = timerData[0]; 4515 overoverovermorrowobject = timerData[1]; 4516 overoveroverovermorrowobject = timerData[2]; 4517 } 4518 4519 if (day == 4) { 4520 overoverovermorrowobject = timerData[0]; 4521 overoveroverovermorrowobject = timerData[1]; 4522 } 4523 4524 if (day == 3) { 4525 overoveroverovermorrowobject = timerData[0]; 4526 } 4527 4528 // split date today 4529 let dd = String(now.getDate()). padStart(2, '0');
4530 let mm = String(now.getMonth() + 1). padStart(2, '0'); 4531 let yyyy = now.getFullYear(); 4532 4533 // split date tomrrow 4534 let tdd = String(tomorrow.getDate()). padStart(2, '0'); 4535 let tmm = String(tomorrow.getMonth() + 1). padStart(2, '0'); 4536 let tyyyy = tomorrow.getFullYear(); 4537 4538 // split date overmorrow 4539 let odd = String(overmorrow.getDate()). padStart(2, '0'); 4540 let omm = String(overmorrow.getMonth() + 1). padStart(2, '0'); 4541 let oyyyy = overmorrow.getFullYear(); 4542 4543 // split date overovermorrow 4544 let oodd = String(overovermorrow.getDate()). padStart(2, '0'); 4545 let oomm = String(overovermorrow.getMonth() + 1). padStart(2, '0'); 4546 let ooyyyy = overovermorrow.getFullYear(); 4547 4548 // split date overoverovermorrow 4549 let ooodd = String(overoverovermorrow.getDate()). padStart(2, '0'); 4550 let ooomm = String(overoverovermorrow.getMonth() + 1). padStart(2, '0'); 4551 let oooyyyy = overoverovermorrow.getFullYear(); 4552 4553 // split date overoveroverovermorrow 4554 let oooodd = String(overoveroverovermorrow.getDate()). padStart(2, '0'); 4555 let oooomm = String(overoveroverovermorrow.getMonth() + 1). padStart(2, '0'); 4556 let oooooyyyy = overoveroverovermorrow.getFullYear(); 4557 4558 if(todayobject.time.includes(':')) { 4559 var deadlinetoday = new Date(mm + '/' + dd + '/' + yyyy + ' ' + todayobject.time.split(':')[0] + ':' + todayobject.time.split(':')[1]); 4560 } else { 4561 var deadlinetoday = null; 4562 } 4563 var deadlinetomrorrow = new Date(tmm + '/' + tdd + '/' + tyyyy + ' ' + tomorrowobject.time.split(':')[0] + ':' + tomorrowobject.time.split(':')[1]); 4564 if (overmorrowobject.time.includes(':')) { 4565 var deadlineovermorrow = new Date(omm + '/' + odd + '/' + oyyyy + ' ' + overmorrowobject.time.split(':')[0] + ':' + overmorrowobject.time.split(':')[1]); 4566 } else { 4567 var deadlineovermorrow = null; 4568 } 4569 if (overovermorrowobject.time.includes(':')) { 4570 var deadlineoverovermorrow = new Date(oomm + '/' + oodd + '/' + ooyyyy + ' ' + overovermorrowobject.time.split(':')[0] + ':' + overovermorrowobject.time.split(':')[1]); 4571 } else { 4572 var deadlineoverovermorrow = null; 4573 } 4574 if (overoverovermorrowobject.time.includes(':')) { 4575 var deadlineoveroverovermorrow = new Date(ooomm + '/' + ooodd + '/' + oooyyyy + ' ' + overoverovermorrowobject.time.split(':')[0] + ':' + overoverovermorrowobject.time.split(':')[1]); 4576 } else { 4577 var deadlineoveroverovermorrow = null; 4578 } 4579 if (overoveroverovermorrowobject.time.includes(':')) { 4580 var deadlineoveroveroverovermorrow = new Date(oooomm + '/' + oooodd + '/' + oooooyyyy + ' ' + overoveroverovermorrowobject.time.split(':')[0] + ':' + overoveroverovermorrowobject.time.split(':')[1]); 4581 } else { 4582 var deadlineoveroveroverovermorrow = null; 4583 } 4584 4585 4586 var deadline; 4587 var countdowncontent; 4588 4589 if (isValidDate(deadlinetoday) && now < deadlinetoday) { 4590 deadline = deadlinetoday; 4591 countdowncontent = todayobject.before; 4592 } else if (isValidDate(deadlinetomrorrow) && now < deadlinetomrorrow) { 4593 deadline = deadlinetomrorrow; 4594 countdowncontent = todayobject.after; 4595 } else if (isValidDate(deadlineovermorrow) && now < deadlineovermorrow) { 4596 deadline = deadlineovermorrow; 4597 countdowncontent = todayobject.after; 4598 } else if (isValidDate(deadlineoverovermorrow) && now < deadlineoverovermorrow) { 4599 deadline = deadlineoverovermorrow; 4600 countdowncontent = todayobject.after; 4601 } else if (isValidDate(deadlineoveroverovermorrow) && now < deadlineoveroverovermorrow) { 4602 deadline = deadlineoveroverovermorrow; 4603 countdowncontent = todayobject.after; 4604 } else if (isValidDate(deadlineoveroveroverovermorrow) && now < deadlineoveroveroverovermorrow) { 4605 deadline = deadlineoveroveroverovermorrow; 4606 countdowncontent = todayobject.after; 4607 } else { 4608 activeCountdown = false;
4609 } 4610 4611 4612 if (window.location.href.indexOf('?bewise=1') > -1) { 4613 let message = checkMessagePeriod(messages); 4614 4615 if (message) { 4616 deadline = parseDate(message.end); 4617 if (message.endTime) { 4618 let timearr = message.endTime.split(':'); 4619 deadline.setHours(timearr[0]); 4620 deadline.setMinutes(timearr[1]); 4621 } 4622 countdowncontent = message.message; 4623 } 4624 4625 } 4626 4627 //console.log(deadline); 4628 4629 // highlight 4630 $('.buybefore').html(countdowncontent); 4631 4632 // productcard 4633 let productcardstr = countdowncontent; 4634 let productcardstrarr = countdowncontent.includes('-') ? countdowncontent.split(' - ') : [countdowncontent]; 4635 4636 if (productcardstrarr.length > 1) { 4637 $('.shippingcountdown > :first-child').html('<i>'+productcardstrarr[0]+'</i><br />'+productcardstrarr[1]); 4638 } else { 4639 $('.shippingcountdown > :first-child').html('<i>'+productcardstr+'</i>'); 4640 } 4641 4642 4643 if (activeCountdown) { 4644 4645 $('.shippingtime').countdown(deadline, { 4646 elapse: true 4647 }).on('update.countdown', function (event) { 4648 var $this = $(this); 4649 if (event.elapsed) { 4650 element.countdown('stop'); 4651 4652 //initShippingCountdown(element,type); 4653 } 4654 else { 4655 4656 if (window.location.href.indexOf('?bewise=1') > -1) { 4657 let message = checkMessagePeriod(messages); 4658 4659 if (message) { 4660 // do the same but with days aswell 4661 //var html = event.strftime('%D da. %H tim. %M min. %S sek.'); 4662 4663 // highlight 4664 $('.highlight .shippingtime').html(event.strftime('<span>%D</span><span>%H</span><span>%M</span><span>%S</span>')); 4665 4666 // productcard 4667 $('.shippingcountdown .shippingtime').html(event.strftime('<span><strong>%D</strong><small>'+language('misc.countdownday')+'</small></span><span><strong>%H</strong><small>'+language('misc.countdownhour')+'</small></span><span><strong>%M</strong><small>'+language('misc.countdownmin')+'</small></span><span><strong>%S</strong><small>'+language('misc.countdownsec')+'</span>')); 4668 4669 4670 4671 } 4672 4673 } 4674 else { 4675 4676 //var html = event.strftime('%H tim. %M min. %S sek.'); 4677 4678 // highlight 4679 4680 $('.highlight .shippingtime').html(event.strftime('<span>%I</span><span>%M</span><span>%S</span>')); 4681 4682 // productcard 4683 $('.shippingcountdown .shippingtime').html(event.strftime('<span><strong>%I</strong><small>'+language('misc.countdownhour')+'</small></span><span><strong>%M</strong><small>'+language('misc.countdownmin')+'</small></span><span><strong>%S</strong><small>'+language('misc.countdownsec')+'</span>')); 4684 4685 } 4686 4687 4688 } 4689 }); 4690 4691 } 4692 4693 4694 //}); 4695 4696 4697 4698 4699 4700 4701} 4702function initCountdown(deadline,element,type) { 4703 4704 element.countdown(deadline, { 4705 elapse: true 4706 }).on('update.countdown', function (event) { 4707 var $this = $(this); 4708 if (event.elapsed) { 4709 element.countdown('stop'); 4710 initShippingCountdown(element,type,shippingcountdown); 4711 } else { 4712 var html = event.strftime('%H tim. %M min. %S sek.'); 4713 if (type == 'header') { 4714 html = event.strftime('<span>%H</span><span>%M</span><span>%S</span>'); 4715 } 4716 if (type == 'productcard') { 4717 html = event.strftime('<span><strong>%H</strong><small>'+language('misc.countdownhour')+'</small></span><span><strong>%M</strong><small>'+language('misc.countdownmin')+'</small></span><span><strong>%S</strong><small>'+language('misc.countdownsec')+'</span>'); 4718 } 4719 $this.html(html); 4720 } 4721 }); 4722 4723} 4724 4725function isValidDate(d) { 4726 return d instanceof Date && !isNaN(d); 4727 } 4728 4729if (window.location.href.indexOf('?bewise=1') > -1) { 4730 4731 function checkMessagePeriod(messages) { 4732 let today = new Date(); 4733 4734 for (const message of messages) { 4735 let startDate = parseDate(message.start); 4736 let endDate = parseDate(message.end); 4737 4738 startDate.setHours(0, 0, 0, 0); 4739 endDate.setHours(23, 59, 59, 999); 4740 4741 if (today >= startDate && today <= endDate) { 4742 return message; 4743 } 4744 } 4745 4746 return null; 4747 } 4748 4749} 4750 4751function handleProductDescription(container) { 4752 $('.Description_Productinfo').each(function () { 4753 var text = $(this).html(); 4754 //text = text.replace('Emballage: Bulk','Emballage: <a data-fancybox data-filter="#bulkbulk" data-type="aja
4754x" href="/shop/cms-950.html">Bulk</a>'); 4755 text = text.replace(language('misc.packagingtrigger'),language('misc.packaginglink')); 4756 //temp 4757 let replacestr = 'Euroblister'; // DK 4758 if (LanguageID == '37') { // FI 4759 replacestr = 'Alkuperäinen'; 4760 } 4761 text = text.replace(replacestr,`<a data-fancybox="" data-filter="#moreinfoeuroblister" data-type="ajax" href="/shop/cms-950.html">${replacestr}</a>`); 4762 //end temp 4763 4764 $(this).html(text); 4765 }); 4766} 4767function renderPickupSelectors() { 4768 var step1Data = sessionStorage.getItem('step1Data'); 4769 4770 if (step1Data != undefined) { 4771 var formValues = getFormValues(step1Data); 4772 4773 var address = formValues.laddress != '' ? formValues.laddress + ' ' + formValues.laddress2 : formValues.address; 4774 var zip = formValues.lzipcode != '' ? formValues.lzipcode : formValues.zipcode; 4775 var city = formValues.lcity != '' ? formValues.lcity : formValues.city; 4776 4777 $('.OrderStep2_ShippingMethods_TD tr').each(function () { 4778 var id = $(this).attr('id').split('_')[1]; 4779 retrievePickupPoints(id, address, zip, city); 4780 }); 4781 } 4782} 4783 4784function retrievePickupPoints(shippingId, address, zipcode, city) { 4785 var shippingElm = $('#ShippingMethod_' + shippingId); 4786 var checkedshipping = sessionStorage.checkedshippingmethod != undefined ? sessionStorage.checkedshippingmethod : ''; 4787 var isChecked = (checkedshipping != '' && shippingId == checkedshipping); 4788 4789 if(!isChecked && checkedshipping == '' && shippingElm.find('input[type=radio]:checked').length) { 4790 isChecked = true; 4791 } 4792 4793 if (shippingElm.find('.locations').length) { 4794 return; 4795 } 4796 else if (isChecked) { 4797 4798 console.log(checkedshipping); 4799 $('#ShippingMethodsContainer #ShippingMethod_' + checkedshipping + ' input[type=radio]').prop('checked', true); 4800 saveShippingFee(); 4801 } 4802 4803 let id_array; 4804 let shippingarray = [ 4805 { 4806 "site": "1", 4807 "methods": [ 4808 { 4809 "id": "464", // POSTNORD 4810 "type": "mc360", 4811 "agents": 1, 4812 "display": "none", 4813 "showAllBtn": true, 4814 "json": false 4815 }, 4816 { 4817 "id": "608", // POSTNORD 4818 "type": "mc360", 4819 "agents": 1, 4820 "display": "none", 4821 "showAllBtn": true, 4822 "json": false 4823 }, 4824 { 4825 "id": "637", // BRING 4826 "type": "mc360", 4827 "agents": 3, 4828 "display": "none", 4829 "showAllBtn": true, 4830 "json": false 4831 }, 4832 { 4833 "id": "162", // DAO 4834 "type": "mc360", 4835 "agents": 4, 4836 "display": "none", 4837 "showAllBtn": true, 4838 "json": false 4839 }, 4840 { 4841 "id": "746", // POSTNORD - EverActive 4842 "type": "mc360", 4843 "agents": 4, 4844 "display": "none", 4845 "showAllBtn": true, 4846 "json": false 4847 }, 4848 { 4849 "id": "747", // DAO - EverActive 4850 "type": "mc360", 4851 "agents": 4, 4852 "display": "none", 4853 "showAllBtn": true, 4854 "json": false 4855 } 4856 ] 4857 }, 4858 { 4859 "site": "3", 4860 "methods": [ 4861 { 4862 "id": "621", // BRING 4863 "type": "mc360", 4864 "agents": 3, 4865 "display": "none", 4866 "showAllBtn": true, 4867 "json": false 4868 } 4869 ] 4870 }, 4871 { 4872 "site": "37", 4873 "methods": [ 4874 // { 4875 // "id": "232", // POSTIPAKKI 4876 // "type": "mc360", 4877 // "agents": 3, 4878 // "display": "none", 4879 // "showAllBtn": true, 4880 // "json": false 4881 // }, 4882 { 4883 "id": "644", // POSTIPAKKI 4884 "type": "mc360", 4885 "agents": 3, 4886 "display": "none", 4887 "showAllBtn": true, 4888 "json": false 4889 } 4890 ] 4891 } 4892 ]; 4893 4894 for (let i = 0; i < shippingarray.length; i += 1) { 4895 if (shippingarray[i].site == LanguageID) { 4896 id_array = shippingarray[i].methods; 4897 break 4898 } 4899 } 4900 4901 /* 4902 var id_array = [ 4903 // DK 4904 { 4905 "id": "464", // POSTNORD 4906 "type": "mc360", 4907 "agents": 1, 4908 "display": "none", 4909 "showAllBtn": true, 4910 "json": false 4911 }, 4912 { 4913 "id": "608", // POSTNORD 4914 "type": "mc360", 4915 "agents": 1, 4916 "display": "none", 4917 "showAllBtn": true, 4918 "json": false 4919 }, 4920 { 4921 "id": "637", // BRING
4922 "type": "mc360", 4923 "agents": 3, 4924 "display": "none", 4925 "showAllBtn": true, 4926 "json": false 4927 }, 4928 { 4929 "id": "162", // DAO 4930 "type": "mc360", 4931 "agents": 4, 4932 "display": "none", 4933 "showAllBtn": true, 4934 "json": false 4935 } 4936 ]; 4937 */ 4938 4939 //console.log(id_array); 4940 var filterShipping = id_array.filter(function (e) { 4941 return e.id == shippingId; 4942 }); 4943 4944 4945 if (filterShipping.length > 0 ) { 4946 var selectedShippingMethod = filterShipping[0]; 4947 4948 4949 //console.log(filterShipping); 4950 shippingElm.find('td:last-child').append('<div class="locations"></div>'); 4951 if (isChecked) { 4952 shippingElm.find('.locations').addClass('active'); 4953 } 4954 4955 4956 var showAllBtn = selectedShippingMethod.showAllBtn; 4957 4958 var url = "https://api2.mytrendyphone.dk/pickup?mobile=false&site=" + LanguageID + "&shopId=4408736&agents=" + selectedShippingMethod.agents + "&address=" + address + "&country=&country_code=&zip=" + zipcode + "&pickupPointAjax=1&city=" + city; 4959 4960 var preselectedId = sessionStorage.checkedpickupid != undefined ? sessionStorage.checkedpickupid : ''; 4961 4962 $.getJSON(url, function (data) { 4963 var shouldShowAll = false; 4964 4965 showAllBtn = showAllBtn && data.length > maxDeliveryPoints; 4966 var locationsElm = shippingElm.find('.locations'); 4967 var checkedId = '' 4968 4969 for (var i = 0; i < data.length; i++) { 4970 var elm = data[i]; 4971 var elmName = 'method_' + shippingId + '_' + elm.number; 4972 4973 var hidden = showAllBtn && i >= maxDeliveryPoints ? 'hide' : ''; 4974 var checked = preselectedId != '' && elm.number == preselectedId ? 'checked' : ''; 4975 4976 if(checked != '') { 4977 checkedId = elm.number; 4978 if(hidden == 'hide') { 4979 shouldShowAll = true; 4980 } 4981 } 4982 4983 locationsElm.append('<label class="deliveryPoint ' + hidden + '"><input type="radio" class="handleClick ' + elm.number + '" name="' + shippingId + '" data-number="' + elm.number + '" id="' + elmName + '" ' + checked + '><div><span class="company">' + elm.company_name + '</span><span class="street">' + elm.address + '</span><span class="cityWrapper"><span class="zip">' + elm.zip_code + '</span><span class="city">' + elm.city + '</span></span></div></label>'); 4984 4985 if ((i + 1) == data.length) { 4986 if (showAllBtn) { 4987 locationsElm.append('<div class="button showAll">'+language('checkout.showallpickuppoints')+'</div>'); 4988 } 4989 } 4990 } 4991 4992 if(shouldShowAll) { 4993 shippingElm.find('.showAll').trigger('click'); 4994 4995 } 4996 4997 //console.log($('#ShippingMethodsContainer input[name="ShippingMethodID"]:checked').closest('tr').find('.locations').find('input').length); 4998 if(checkedId != '') { 4999 $('.handleClick.' + checkedId).prop('checked', true); 5000 } 5001 else if(isChecked) { 5002 shippingElm.find('.locations .deliveryPoint').eq(0).find('input[type=radio]').trigger('click'); 5003 } 5004 }); 5005 } 5006 5007} 5008function getFormValues(query) { 5009 var pairs, i, keyValuePair, key, value, map = {}; 5010 if (query.slice(0, 1) === '?') { 5011 query = query.slice(1); 5012 } 5013 if (query !== '') { 5014 pairs = query.split('&'); 5015 for (let i = 0; i < pairs.length; i += 1) { 5016 keyValuePair = pairs[i].split('='); 5017 key = decodeURIComponent(keyValuePair[0]); 5018 //value = (keyValuePair.length > 1) ? decodeURIComponent(keyValuePair[1]) : undefined; 5019 value = (keyValuePair.length > 1) ? keyValuePair[1] : undefined; 5020 map[key] = value; 5021 } 5022 } 5023 return map; 5024} 5025 5026function toggleChatWidget(button) { 5027 5028 _dixa_.invoke('setWidgetOpen', true); 5029 // Freshbots.showWidget(true); 5030 /* 5031 5032 if (button.hasClass('chat_starter')) { 5033 $('.mobile-chat-container').click(); 5034 console.log('chat click') 5035 } 5036 else { 5037 FreshworksWidget('open'); 5038 console.log('click fresh'); 5039 5040 } 5041 */ 5042 5043 5044 5045} 5046function showCookieConsent() { 5047 $('#cookie_alert').addClass('active'); 5048} 5049 5050function delayInput(callback, ms) { 5051 var timer = 0; 5052 return function () { 5053 var context = this, 5054 args = arguments; 5055 clearTimeout(timer); 5056 timer = setTimeout(function () {
5057 callback.apply(context, args); 5058 }, ms || 0); 5059 }; 5060} 5061function initChristmasShippingCountdown() { 5062 let start = new Date(); 5063 let end = new Date(language('christmas.enddate')); 5064 let diff = new Date(end - start); 5065 let days = Math.ceil(diff/1000/60/60/24); 5066 //console.log(Math.ceil(diff/1000/60/60/24)); 5067 //console.log(days); 5068 if (days >= 0) { 5069 if (days < 6) { 5070 let html = '<strong>'+days+'</strong> '+language('christmas.daysleft'); 5071 if (days == 0) { 5072 html = language('christmas.lastday'); 5073 } 5074 let a = $('<a href="/shop/julegaveideer-62128s1.html" class="christmasshipping"><img src="/pages/ro/promo/christmas/2017/search_bar/gift.png" /><span>'+html+'</span></a>'); 5075 if (ismobile) { 5076 a.addClass('mobileversion'); 5077 console.log("tu smo"); 5078 //$('.b2bgreeting').after(a); 5079 $('div.wrapper').before(a); 5080 } 5081 else { 5082 //$('.header-center').prepend(a); 5083 $('.top-nav').before(a); 5084 } 5085 5086 } 5087 } 5088} 5089 5090function initCategorySlider(element,categoryid,categoriesnum,productsnum,title,position) { 5091 5092 if (categoryid !== undefined && categoriesnum !== undefined && productsnum !== undefined) { 5093 5094 $.get('https://api2.mytrendyphone.dk/api-category-slider?shop=1&parent='+categoryid+'&categories='+categoriesnum+'&products='+productsnum,function(products) { 5095 5096 //console.log(products); 5097 5098 if (products !== undefined && products.length) { 5099 5100 let customslider = $('<div class="customslider"></div>'); 5101 5102 for (let p = 0; p < products.length; p++) { 5103 let item = products[p]; 5104 let productnumber = item.primary_id; 5105 let title = item.product_name; 5106 let url = item.product_url; 5107 let img = item.image_url; 5108 let price = item.price; 5109 let retailprice = item.retailPrice; 5110 let currency = item.currency; 5111 let masterid = ''; 5112 if (item.hasVariants !== undefined && item.hasVariants) { 5113 masterid = productnumber; 5114 } 5115 let isnews = false; 5116 if (item.new !== undefined && item.new) { 5117 isnews = true; 5118 } 5119 let isoffer = false; 5120 if (item.offer !== undefined && item.offer) { 5121 isoffer = true; 5122 } 5123 5124 let product = $('<div class="product" data-id="'+productnumber+'" data-master="'+masterid+'"></div>'); 5125 let form = $('<form method="POST" action="/shop/basket.asp" name="myform'+productnumber+'" id="productlistBuyForm'+productnumber+'"></form>'); 5126 form.append(product); 5127 form.append('<input type="hidden" name="BuyReturnUrl" value="'+CurrencyReturnUrl+'">'); 5128 form.append('<input type="hidden" name="Add" value="1">'); 5129 form.append('<input type="hidden" name="ProductID" value="'+productnumber+'">'); 5130 5131 product.append('<div class="name"><a href="'+url+'">'+title+'</a></div>'); 5132 5133 let image = $('<div class="image"></div>'); 5134 image.append('<a href="'+url+'"><img alt="'+title+'" height="120" loading="lazy" src="'+img+'" width="120" /></a>'); 5135 if (isnews) { 5136 image.append('<div class="mostpopular"><img alt="'+language('misc.popular')+'" height="18" loading="lazy" src="/images/skins/Bewise/images/popular.webp" width="90" /></div>'); 5137 } 5138 5139 product.append(image); 5140 5141 //let buy = $('<div class="buy"><a href="/shop/basket.asp?add=1&amount=1&productid='+productnumber+'" title="'+title+'">Læg i kurv</a></div>'); 5142 let buy = $('<div class="buy"><input name="AMOUNT" type="hidden" value="1" /><input type="submit" value="'+language('misc.addtobasket')+'"></div>'); 5143 5144 product.append(buy); 5145 product.append('<div class="advancedvariants"></div>'); 5146 5147 let pricediv = $('<div class="price"></div>'); 5148 let priceul = $('<ul class="Prices_Custom_UL"></ul>'); 5149 let priceli = $('<li></li>'); 5150 if (isoffer && retailprice !== '0,00') { 5151 priceli.append('<strike>'+retailprice+'</strike>'); 5152 } 5153 priceli.append('<div class="actual"><span>'+price+'</span><span class="currency">'+currency+'</span></div>'); 5154 5155 priceul.append(priceli); 5156 pricediv.append(priceul); 5157 product.append(pricediv); 5158 5159 console.log(language); 5160 5161 product.append('<div class="product-status"><div class="stock"><img alt="'+language('misc.instock')+'" height="8" loading="lazy" src="/images/skins/Bewise/images/icon-instock.svg" width="8"></div><div>'+language('misc.productnumber')+': <span class="productnumber">'+productnumber+'</span></div></div>'); 5162
5163 let div = $('<div></div>').append(form); 5164 customslider.append(div); 5165 console.log("slide3"); 5166 5167 } 5168 5169 position = 'center'; 5170 if (title !== undefined && title !== '') { 5171 let headline = $('<div class="headline">'+title+'</div>'); 5172 if (position !== undefined && position !== '') { 5173 headline.css('text-align',position); 5174 } 5175 element.append(headline); 5176 } 5177 element.append(customslider); 5178 console.log("transformProductlist run3"); 5179 transformProductlist(); 5180 handleDyContainer(customslider); 5181 5182 } 5183 5184 }); 5185 } 5186 5187 5188} 5189 5190function loadPopularProducts(element) { 5191 console.log("In loadpopular"); 5192 $.get('/_do/info_rss.asp',function(feed) { 5193 let products = $(feed).find('Product'); 5194 if (products !== undefined && products.length) { 5195 5196 let ul = $('<ul class="CustomersAlsoBought_Custom_UL"></ul>'); 5197 5198 $(feed).find('Product').each(function() { 5199 let item = $(this); 5200 console.log(item); 5201 let productnumber = item.children('ProductNo').text(); 5202 let title = item.children('ProductName').text(); 5203 let url = item.children('FramelessProductLnk').text(); 5204 let img = item.children('PictureLink').text(); 5205 let price = item.children('Price').text(); 5206 let retailprice = $.trim(item.children('RetailSalesprice').text()); 5207 let currency = item.children('SpecielPrice').attr('currency'); 5208 let masterid = ''; 5209 if (item.attr('HasVariants') == 'True') { 5210 masterid = productnumber; 5211 } 5212 let isnews = false; 5213 if (item.attr('IsNews') == 'True') { 5214 isnews = true; 5215 } 5216 let isoffer = false; 5217 if (item.attr('IsSpecielOffer') == 'True') { 5218 isoffer = true; 5219 } 5220 5221 let product = $('<div class="product" data-id="'+productnumber+'" data-master="'+masterid+'"></div>'); 5222 let form = $('<form method="POST" action="/shop/basket.asp" name="myform'+productnumber+'" id="productlistBuyForm'+productnumber+'"></form>'); 5223 form.append(product); 5224 form.append('<input type="hidden" name="BuyReturnUrl" value="'+CurrencyReturnUrl+'">'); 5225 form.append('<input type="hidden" name="Add" value="1">'); 5226 form.append('<input type="hidden" name="ProductID" value="'+productnumber+'">'); 5227 5228 product.append('<div class="name"><a href="'+url+'">'+title+'</a></div>'); 5229 5230 let image = $('<div class="image"></div>'); 5231 image.append('<a href="'+url+'"><img alt="'+title+'" height="120" loading="lazy" src="'+img+'" width="120" /></a>'); 5232 if (isnews) { 5233 image.append('<div class="mostpopular"><img alt="'+language('misc.popular')+'" height="18" loading="lazy" src="/images/skins/Bewise/images/popular.webp" width="90" /></div>'); 5234 } 5235 5236 product.append(image); 5237 5238 //let buy = $('<div class="buy"><a href="/shop/basket.asp?add=1&amount=1&productid='+productnumber+'" title="'+title+'">Læg i kurv</a></div>'); 5239 let buy = $('<div class="buy"><input name="AMOUNT" type="hidden" value="1" /><input type="submit" value="'+language('misc.addtobasket')+'"></div>'); 5240 5241 product.append(buy); 5242 product.append('<div class="advancedvariants"></div>'); 5243 5244 let pricediv = $('<div class="price"></div>'); 5245 let priceul = $('<ul class="Prices_Custom_UL"></ul>'); 5246 let priceli = $('<li></li>'); 5247 if (isoffer && retailprice !== '0,00') { 5248 priceli.append('<strike>'+retailprice+'</strike>'); 5249 } 5250 priceli.append('<div class="actual"><span>'+price+'</span><span class="currency">'+currency+'</span></div>'); 5251 5252 priceul.append(priceli); 5253 pricediv.append(priceul); 5254 product.append(pricediv); 5255 5256 5257 product.append('<div class="product-status"><div class="stock"><img alt="'+language('misc.instock')+'" height="8" loading="lazy" src="/images/skins/Bewise/images/icon-instock.svg" width="8"></div><div>'+language('misc.productnumber')+': <span class="productnumber">'+productnumber+'</span></div></div>'); 5258 5259 let li = $('<li></li>').append(form); 5260 ul.append(li); 5261 console.log("slide2"); 5262 5263 }); 5264 5265 element.append(ul); 5266 console.log("transformProductlist run4"); 5267 transformProductlist(); 5268 handleDyContainer(ul); 5269 5270 } 5271 5272 }); 5273 5274} 5275 5276function checkCustomersAlsoBoughtRecommendations(){ 5277 if (!$('#customersalsoboughtrecommendations .CustomersAlsoBought_Custom_UL').length) { 5278 checkCustomersAlsoBoughtRecommendationsHeadline(); 5279 5280 let customeAlsoBoughtContainer = $('#customersalsoboughtrecommendations'); 5281 if (customeAlsoBoughtContainer.length) { 5282 loadTopProducts(customeAlsoBoughtContainer); 5283 } 5284 5285 } 5286} 5287 5288function checkCustomersAlsoBoughtRecommendationsHeadline(){ 5289 5290 if ($("#customersalsoboughtrecommendations").length) { 5291 if (!$("#customersalsoboughtrecommendations .headline").length) { 5292 $("#customersalsoboughtrecommendations").prepend('<span class="headline">' + language('product.customersAlsoBought') + '</span>'); 5293 } 5294 } 5295} 5296 5297function loadTopProducts(element) { 5298 console.log("In loadTopProducts"); 5299 $.get('/_do/top20.asp',function(feed) { 5300 let products = $(feed).find('Product'); 5301 if (products !== undefined && products.length) { 5302 5303 let ul = $('<ul class="CustomersAlsoBought_Custom_UL"></ul>'); 5304 5305 $(feed).find('Product').each(function() { 5306 let item = $(this); 5307 console.log(item); 5308 let productnumber = item.children('ProductNo').text(); 5309 let title = item.children('ProductName').text(); 5310 let url = item.children('FramelessProductLnk').text(); 5311 let img = item.children('PictureLink').text(); 5312 let price = item.children('Price').text(); 5313 let retailprice = $.trim(item.children('RetailSalesprice').text()); 5314 let currency = item.children('SpecielPrice').attr('currency'); 5315 let masterid = ''; 5316 if (item.attr('HasVariants') == 'True') { 5317 masterid = productnumber; 5318 } 5319 let isnews = false;
5320 if (item.attr('IsNews') == 'True') { 5321 isnews = true; 5322 } 5323 let isoffer = false; 5324 if (item.attr('IsSpecielOffer') == 'True') { 5325 isoffer = true; 5326 } 5327 5328 let product = $('<div class="product" data-id="'+productnumber+'" data-master="'+masterid+'"></div>'); 5329 let form = $('<form method="POST" action="/shop/basket.asp" name="myform'+productnumber+'" id="productlistBuyForm'+productnumber+'"></form>'); 5330 form.append(product); 5331 form.append('<input type="hidden" name="BuyReturnUrl" value="'+CurrencyReturnUrl+'">'); 5332 form.append('<input type="hidden" name="Add" value="1">'); 5333 form.append('<input type="hidden" name="ProductID" value="'+productnumber+'">'); 5334 5335 product.append('<div class="name"><a href="'+url+'">'+title+'</a></div>'); 5336 5337 let image = $('<div class="image"></div>'); 5338 image.append('<a href="'+url+'"><img alt="'+title+'" height="120" loading="lazy" src="'+img+'" width="120" /></a>'); 5339 // if (isnews) { 5340 // image.append('<div class="mostpopular"><img alt="'+language('misc.popular')+'" height="18" loading="lazy" src="/images/skins/Bewise/images/popular.webp" width="90" /></div>'); 5341 // } 5342 5343 product.append(image); 5344 5345 //let buy = $('<div class="buy"><a href="/shop/basket.asp?add=1&amount=1&productid='+productnumber+'" title="'+title+'">Læg i kurv</a></div>'); 5346 // let buy = $('<div class="buy"><input name="AMOUNT" type="hidden" value="1" /><input type="submit" value="'+language('misc.addtobasket')+'"></div>'); 5347 // 5348 // product.append(buy); 5349 product.append('<div class="advancedvariants"></div>'); 5350 5351 let pricediv = $('<div class="price"></div>'); 5352 let priceul = $('<ul class="Prices_Custom_UL"></ul>'); 5353 let priceli = $('<li></li>'); 5354 if (isoffer && retailprice !== '0,00') { 5355 priceli.append('<strike>'+retailprice+'</strike>'); 5356 } 5357 priceli.append('<div class="actual"><span>'+price+'</span><span class="currency">'+currency+'</span></div>'); 5358 5359 priceul.append(priceli); 5360 pricediv.append(priceul); 5361 product.append(pricediv); 5362 5363 5364 product.append('<div class="product-status"><div class="stock"><img alt="'+language('misc.instock')+'" height="8" loading="lazy" src="/images/skins/Bewise/images/icon-instock.svg" width="8"></div><div>'+language('misc.productnumber')+': <span class="productnumber">'+productnumber+'</span></div></div>'); 5365 5366 let li = $('<li></li>').append(form); 5367 ul.append(li); 5368 console.log("slide1"); 5369 5370 5371 }); 5372 5373 element.append(ul); 5374 console.log("transformProductlist run4"); 5375 transformProductlist(); 5376 handleDyContainer(ul); 5377 5378 } 5379 5380 }); 5381 5382} 5383function parseDate(dateString) { 5384 let dateParts = dateString.split(/-|\//); 5385 // Use the format 'mm/dd/yyyy' for parsing the date string 5386 let formattedDateString = `${dateParts[1]}/${dateParts[0]}/${dateParts[2]}`; 5387 return new Date(formattedDateString); 5388} 5389function loadAllProductReviews(reviewid,container) { 5390 5391 console.log("loadAllProductReviews", reviewid); 5392 if (!container.hasClass('reviewsloaded')) { 5393 container.addClass('reviewsloaded'); 5394 5395 $.ajax({ 5396 url: '/_do/reviews_display_responsive_2015.asp?product='+reviewid+'&lang='+LanguageID, 5397 cache: false, 5398 dataType: 'jsonp', 5399 success: function (response) { 5400 5401 5402 if (response.data !== undefined && response.data.length) { 5403 container.empty(); 5404 for (let i = 0; i < response.data.length; i++) { 5405 let obj = $($.parseHTML(response.data[i])); 5406 if (obj.hasClass('onerow-rev')) { 5407 container.append(obj); 5408 } 5409 5410 } 5411 } 5412 5413 5414 5415 } 5416 }); 5417 } 5418 5419} 5420 $(document).ready(function() { 5421 $('h1 .itemsloaded').detach().insertAfter('h1'); 5422 5423 5424 5425 $('.right div#customersalsoboughtrecommendations .CustomersAlsoBought_Custom_UL').find('img').each(function() { 5426 // Get the current source 5427 var currentSrc = $(this).attr('src'); 5428 // Log the current source 5429 5430 // Check if the source ends with -r.webp 5431 if (currentSrc.endsWith('-r.webp')) { 5432 // Replace -r.webp with -t.webp 5433 var newSrc = currentSrc.replace('-r.webp', '-t.webp'); 5434 // Set the new source 5435 $(this).attr('src', newSrc); 5436 } 5437 }); 5438 }); 5439 5440 5441function sliderShortLinks() { 5442 console.log("slider1");
5443 let uspDiv = $('<div class="subCategoriesSlider"></div>'); 5444 let div = $('div.CategoryDescription.topPart').append(uspDiv); 5445 $('.moveCategoriesToFilters ul > li').each(function(e) { 5446 let a = $(this).find('a').eq(0); 5447 let replaceText = $('#filters').data('replacetext'); 5448 let currentText = a.text(); 5449 let newText = currentText.replace(new RegExp(replaceText, 'gi'), ''); 5450 5451 a.text(newText); 5452 uspDiv.append(a.clone().addClass("link-subcategories").css({"margin": "10px 0px 10px 10px","text-align": "center", })); 5453 }); 5454 5455} 5456 5457if (window.location.href.endsWith('?test=active') || (LanguageID == 1 || LanguageID == 3 || LanguageID == 37)) { 5458 5459 function addCategoriesLinksAfterCtopSeoText() { 5460 console.log("slider2"); 5461 let uspDiv = $('<div class="subCategoriesSlider" style="display: none"></div>'); 5462 let div = $('div.CategoryDescription.topPart').append(uspDiv); 5463 $('.moveCategoriesToFilters ul > li').each(function(e) { 5464 let img = $(this).find('img').eq(0); 5465 let a = $(this).find('a').eq(0); 5466 a.prepend(img); 5467 uspDiv.append(a.clone().addClass("go_to_seo_text_button").css({"margin": "10px 3% 10px 0px","text-align": "center", "color": "black", "background": "unset", "padding" : "unset", "text-transform" : "unset"})); 5468 //uspDiv.append(a.clone().css({"margin": "10px 3% 10px 0px","text-align": "center", "color": "black", "background": "unset", "padding" : "unset", "text-transform" : "unset"})); 5469 }); 5470 $('.subCategoriesSlider').show(); 5471 } 5472} else { 5473function addCategoriesLinksAfterCtopSeoText() { 5474 console.log("slider3"); 5475 let div = $('div.CategoryDescription.topPart'); 5476 $('.moveCategoriesToFilters ul > li').each(function(e) { 5477 let a = $(this).find('a').eq(0); 5478 div.append(a.clone().addClass("go_to_seo_text_button").css("margin-right", "2%")); 5479 }); 5480} 5481} 5482 5483if (window.location.href.endsWith('?test=active') || (LanguageID == 1 || LanguageID == 3 || LanguageID == 37)) { 5484 let categoryid = $.trim($('#filters').attr('categoriesSlider')); 5485 if (categoryid == 'init') { 5486 addCategoriesLinksAfterCtopSeoText(categoryid); 5487 $('.moveCategoriesToFilters').hide(); 5488 } 5489} else { 5490 let categoryid = $.trim($('#filters').attr('categoriesSlider')); 5491 if (categoryid == 'init' && !ismobile) { 5492 addCategoriesLinksAfterCtopSeoText(categoryid); 5493 } 5494 if (ismobile) {$('.moveCategoriesToFilters img').css("display", "none !important");} 5495} 5496 5497if (window.location.href.endsWith('?test=active')) { 5498let categoriesslidershort = $.trim($('#filters').attr('categoriesslidershort')); 5499if (categoriesslidershort == 'init' && ismobile) { 5500 console.log("slider init"); 5501 sliderShortLinks(); 5502 $('.moveCategoriesToFilters').hide(); 5503} 5504} 5505$(document).ready(function() { 5506 lastViewed(); 5507}); 5508//initChristmasShippingCountdown(); 5509$(document).ready(function() { 5510 if (page.type != "showbasket") { 5511 $('.TrustList_Custom_UL').show(); 5512 } 5513 }); 5514//shipping messagges for prcard on lager status 5515function getShippingMessage() { 5516 const date = new Date(); 5517 const dayInMonth = date.getDate();
5518 const month = date.getMonth() + 1; 5519 const day = date.getDay(); // Sunday - Saturday : 0 - 6 5520 const hour = date.getHours(); 5521 const minutes = date.getMinutes(); 5522 console.log(dayInMonth + "||"+month); 5523 5524 // Shipping countdown data 5525 // var shippingcountdownCustom = [ 5526 // {'day': 'Søndag', 'time': '22:00', 'before': 'Modtag din pakke i morgen - Bestil før 22:00', 'after': 'Modtag din pakke på tirsdag - Bestil inden kl. 21:00 i morgen'}, 5527 // {'day': 'Mandag', 'time': '21:00', 'before': 'Modtag din pakke i morgen- Bestil før 21:00', 'after': 'Modtag din pakke på onsdag - Bestil inden kl. 21:00 i morgen'}, 5528 // {'day': 'Tirsdag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på torsdag - Bestil inden kl. 21:00 i morgen'}, 5529 // {'day': 'Onsdag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på fredag - Bestil inden kl. 21:00 i morgen'}, 5530 // {'day': 'Torsdag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på lørdag - Bestil inden kl. 21:00 i morgen'}, 5531 // {'day': 'Fredag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på søndag - Bestil inden kl. 22:00 i morgen'}, 5532 // {'day': 'Lørdag', 'time': '22:00', 'before': 'Modtag din pakke i morgen - Bestil før 22:00', 'after': 'Modtag din pakke på mandag - Bestil inden kl. 22:00 i morgen'} 5533 5534 // ]; 5535// if ((dayInMonth>=29 && dayInMonth<=31 && month == 12) || (dayInMonth>=1 && dayInMonth<=2 && month == 1)) { 5536// shippingcountdownCustom = [ 5537 // {'day': 'Søndag', 'time': '22:00', 'before': 'Modtag din pakke i morgen - Bestil før 22:00', 'after': 'Modtag din pakke på tirsdag - Bestil inden kl. 21:00 i morgen'}, 5538 // {'day': 'Mandag', 'time': '21:00', 'before': 'Modtag din pakke i morgen- Bestil før 21:00', 'after': 'Modtag din pakke på torsdag - Bestil inden kl. 21:00 i morgen'}, 5539 // {'day': 'Tirsdag', 'time': '21:00', 'before': 'Modtag din pakke på torsdag - Bestil før 21:00', 'after': 'Modtag din pakke på lørdag - Bestil inden kl. 21:00 på fredag'}, 5540 // {'day': 'Onsdag', 'time': '21:00', 'before': 'Modtag din pakke på lørdag - Bestil inden kl. 21:00 på fredag', 'after': 'Modtag din pakke på lørdag - Bestil inden kl. 21:00 på fredag'}, 5541 // {'day': 'Torsdag', 'time': '21:00', 'before': 'Modtag din pakke på lørdag - Bestil inden kl. 21:00 i morgen', 'after': 'Modtag din pakke på lørdag - Bestil inden kl. 21:00 i morgen'}, 5542 // {'day': 'Fredag', 'time': '21:00', 'before': 'Modtag din pakke i morgen - Bestil før 21:00', 'after': 'Modtag din pakke på søndag - Bestil inden kl. 22:00 i morgen'}, 5543 // {'day': 'Lørdag', 'time': '22:00', 'before': 'Modtag din pakke i morgen - Bestil før 22:00', 'after': 'Modtag din pakke på mandag - Bestil inden kl. 22:00 i morgen'} 5544 5545 // ]; 5546// } 5547 // Get the current day object from the array 5548 const currentDay = shippingcountdownCustom[day]; 5549 5550 // Convert the cutoff time to hours and minutes 5551 const cutoffHour = parseInt(currentDay.time.split(":")[0]); 5552 const cutoffMinutes = parseInt(currentDay.time.split(":")[1]); 5553 5554 // Determine if the current time is before or after the cutoff time 5555 let message; 5556 if (hour < cutoffHour || (hour === cutoffHour && minutes < cutoffMinutes)) { 5557 message = currentDay.before; 5558 } else { 5559 message = currentDay.after; 5560 } 5561 5562 return message; 5563} 5564 5565// Example usage: Display the message in the console 5566console.log(getShippingMessage()); 5567 5568// final countdown 5569!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";function b(a){if(a instanceof Date)return a;
vendor: 4,569 bytes, lines 5569-5573
5569if(String(a).match(g))return String(a).match(/^[0-9]*$/)&&(a=Number(a)),String(a).match(/\-/)&&(a=String(a).replace(/\-/g,"/")),new Date(a);throw new Error("Couldn't cast `"+a+"` to a date object.")}function c(a){var b=a.toString().replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");return new RegExp(b)}function d(a){return function(b){var d=b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);if(d)for(var f=0,g=d.length;f<g;++f){var h=d[f].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),j=c(h[0]),k=h[1]||"",l=h[3]||"",m=null;h=h[2],i.hasOwnProperty(h)&&(m=i[h],m=Number(a[m])),null!==m&&("!"===k&&(m=e(l,m)),""===k&&m<10&&(m="0"+m.toString()),b=b.replace(j,m.toString()))}return b=b.replace(/%%/,"%")}}function e(a,b){var c="s",d="";return a&&(a=a.replace(/(:|;|\s)/gi,"").split(/\,/),1===a.length?c=a[0]:(d=a[0],c=a[1])),Math.abs(b)>1?c:d}var f=[],g=[],h={precision:100,elapse:!1,defer:!1};g.push(/^[0-9]*$/.source),g.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g=new RegExp(g.join("|"));var i={Y:"years",m:"months",n:"daysToMonth",d:"daysToWeek",w:"weeks",W:"weeksToMonth",H:"hours",M:"minutes",S:"seconds",D:"totalDays",I:"totalHours",N:"totalMinutes",T:"totalSeconds"},j=function(b,c,d){this.el=b,this.$el=a(b),this.interval=null,this.offset={},this.options=a.extend({},h),this.instanceNumber=f.length,f.push(this),this.$el.data("countdown-instance",this.instanceNumber),d&&("function"==typeof d?(this.$el.on("update.countdown",d),this.$el.on("stoped.countdown",d),this.$el.on("finish.countdown",d)):this.options=a.extend({},h,d)),this.setFinalDate(c),this.options.defer===!1&&this.start()};a.extend(j.prototype,{start:function(){null!==this.interval&&clearInterval(this.interval);var a=this;this.update(),this.interval=setInterval(function(){a.update.call(a)},this.options.precision)},stop:function(){clearInterval(this.interval),this.interval=null,this.dispatchEvent("stoped")},toggle:function(){this.interval?this.stop():this.start()},pause:function(){this.stop()},resume:function(){this.start()},remove:function(){this.stop.call(this),f[this.instanceNumber]=null,delete this.$el.data().countdownInstance},setFinalDate:function(a){this.finalDate=b(a)},update:function(){if(0===this.$el.closest("html").length)return void this.remove();var b,c=void 0!==a._data(this.el,"events"),d=new Date;b=this.finalDate.getTime()-d.getTime(),b=Math.ceil(b/1e3),b=!this.options.elapse&&b<0?0:Math.abs(b),this.totalSecsLeft!==b&&c&&(this.totalSecsLeft=b,this.elapsed=d>=this.finalDate,this.offset={seconds:this.totalSecsLeft%60,minutes:Math.floor(this.totalSecsLeft/60)%60,hours:Math.floor(this.totalSecsLeft/60/60)%24,days:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToWeek:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToMonth:Math.floor(this.totalSecsLeft/60/60/24%30.4368),weeks:Math.floor(this.totalSecsLeft/60/60/24/7),weeksToMonth:Math.floor(this.totalSecsLeft/60/60/24/7)%4,months:Math.floor(this.totalSecsLeft/60/60/24/30.4368),years:Math.abs(this.finalDate.getFullYear()-d.getFullYear()),totalDays:Math.floor(this.totalSecsLeft/60/60/24),totalHours:Math.floor(this.totalSecsLeft/60/60),totalMinutes:Math.floor(this.totalSecsLeft/60),totalSeconds:this.totalSecsLeft},this.options.elapse||0!==this.totalSecsLeft?this.dispatchEvent("update"):(this.stop(),this.dispatchEvent("finish")))},dispatchEvent:function(b){var c=a.Event(b+".countdown");c.finalDate=this.finalDate,c.elapsed=this.elapsed,c.offset=a.extend({},this.offset),c.strftime=d(this.offset),this.$el.trigger(c)}}),a.fn.countdown=function(){var b=Array.prototype.slice.call(arguments,0);return this.each(function(){var c=a(this).data("countdown-instance");if(void 0!==c){var d=f[c],e=b[0];j.prototype.hasOwnProperty(e)?d[e].apply(d,b.slice(1)):null===String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i)?(d.setFinalDate.call(d,e),d.start()):a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi,e))}else new j(this,b[0],b[1])})}}); 5570 5571 5572// @fancyapps/ui/Fancybox v4.0.25 5573!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";function e(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function i(t){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};
vendor: 4,492 bytes, line 5573
5573i%2?e(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function s(t,e,i){return e&&a(t.prototype,e),i&&a(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&h(t,e)}function c(t){return c=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},c(t)}function h(t,e){return h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},h(t,e)}function d(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function u(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return d(t)}function f(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=c(t);if(e){var o=c(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return u(this,i)}}function v(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=c(t)););return t}function p(){return p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,i){var n=v(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(arguments.length<3?t:i):o.value}},p.apply(this,arguments)}function g(t){throw new TypeError('"'+t+'" is read-only')}function m(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==i)return;var n,o,a=[],s=!0,r=!1;try{for(i=i.call(t);!(s=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);s=!0);}catch(t){r=!0,o=t}finally{try{s||null==i.return||i.return()}finally{if(r)throw o}}return a}(t,e)||b(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(t){return function(t){if(Array.isArray(t))return x(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||b(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t,e){if(t){if("string"==typeof t)return x(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?x(t,e):void 0}}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function w(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=b(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,r=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){r=!0,a=t}
5573,f:function(){try{s||null==i.return||i.return()}finally{if(r)throw a}}}}var k=function(t){return"object"===n(t)&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t)},S=function t(){for(var e=!1,i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];"boolean"==typeof o[0]&&(e=o.shift());var s=o[0];if(!s||"object"!==n(s))throw new Error("extendee must be an object");for(var r=o.slice(1),l=r.length,c=0;c<l;c++){var h=r[c];for(var d in h)if(h.hasOwnProperty(d)){var u=h[d];if(e&&(Array.isArray(u)||k(u))){var f=Array.isArray(u)?[]:{};s[d]=t(!0,s.hasOwnProperty(d)?s[d]:f,u)}else s[d]=u}}return s},C=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e4;return t=parseFloat(t)||0,Math.round((t+Number.EPSILON)*e)/e},$=function t(e){return!!(e&&"object"===n(e)&&e instanceof Element&&e!==document.body)&&(!e.__Panzoom&&(function(t){var e=getComputedStyle(t)["overflow-y"],i=getComputedStyle(t)["overflow-x"],n=("scroll"===e||"auto"===e)&&Math.abs(t.scrollHeight-t.clientHeight)>1,o=("scroll"===i||"auto"===i)&&Math.abs(t.scrollWidth-t.clientWidth)>1;return n||o}(e)?e:t(e.parentNode)))},E="undefined"!=typeof window&&window.ResizeObserver||function(){function t(e){o(this,t),this.observables=[],this.boundCheck=this.check.bind(this),this.boundCheck(),this.callback=e}return s(t,[{key:"observe",value:function(t){if(!this.observables.some((function(e){return e.el===t}))){var e={el:t,size:{height:t.clientHeight,width:t.clientWidth}};this.observables.push(e)}}},{key:"unobserve",value:function(t){this.observables=this.observables.filter((function(e){return e.el!==t}))}},{key:"disconnect",value:function(){this.observables=[]}},{key:"check",value:function(){var t=this.observables.filter((function(t){var e=t.el.clientHeight,i=t.el.clientWidth;if(t.size.height!==e||t.size.width!==i)return t.size.height=e,t.size.width=i,!0})).map((function(t){return t.el}));t.length>0&&this.callback(t),window.requestAnimationFrame(this.boundCheck)}}]),t}(),P=s((function t(e){o(this,t),this.id=self.Touch&&e instanceof Touch?e.identifier:-1,this.pageX=e.pageX,this.pageY=e.pageY,this.clientX=e.clientX,this.clientY=e.clientY})),T=function(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0},L=function(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t},_=function(t){return"changedTouches"in t},A=function(){function t(e){var i=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.start,s=void 0===a?function(){return!0}:a,r=n.move,l=void 0===r?function(){}:r,c=n.end,h=void 0===c?function(){}:c;o(this,t),this._element=e,this.startPointers=[],this.currentPointers=[],this._pointerStart=function(t){if(1&t.buttons){var e=new P(t);i.currentPointers.some((function(t){return t.id===e.id}))||i._triggerPointerStart(e,t)&&(window.addEventListener("mousemove",i._move,{passive:!1}),window.addEventListener("mouseup",i._pointerEnd,{passive:!1}))}},this._touchStart=function(t){for(var e=0,n=Array.from(t.changedTouches||[]);e<n.length;e++){var o=n[e];i._triggerPointerStart(new P(o),t)}},this._move=function(t){var e,n=i.currentPointers.slice(),o=_(t)?Array.from(t.changedTouches).map((function(t){return new P(t)})):[new P(t)],a=[],s=w(o);try{var r=function(){var t=e.value,n=i.currentPointers.findIndex((function(e){return e.id===t.id}));if(n<0)return"continue";a.push(t),i.currentPointers[n]=t};for(s.s();!(e=s.n()).done;)r()}catch(t){s.e(t)}finally{s.f()}i._moveCallback(n,i.currentPointers.slice(),t)},this._triggerPointerEnd=function(t,e){if(!_(e)&&1&e.buttons)return!1;var n=i.currentPointers.findIndex((function(e){return e.id===t.id}));return!(n<0)&&(i.currentPointers.splice(n,1),i.startPointers.splice(n,1),i._endCallback(t,e),!0)},this._pointerEnd=function(t){i._triggerPointerEnd(new P(t),t)&&(window.removeEventListener("mousemove",i._move),window.removeEventListener("mouseup",i._pointerEnd))},this._touchEnd=function(t){for(var e=0,n=Array.from(t.changedTouches||[]);e<n.length;e++){var o=n[e];i._triggerPointerEnd(new P(o),t)}},this._startCallback=s,this._moveCallback=l,this._endCallback=h,this._element.addEventListener("mousedown",this._pointerStart,{passive:!1}),this._element.addEventListener("touchstart",this._touchStart,{passive:!1}),this._element.addEventListener("touchmove",this._move,{passive:!1}),this._element.addEventListener("touchend",this._touchEnd),this._element.addEventListener("touchcancel",this._touchEnd)}return s(t,[{key:"stop",value:function(){this._element.removeEventListener("mousedown",this._pointerStart,{passive:!1}),this._element.removeEventListener("touchstart",this._touchStart,{passive:!1}),this._element.removeEventListener("touchmove",this._move,{passive:!1}),this._element.removeEventListener("touchend",this._touchEnd),this._element.removeEventListener("touchcancel",this._touchEnd),window.removeEventListener("mousemove",this._move,{passive:!1}),window.removeEventListener("mouseup",this._pointerEnd,{passive:!1})}},{key:"_triggerPointerStart",value:function(t,e){return!!this._startCallback(t,e)&&(this.currentPointers.push(t),this.startPointers.push(t),!0)}}]),t}(),O=function(t,e){return t.split(".").reduce((function(t,e){return t&&t[e]}
5573),e)},z=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,t),this.options=S(!0,{},e),this.plugins=[],this.events={};for(var i=0,n=["on","once"];i<n.length;i++)for(var a=n[i],s=0,r=Object.entries(this.options[a]||{});s<r.length;s++){var l=r[s];this[a].apply(this,y(l))}}return s(t,[{key:"option",value:function(t,e){t=String(t);var i=O(t,this.options);if("function"==typeof i){for(var n,o=arguments.length,a=new Array(o>2?o-2:0),s=2;s<o;s++)a[s-2]=arguments[s];i=(n=i).call.apply(n,[this,this].concat(a))}return void 0===i?e:i}},{key:"localize",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t=(t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,(function(t,n,o){var a="";o?a=e.option("".concat(n[0]+n.toLowerCase().substring(1),".l10n.").concat(o)):n&&(a=e.option("l10n.".concat(n))),a||(a=t);for(var s=0;s<i.length;s++)a=a.split(i[s][0]).join(i[s][1]);return a}))).replace(/\{\{(.*)\}\}/,(function(t,e){return e}))}},{key:"on",value:function(t,e){var i=this;if(k(t)){for(var n=0,o=Object.entries(t);n<o.length;n++){var a=o[n];this.on.apply(this,y(a))}return this}return String(t).split(" ").forEach((function(t){var n=i.events[t]=i.events[t]||[];-1==n.indexOf(e)&&n.push(e)})),this}},{key:"once",value:function(t,e){var i=this;if(k(t)){for(var n=0,o=Object.entries(t);n<o.length;n++){var a=o[n];this.once.apply(this,y(a))}return this}return String(t).split(" ").forEach((function(t){var n=function n(){i.off(t,n);for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];e.call.apply(e,[i,i].concat(a))};n._=e,i.on(t,n)})),this}},{key:"off",value:function(t,e){var i=this;if(!k(t))return t.split(" ").forEach((function(t){var n=i.events[t];if(!n||!n.length)return i;for(var o=-1,a=0,s=n.length;a<s;a++){var r=n[a];if(r&&(r===e||r._===e)){o=a;break}}-1!=o&&n.splice(o,1)})),this;for(var n=0,o=Object.entries(t);n<o.length;n++){var a=o[n];this.off.apply(this,y(a))}}},{key:"trigger",value:function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];var o,a=w(y(this.events[t]||[]).slice());try{for(a.s();!(o=a.n()).done;){var s=o.value;if(s&&!1===s.call.apply(s,[this,this].concat(i)))return!1}}catch(t){a.e(t)}finally{a.f()}var r,l=w(y(this.events["*"]||[]).slice());try{for(l.s();!(r=l.n()).done;){var c=r.value;if(c&&!1===c.call.apply(c,[this,t,this].concat(i)))return!1}}catch(t){l.e(t)}finally{l.f()}return!0}},{key:"attachPlugins",value:function(t){for(var e={},i=0,n=Object.entries(t||{});i<n.length;i++){var o=m(n[i],2),a=o[0],s=o[1];!1===this.options[a]||this.plugins[a]||(this.options[a]=S({},s.defaults||{},this.options[a]),e[a]=new s(this))}for(var r=0,l=Object.entries(e);r<l.length;r++){var c=m(l[r],2);c[0],c[1].attach(this)}return this.plugins=Object.assign({},this.plugins,e),this}},{key:"detachPlugins",value:function(){for(var t in this.plugins){var e=void 0;(e=this.plugins[t])&&"function"==typeof e.detach&&e.detach(this)}return this.plugins={},this}}]),t}(),M={touch:!0,zoom:!0,pinchToZoom:!0,panOnlyZoomed:!1,lockAxis:!1,friction:.64,decelFriction:.88,zoomFriction:.74,bounceForce:.2,baseScale:1,minScale:1,maxScale:2,step:.5,textSelection:!1,click:"toggleZoom",wheel:"zoom",wheelFactor:42,wheelLimit:5,draggableClass:"is-draggable",draggingClass:"is-dragging",ratio:1},I=function(t){l(n,t);var e=f(n);function n(t){var i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,n),(i=e.call(this,S(!0,{},M,a))).state="init",i.$container=t;for(var s=0,r=["onLoad","onWheel","onClick"];s<r.length;s++){var l=r[s];i[l]=i[l].bind(d(i))}return i.initLayout(),i.resetValues(),i.attachPlugins(n.Plugins),i.trigger("init"),i.updateMetrics(),i.attachEvents(),i.trigger("ready"),!1===i.option("centerOnStart")?i.state="ready":i.panTo({friction:0}),t.__Panzoom=d(i),i}return s(n,[{key:"initLayout",value:function(){var t=this.$container;if(!(t instanceof HTMLElement))throw new Error("Panzoom: Container not found");var e=this.option("content")||t.querySelector(".panzoom__content");if(!e)throw new Error("Panzoom: Content not found");this.$content=e;var i,n=this.option("viewport")||t.querySelector(".panzoom__viewport");n||!1===this.option("wrapInner")||((n=document.createElement("div")).classList.add("panzoom__viewport"),(i=n).append.apply(i,y(t.childNodes)),t.appendChild(n));this.$viewport=n||e.parentNode}},{key:"resetValues",value:function(){this.updateRate=this.option("updateRate",/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)?250:24),this.container={width:0,height:0},this.viewport={width:0,height:0},this.content={origWidth:0,origHeight:0,width:0,height:0,x:this.option("x",0),y:this.option("y",0),scale:this.option("baseScale")},this.transform={x:0,y:0,scale:1},this.resetDragPosition()}},{key:"onLoad",value:function(t){this.updateMetrics(),this.panTo({scale:this.option("baseScale"),friction:0}),this.trigger("load",t)}},{key:"onClick",value:function(t){if(!t.defaultPrevented)if(this.option("textSelection")&&window.getSelection().toString().length)t.stopPropagation();else{var e=this.$content.getClientRects()[0];if("ready"!==this.state&&(this.dragPosition.midPoint||Math.abs(e.top-this.dragStart.rect.top)>1||Math.abs(e.left-this.dragStart.rect.left)>1))return t.preventDefault(),void t.stopPropagation();!1!==this.trigger("click",t)&&this.option("zoom")&&"toggleZoom"===this.option("click")&&(t.preventDefault(),t.stopPropagation(),this.zoomWithClick(t))}}},{key:"onWheel",value:function(t){!1!==this.trigger("wheel",t)&&this.option("zoom")&&this.option("wheel")&&this.zoomWithWheel(t)}},{key:"zoomWithWheel",value:function(t){void 0===this.changedDelta&&(this.changedDelta=0);var e=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)),i=this.content.scale,n=i*(100+e*this.option("wheelFactor"))/100;if(e<0&&Math.abs(i-this.option("minScale"))<.01||e>0&&Math.abs(i-this.option("maxScale"))<.01?(this.changedDelta+=Math.abs(e),n=i):(this.changedDelta=0,n=Math.max(Math.min(n,this.option("maxScale")),this.option("minScale"))),!(this.changedDelta>this.option("wheelLimit"))&&(t.preventDefault(),n!==i)){var o=this.$content.getBoundingClientRect(),a=t.clientX-o.left,s=t.clientY-o.top;this.zoomTo(n,{x:a,y:s}
5573)}}},{key:"zoomWithClick",value:function(t){var e=this.$content.getClientRects()[0],i=t.clientX-e.left,n=t.clientY-e.top;this.toggleZoom({x:i,y:n})}},{key:"attachEvents",value:function(){var t=this;this.$content.addEventListener("load",this.onLoad),this.$container.addEventListener("wheel",this.onWheel,{passive:!1}),this.$container.addEventListener("click",this.onClick,{passive:!1}),this.initObserver();var e=new A(this.$container,{start:function(i,n){if(!t.option("touch"))return!1;if(t.velocity.scale<0)return!1;var o=n.composedPath()[0];if(!e.currentPointers.length){if(-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(o.nodeName))return!1;if(t.option("textSelection")&&function(t,e,i){for(var n=t.childNodes,o=document.createRange(),a=0;a<n.length;a++){var s=n[a];if(s.nodeType===Node.TEXT_NODE){o.selectNodeContents(s);var r=o.getBoundingClientRect();if(e>=r.left&&i>=r.top&&e<=r.right&&i<=r.bottom)return s}}return!1}(o,n.clientX,n.clientY))return!1}return!$(o)&&(!1!==t.trigger("touchStart",n)&&("mousedown"===n.type&&n.preventDefault(),t.state="pointerdown",t.resetDragPosition(),t.dragPosition.midPoint=null,t.dragPosition.time=Date.now(),!0))},move:function(i,n,o){if("pointerdown"===t.state)if(!1!==t.trigger("touchMove",o)){if(!(n.length<2&&!0===t.option("panOnlyZoomed")&&t.content.width<=t.viewport.width&&t.content.height<=t.viewport.height&&t.transform.scale<=t.option("baseScale"))&&(!(n.length>1)||t.option("zoom")&&!1!==t.option("pinchToZoom"))){var a=L(i[0],i[1]),s=L(n[0],n[1]),r=s.clientX-a.clientX,l=s.clientY-a.clientY,c=T(i[0],i[1]),h=T(n[0],n[1]),d=c&&h?h/c:1;t.dragOffset.x+=r,t.dragOffset.y+=l,t.dragOffset.scale*=d,t.dragOffset.time=Date.now()-t.dragPosition.time;var u=1===t.dragStart.scale&&t.option("lockAxis");if(u&&!t.lockAxis){if(Math.abs(t.dragOffset.x)<6&&Math.abs(t.dragOffset.y)<6)return void o.preventDefault();var f=Math.abs(180*Math.atan2(t.dragOffset.y,t.dragOffset.x)/Math.PI);t.lockAxis=f>45&&f<135?"y":"x"}if("xy"===u||"y"!==t.lockAxis){if(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation(),t.lockAxis&&(t.dragOffset["x"===t.lockAxis?"y":"x"]=0),t.$container.classList.add(t.option("draggingClass")),t.transform.scale===t.option("baseScale")&&"y"===t.lockAxis||(t.dragPosition.x=t.dragStart.x+t.dragOffset.x),t.transform.scale===t.option("baseScale")&&"x"===t.lockAxis||(t.dragPosition.y=t.dragStart.y+t.dragOffset.y),t.dragPosition.scale=t.dragStart.scale*t.dragOffset.scale,n.length>1){var v=L(e.startPointers[0],e.startPointers[1]),p=v.clientX-t.dragStart.rect.x,g=v.clientY-t.dragStart.rect.y,m=t.getZoomDelta(t.content.scale*t.dragOffset.scale,p,g),y=m.deltaX,b=m.deltaY;t.dragPosition.x-=y,t.dragPosition.y-=b,t.dragPosition.midPoint=s}else t.setDragResistance();t.transform={x:t.dragPosition.x,y:t.dragPosition.y,scale:t.dragPosition.scale},t.startAnimation()}}}else o.preventDefault()},end:function(n,o){if("pointerdown"===t.state)if(t._dragOffset=i({},t.dragOffset),e.currentPointers.length)t.resetDragPosition();else if(t.state="decel",t.friction=t.option("decelFriction"),t.recalculateTransform(),t.$container.classList.remove(t.option("draggingClass")),!1!==t.trigger("touchEnd",o)&&"decel"===t.state){var a=t.option("minScale");if(t.transform.scale<a)t.zoomTo(a,{friction:.64});else{var s=t.option("maxScale");if(t.transform.scale-s>.01){var r=t.dragPosition.midPoint||n,l=t.$content.getClientRects()[0];t.zoomTo(s,{friction:.64,x:r.clientX-l.left,y:r.clientY-l.top})}else;}}}});this.pointerTracker=e}},{key:"initObserver",value:function(){var t=this;this.resizeObserver||(this.resizeObserver=new E((function(){t.updateTimer||(t.updateTimer=setTimeout((function(){var e=t.$container.getBoundingClientRect();e.width&&e.height?((Math.abs(e.width-t.container.width)>1||Math.abs(e.height-t.container.height)>1)&&(t.isAnimating()&&t.endAnimation(!0),t.updateMetrics(),t.panTo({x:t.content.x,y:t.content.y,scale:t.option("baseScale"),friction:0})),t.updateTimer=null):t.updateTimer=null}),t.updateRate))})),this.resizeObserver.observe(this.$container))}},{key:"resetDragPosition",value:function(){this.lockAxis=null,this.friction=this.option("friction"),this.velocity={x:0,y:0,scale:0};var t=this.content,e=t.x,n=t.y,o=t.scale;
5573this.dragStart={rect:this.$content.getBoundingClientRect(),x:e,y:n,scale:o},this.dragPosition=i(i({},this.dragPosition),{},{x:e,y:n,scale:o}),this.dragOffset={x:0,y:0,scale:1,time:0}}},{key:"updateMetrics",value:function(t){!0!==t&&this.trigger("beforeUpdate");var e,n=this.$container,o=this.$content,a=this.$viewport,s=o instanceof HTMLImageElement,r=this.option("zoom"),l=this.option("resizeParent",r),c=this.option("width"),h=this.option("height"),d=c||(e=o,Math.max(parseFloat(e.naturalWidth||0),parseFloat(e.width&&e.width.baseVal&&e.width.baseVal.value||0),parseFloat(e.offsetWidth||0),parseFloat(e.scrollWidth||0))),u=h||function(t){return Math.max(parseFloat(t.naturalHeight||0),parseFloat(t.height&&t.height.baseVal&&t.height.baseVal.value||0),parseFloat(t.offsetHeight||0),parseFloat(t.scrollHeight||0))}(o);Object.assign(o.style,{width:c?"".concat(c,"px"):"",height:h?"".concat(h,"px"):"",maxWidth:"",maxHeight:""}),l&&Object.assign(a.style,{width:"",height:""});var f=this.option("ratio");c=d=C(d*f),h=u=C(u*f);var v=o.getBoundingClientRect(),p=a.getBoundingClientRect(),g=a==n?p:n.getBoundingClientRect(),m=Math.max(a.offsetWidth,C(p.width)),y=Math.max(a.offsetHeight,C(p.height)),b=window.getComputedStyle(a);if(m-=parseFloat(b.paddingLeft)+parseFloat(b.paddingRight),y-=parseFloat(b.paddingTop)+parseFloat(b.paddingBottom),this.viewport.width=m,this.viewport.height=y,r){if(Math.abs(d-v.width)>.1||Math.abs(u-v.height)>.1){var x=function(t,e,i,n){var o=Math.min(i/t||0,n/e);return{width:t*o||0,height:e*o||0}}(d,u,Math.min(d,v.width),Math.min(u,v.height));c=C(x.width),h=C(x.height)}Object.assign(o.style,{width:"".concat(c,"px"),height:"".concat(h,"px"),transform:""})}if(l&&(Object.assign(a.style,{width:"".concat(c,"px"),height:"".concat(h,"px")}),this.viewport=i(i({},this.viewport),{},{width:c,height:h})),s&&r&&"function"!=typeof this.options.maxScale){var w=this.option("maxScale");this.options.maxScale=function(){return this.content.origWidth>0&&this.content.fitWidth>0?this.content.origWidth/this.content.fitWidth:w}}this.content=i(i({},this.content),{},{origWidth:d,origHeight:u,fitWidth:c,fitHeight:h,width:c,height:h,scale:1,isZoomable:r}),this.container={width:g.width,height:g.height},!0!==t&&this.trigger("afterUpdate")}},{key:"zoomIn",value:function(t){this.zoomTo(this.content.scale+(t||this.option("step")))}},{key:"zoomOut",value:function(t){this.zoomTo(this.content.scale-(t||this.option("step")))}},{key:"toggleZoom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.option("maxScale"),i=this.option("baseScale"),n=this.content.scale>i+.5*(e-i)?i:e;this.zoomTo(n,t)}},{key:"zoomTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.option("baseScale"),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.x,n=void 0===i?null:i,o=e.y,a=void 0===o?null:o;t=Math.max(Math.min(t,this.option("maxScale")),this.option("minScale"));var s=C(this.content.scale/(this.content.width/this.content.fitWidth),1e7);null===n&&(n=this.content.width*s*.5),null===a&&(a=this.content.height*s*.5);var r=this.getZoomDelta(t,n,a),l=r.deltaX,c=r.deltaY;n=this.content.x-l,a=this.content.y-c,this.panTo({x:n,y:a,scale:t,friction:this.option("zoomFriction")})}},{key:"getZoomDelta",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=this.content.fitWidth*this.content.scale,o=this.content.fitHeight*this.content.scale,a=e>0&&n?e/n:0,s=i>0&&o?i/o:0,r=this.content.fitWidth*t,l=this.content.fitHeight*t,c=(r-n)*a,h=(l-o)*s;return{deltaX:c,deltaY:h}}},{key:"panTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.x,n=void 0===e?this.content.x:e,o=t.y,a=void 0===o?this.content.y:o,s=t.scale,r=t.friction,l=void 0===r?this.option("friction"):r,c=t.ignoreBounds,h=void 0!==c&&c;if(s=s||this.content.scale||1,!h){var d=this.getBounds(s),u=d.boundX,f=d.boundY;u&&(n=Math.max(Math.min(n,u.to),u.from)),f&&(a=Math.max(Math.min(a,f.to),f.from))}this.friction=l,this.transform=i(i({},this.transform),{},{x:n,y:a,scale:s}),l?(this.state="panning",this.velocity={x:(1/this.friction-1)*(n-this.content.x),y:(1/this.friction-1)*(a-this.content.y),scale:(1/this.friction-1)*(s-this.content.scale)},this.startAnimation()):this.endAnimation()}},{key:"startAnimation",value:function(){var t=this;this.rAF?cancelAnimationFrame(this.rAF):this.trigger("startAnimation"),this.rAF=requestAnimationFrame((function(){return t.animate()}))}},{key:"animate",value:function(){var t=this;if(this.setEdgeForce(),this.setDragForce(),this.velocity.x*=this.friction,this.velocity.y*=this.friction,this.velocity.scale*=this.friction,this.content.x+=this.velocity.x,this.content.y+=this.velocity.y,this.content.scale+=this.velocity.scale,this.isAnimating())this.setTransform();else if("pointerdown"!==this.state)return void this.endAnimation();this.rAF=requestAnimationFrame((function(){return t.animate()}))}},{key:"getBounds",value:function(t){var e=this.boundX,i=this.boundY;if(void 0!==e&&void 0!==i)return{boundX:e,boundY:i};e={from:0,to:0},i={from:0,to:0},t=t||this.transform.scale;var n=this.content.fitWidth*t,o=this.content.fitHeight*t,a=this.viewport.width,s=this.viewport.height;if(n<a){var r=C(.5*(a-n));e.from=r,e.to=r}else e.from=C(a-n);if(o<s){var l=.5*(s-o);i.from=l,i.to=l}else i.from=C(s-o);return{boundX:e,boundY:i}}},{key:"setEdgeForce",value:function(){if("decel"===this.state){var t,e,i,n,o=this.option("bounceForce"),a=this.getBounds(Math.max(this.transform.scale,this.content.scale)),s=a.boundX,r=a.boundY;if(s&&(t=this.content.x<s.from,e=this.content.x>s.to),r&&(i=this.content.y<r.from,n=this.content.y>r.to),t||e){var l=((t?s.from:s.to)-this.content.x)*o,c=this.content.x+(this.velocity.x+l)/this.friction;c>=s.from&&c<=s.to&&(l+=this.velocity.x),this.velocity.x=l,this.recalculateTransform()}if(i||n){var h=((i?r.from:r.to)-this.content.y)*o,d=this.content.y+(h+this.velocity.y)/this.friction;d>=r.from&&d<=r.to&&(h+=this.velocity.y),this.velocity.y=h,this.recalculateTransform()}}}},{key:"setDragResistance",value:function(){if("pointerdown"===this.state){var t,e,i,n,o=this.getBounds(this.dragPosition.scale),a=o.boundX,s=o.boundY;if(a&&(t=this.dragPosition.x<a.from,e=this.dragPosition.x>a.to),s&&(i=this.dragPosition.y<s.from,n=this.dragPosition.y>s.to),(t||e)&&(!t||!e)){var r=t?a.from:a.to,l=r-this.dragPosition.x;this.dragPosition.x=r-.3*l}if((i||n)&&(!i||!n)){var c=i?s.from:s.to,h=c-this.dragPosition.y;this.dragPosition.y=c-.3*h}}}},{key:"setDragForce",value:function(){"pointerdown"===this.state&&(this.velocity.x=this.dragPosition.x-this.content.x,this.velocity.y=this.dragPosition.y-this.content.y,this.velocity.scale=this.dragPosition.scale-this.content.scale)}},{key:"recalculateTransform",value:function(){this.transform.x=this.content.x+this.velocity.x/(1/this.friction-1),this.transform.y=this.content.y+this.velocity.y/(1/this.friction-1),this.transform.scale=this.content.scale+this.velocity.scale/(1/this.friction-1)}},{key:"isAnimating",value:function(){return!(!this.friction||!(Math.abs(this.velocity.x)>.05||Math.abs(this.velocity.y)>.05||Math.abs(this.velocity.scale)>.05))}},{key:"setTransform",value:function(t){var e,n,o,a,s;(t?(e=C(this.transform.x),n=C(this.transform.y),o=this.transform.scale,this.content=i(i({},this.content),{},{x:e,y:n,scale:o})):(e=C(this.content.x),n=C(this.content.y),o=this.content.scale/(this.content.width/this.content.fitWidth),this.content=i(i({},this.content),{},{x:e,y:n})),this.trigger("beforeTransform"),e=C(this.content.x),n=C(this.content.y),t&&this.option("zoom"))?(a=C(this.content.fitWidth*o),s=C(this.content.fitHeight*o),this.content.width=a,this.content.height=s,this.transform=i(i({},this.transform),{},{width:a,height:s,scale:o}),Object.assign(this.$content.style,{width:"".concat(a,"px"),height:"".concat(s,"px"),maxWidth:"none",maxHeight:"none",transform:"translate3d(".concat(e,"px, ").concat(n,"px, 0) scale(1)")})):this.$content.style.transform="translate3d(".concat(e,"px, ").concat(n,"px, 0) scale(").concat(o,")");this.trigger("afterTransform")}},{key:"endAnimation",value:function(t){cancelAnimationFrame(this.rAF),this.rAF=null,this.velocity={x:0,y:0,scale:0}
5573,this.setTransform(!0),this.state="ready",this.handleCursor(),!0!==t&&this.trigger("endAnimation")}},{key:"handleCursor",value:function(){var t=this.option("draggableClass");t&&this.option("touch")&&(1==this.option("panOnlyZoomed")&&this.content.width<=this.viewport.width&&this.content.height<=this.viewport.height&&this.transform.scale<=this.option("baseScale")?this.$container.classList.remove(t):this.$container.classList.add(t))}},{key:"detachEvents",value:function(){this.$content.removeEventListener("load",this.onLoad),this.$container.removeEventListener("wheel",this.onWheel,{passive:!1}),this.$container.removeEventListener("click",this.onClick,{passive:!1}),this.pointerTracker&&(this.pointerTracker.stop(),this.pointerTracker=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"destroy",value:function(){"destroy"!==this.state&&(this.state="destroy",clearTimeout(this.updateTimer),this.updateTimer=null,cancelAnimationFrame(this.rAF),this.rAF=null,this.detachEvents(),this.detachPlugins(),this.resetDragPosition())}}]),n}(z);I.version="4.0.25",I.Plugins={};var F=function(t,e){var i=0;return function(){var n=(new Date).getTime();if(!(n-i<e))return i=n,t.apply(void 0,arguments)}},R=function(){function t(e){o(this,t),this.$container=null,this.$prev=null,this.$next=null,this.carousel=e,this.onRefresh=this.onRefresh.bind(this)}return s(t,[{key:"option",value:function(t){return this.carousel.option("Navigation.".concat(t))}},{key:"createButton",value:function(t){var e,i=this,n=document.createElement("button");n.setAttribute("title",this.carousel.localize("{{".concat(t.toUpperCase(),"}}")));var o=this.option("classNames.button")+" "+this.option("classNames.".concat(t));return(e=n.classList).add.apply(e,y(o.split(" "))),n.setAttribute("tabindex","0"),n.innerHTML=this.carousel.localize(this.option("".concat(t,"Tpl"))),n.addEventListener("click",(function(e){e.preventDefault(),e.stopPropagation(),i.carousel["slide".concat("next"===t?"Next":"Prev")]()})),n}},{key:"build",value:function(){var t;this.$container||(this.$container=document.createElement("div"),(t=this.$container.classList).add.apply(t,y(this.option("classNames.main").split(" "))),this.carousel.$container.appendChild(this.$container));this.$next||(this.$next=this.createButton("next"),this.$container.appendChild(this.$next)),this.$prev||(this.$prev=this.createButton("prev"),this.$container.appendChild(this.$prev))}},{key:"onRefresh",value:function(){var t=this.carousel.pages.length;t<=1||t>1&&this.carousel.elemDimWidth<this.carousel.wrapDimWidth&&!Number.isInteger(this.carousel.option("slidesPerPage"))?this.cleanup():(this.build(),this.$prev.removeAttribute("disabled"),this.$next.removeAttribute("disabled"),this.carousel.option("infiniteX",this.carousel.option("infinite"))||(this.carousel.page<=0&&this.$prev.setAttribute("disabled",""),this.carousel.page>=t-1&&this.$next.setAttribute("disabled","")))}},{key:"cleanup",value:function(){this.$prev&&this.$prev.remove(),this.$prev=null,this.$next&&this.$next.remove(),this.$next=null,this.$container&&this.$container.remove(),this.$container=null}},{key:"attach",value:function(){this.carousel.on("refresh change",this.onRefresh)}},{key:"detach",value:function(){this.carousel.off("refresh change",this.onRefresh),this.cleanup()}}]),t}();R.defaults={prevTpl:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" tabindex="-1"><path d="M15 3l-9 9 9 9"/></svg>',nextTpl:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" tabindex="-1"><path d="M9 3l9 9-9 9"/></svg>',classNames:{main:"carousel__nav",button:"carousel__button",next:"is-next",prev:"is-prev"}};var N=function(){function t(e){o(this,t),this.carousel=e,this.$list=null,this.events={change:this.onChange.bind(this),refresh:this.onRefresh.bind(this)}}return s(t,[{key:"buildList",value:function(){var t=this;if(!(this.carousel.pages.length<this.carousel.option("Dots.minSlideCount"))){var e=document.createElement("ol");return e.classList.add("carousel__dots"),e.addEventListener("click",(function(e){if("page"in e.target.dataset){e.preventDefault(),e.stopPropagation();var i=parseInt(e.target.dataset.page,10),n=t.carousel;i!==n.page&&(n.pages.length<3&&n.option("infinite")?n[0==i?"slidePrev":"slideNext"]():n.slideTo(i))}})),this.$list=e,this.carousel.$container.appendChild(e),this.carousel.$container.classList.add("has-dots"),e}}},{key:"removeList",value:function(){this.$list&&(this.$list.parentNode.removeChild(this.$list),this.$list=null),this.carousel.$container.classList.remove("has-dots")}},{key:"rebuildDots",value:function(){var t=this,e=this.$list,i=!!e,n=this.carousel.pages.length;if(n<2)i&&this.removeList();else{i||(e=this.buildList());var o=this.$list.children.length;if(o>n)for(var a=n;a<o;a++)this.$list.removeChild(this.$list.lastChild);else{for(var s=function(e){var i=document.createElement("li");i.classList.add("carousel__dot"),i.dataset.page=e,i.setAttribute("role","button"),i.setAttribute("tabindex","0"),i.setAttribute("title",t.carousel.localize("{{GOTO}}",[["%d",e+1]])),i.addEventListener("keydown",(function(t){var e,n=t.code;"Enter"===n||"NumpadEnter"===n?e=i:"ArrowRight"===n?e=i.nextSibling:"ArrowLeft"===n&&(e=i.previousSibling),e&&e.click()})),t.$list.appendChild(i)},r=o;r<n;r++)s(r);this.setActiveDot()}}}},{key:"setActiveDot",value:function(){if(this.$list){this.$list.childNodes.forEac
5573h((function(t){t.classList.remove("is-selected")}));var t=this.$list.childNodes[this.carousel.page];t&&t.classList.add("is-selected")}}},{key:"onChange",value:function(){this.setActiveDot()}},{key:"onRefresh",value:function(){this.rebuildDots()}},{key:"attach",value:function(){this.carousel.on(this.events)}},{key:"detach",value:function(){this.removeList(),this.carousel.off(this.events),this.carousel=null}}]),t}(),D=function(){function t(e){o(this,t),this.carousel=e,this.selectedIndex=null,this.friction=0,this.onNavReady=this.onNavReady.bind(this),this.onNavClick=this.onNavClick.bind(this),this.onNavCreateSlide=this.onNavCreateSlide.bind(this),this.onTargetChange=this.onTargetChange.bind(this)}return s(t,[{key:"addAsTargetFor",value:function(t){this.target=this.carousel,this.nav=t,this.attachEvents()}},{key:"addAsNavFor",value:function(t){this.target=t,this.nav=this.carousel,this.attachEvents()}},{key:"attachEvents",value:function(){this.nav.options.initialSlide=this.target.options.initialPage,this.nav.on("ready",this.onNavReady),this.nav.on("createSlide",this.onNavCreateSlide),this.nav.on("Panzoom.click",this.onNavClick),this.target.on("change",this.onTargetChange),this.target.on("Panzoom.afterUpdate",this.onTargetChange)}},{key:"onNavReady",value:function(){this.onTargetChange(!0)}},{key:"onNavClick",value:function(t,e,i){var n=i.target.closest(".carousel__slide");if(n){i.stopPropagation();var o=parseInt(n.dataset.index,10),a=this.target.findPageForSlide(o);this.target.page!==a&&this.target.slideTo(a,{friction:this.friction}),this.markSelectedSlide(o)}}},{key:"onNavCreateSlide",value:function(t,e){e.index===this.selectedIndex&&this.markSelectedSlide(e.index)}},{key:"onTargetChange",value:function(){var t=this.target.pages[this.target.page].indexes[0],e=this.nav.findPageForSlide(t);this.nav.slideTo(e),this.markSelectedSlide(t)}},{key:"markSelectedSlide",value:function(t){this.selectedIndex=t,y(this.nav.slides).filter((function(t){return t.$el&&t.$el.classList.remove("is-nav-selected")}));var e=this.nav.slides[t];e&&e.$el&&e.$el.classList.add("is-nav-selected")}},{key:"attach",value:function(t){var e=t.options.Sync;(e.target||e.nav)&&(e.target?this.addAsNavFor(e.target):e.nav&&this.addAsTargetFor(e.nav),this.friction=e.friction)}},{key:"detach",value:function(){this.nav&&(this.nav.off("ready",this.onNavReady),this.nav.off("Panzoom.click",this.onNavClick),this.nav.off("createSlide",this.onNavCreateSlide)),this.target&&(this.target.off("Panzoom.afterUpdate",this.onTargetChange),this.target.off("change",this.onTargetChange))}}]),t}();D.defaults={friction:.92};var B={Navigation:R,Dots:N,Sync:D},W={slides:[],preload:0,slidesPerPage:"auto",initialPage:null,initialSlide:null,friction:.92,center:!0,infinite:!0,fill:!0,dragFree:!1,prefix:"",classNames:{viewport:"carousel__viewport",track:"carousel__track",slide:"carousel__slide",slideSelected:"is-selected"},l10n:{NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}},H=function(t){l(n,t);var e=f(n);function n(t){var i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o(this,n),a=S(!0,{},W,a),(i=e.call(this,a)).state="init",i.$container=t,!(i.$container instanceof HTMLElement))throw new Error("No root element provided");return i.slideNext=F(i.slideNext.bind(d(i)),250),i.slidePrev=F(i.slidePrev.bind(d(i)),250),i.init(),t.__Carousel=d(i),i}return s(n,[{key:"init",value:function(){this.pages=[],this.page=this.pageIndex=null,this.prevPage=this.prevPageIndex=null,this.attachPlugins(n.Plugins),this.trigger("init"),this.initLayout(),this.initSlides(),this.updateMetrics(),this.$track&&this.pages.length&&(this.$track.style.transform="translate3d(".concat(-1*this.pages[this.page].left,"px, 0px, 0) scale(1)")),this.manageSlideVisiblity(),this.initPanzoom(),this.state="ready",this.trigger("ready")}},{key:"initLayout",value:function(){var t,e,i,n,o=this.option("prefix"),a=this.option("classNames");(this.$viewport=this.option("viewport")||this.$container.querySelector(".".concat(o).concat(a.viewport)),this.$viewport)||(this.$viewport=document.createElement("div"),(t=this.$viewport.classList).add.apply(t,y((o+a.viewport).split(" "))),(e=this.$viewport).append.apply(e,y(this.$container.childNodes)),this.$container.appendChild(this.$viewport));(this.$track=this.option("track")||this.$container.querySelector(".".concat(o).concat(a.track)),this.$track)||(this.$track=document.createElement("div"),(i=this.$track.classList).add.apply(i,y((o+a.track).split(" "))),(n=this.$track).append.apply(n,y(this.$viewport.childNodes)),this.$viewport.appendChild(this.$track))}},{key:"initSlides",value:function(){var t=this;this.slides=[],this.$viewport.querySelectorAll(".".concat(this.option("prefix")).c
5573oncat(this.option("classNames.slide"))).forEach((function(e){var i={$el:e,isDom:!0};t.slides.push(i),t.trigger("createSlide",i,t.slides.length)})),Array.isArray(this.options.slides)&&(this.slides=S(!0,y(this.slides),this.options.slides))}},{key:"updateMetrics",value:function(){var t,e=this,n=0,o=[];this.slides.forEach((function(i,a){var s=i.$el,r=i.isDom||!t?e.getSlideMetrics(s):t;i.index=a,i.width=r,i.left=n,t=r,n+=r,o.push(a)}));var a=Math.max(this.$track.offsetWidth,C(this.$track.getBoundingClientRect().width)),s=getComputedStyle(this.$track);a-=parseFloat(s.paddingLeft)+parseFloat(s.paddingRight),this.contentWidth=n,this.viewportWidth=a;var r=[],l=this.option("slidesPerPage");if(Number.isInteger(l)&&n>a)for(var c=0;c<this.slides.length;c+=l)r.push({indexes:o.slice(c,c+l),slides:this.slides.slice(c,c+l)});else for(var h=0,d=0,u=0;u<this.slides.length;u+=1){var f=this.slides[u];(!r.length||d+f.width>a)&&(r.push({indexes:[],slides:[]}),h=r.length-1,d=0),d+=f.width,r[h].indexes.push(u),r[h].slides.push(f)}var v=this.option("center"),p=this.option("fill");r.forEach((function(t,i){t.index=i,t.width=t.slides.reduce((function(t,e){return t+e.width}),0),t.left=t.slides[0].left,v&&(t.left+=.5*(a-t.width)*-1),p&&!e.option("infiniteX",e.option("infinite"))&&n>a&&(t.left=Math.max(t.left,0),t.left=Math.min(t.left,n-a))}));var g,m=[];r.forEach((function(t){var e=i({},t);g&&e.left===g.left?(g.width+=e.width,g.slides=[].concat(y(g.slides),y(e.slides)),g.indexes=[].concat(y(g.indexes),y(e.indexes))):(e.index=m.length,g=e,m.push(e))})),this.pages=m;var b=this.page;if(null===b){var x=this.option("initialSlide");b=null!==x?this.findPageForSlide(x):parseInt(this.option("initialPage",0),10)||0,m[b]||(b=m.length&&b>m.length?m[m.length-1].index:0),this.page=b,this.pageIndex=b}this.updatePanzoom(),this.trigger("refresh")}},{key:"getSlideMetrics",value:function(t){if(!t){var e,i,n=this.slides[0];if((t=document.createElement("div")).dataset.isTestEl=1,t.style.visibility="hidden",(e=t.classList).add.apply(e,y((this.option("prefix")+this.option("classNames.slide")).split(" "))),n.customClass)(i=t.classList).add.apply(i,y(n.customClass.split(" ")));this.$track.prepend(t)}var o=Math.max(t.offsetWidth,C(t.getBoundingClientRect().width)),a=t.currentStyle||window.getComputedStyle(t);return o=o+(parseFloat(a.marginLeft)||0)+(parseFloat(a.marginRight)||0),t.dataset.isTestEl&&t.remove(),o}},{key:"findPageForSlide",value:function(t){t=parseInt(t,10)||0;var e=this.pages.find((function(e){return e.indexes.indexOf(t)>-1}));return e?e.index:null}},{key:"slideNext",value:function(){this.slideTo(this.pageIndex+1)}},{key:"slidePrev",value:function(){this.slideTo(this.pageIndex-1)}},{key:"slideTo",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.x,n=void 0===i?-1*this.setPage(t,!0):i,o=e.y,a=void 0===o?0:o,s=e.friction,r=void 0===s?this.option("friction"):s;this.Panzoom.content.x===n&&!this.Panzoom.velocity.x&&r||(this.Panzoom.panTo({x:n,y:a,friction:r,ignoreBounds:!0}),"ready"===this.state&&"ready"===this.Panzoom.state&&this.trigger("settle"))}},{key:"initPanzoom",value:function(){var t=this;this.Panzoom&&this.Panzoom.destroy();var e=S(!0,{},{content:this.$track,wrapInner:!1,resizeParent:!1,zoom:!1,click:!1,lockAxis:"x",x:this.pages.length?-1*this.pages[this.page].left:0,centerOnStart:!1,textSelection:function(){return t.option("textSelection",!1)},panOnlyZoomed:function(){return this.content.width<=this.viewport.width}},this.option("Panzoom"));this.Panzoom=new I(this.$container,e),this.Panzoom.on({"*":function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];return t.trigger.apply(t,["Panzoom.".concat(e)].concat(n))},afterUpdate:function(){t.updatePage()},beforeTransform:this.onBeforeTransform.bind(this),touchEnd:this.onTouchEnd.bind(this),endAnimation:function(){t.trigger("settle")}}),this.updateMetrics(),this.manageSlideVisiblity()}},{key:"updatePanzoom",value:function(){this.Panzoom&&(this.Panzoom.content=i(i({},this.Panzoom.content),{},{fitWidth:this.contentWidth,origWidth:this.contentWidth,width:this.contentWidth}
5573),this.pages.length>1&&this.option("infiniteX",this.option("infinite"))?this.Panzoom.boundX=null:this.pages.length&&(this.Panzoom.boundX={from:-1*this.pages[this.pages.length-1].left,to:-1*this.pages[0].left}),this.option("infiniteY",this.option("infinite"))?this.Panzoom.boundY=null:this.Panzoom.boundY={from:0,to:0},this.Panzoom.handleCursor())}},{key:"manageSlideVisiblity",value:function(){var t=this,e=this.contentWidth,i=this.viewportWidth,n=this.Panzoom?-1*this.Panzoom.content.x:this.pages.length?this.pages[this.page].left:0,o=this.option("preload"),a=this.option("infiniteX",this.option("infinite")),s=parseFloat(getComputedStyle(this.$viewport,null).getPropertyValue("padding-left")),r=parseFloat(getComputedStyle(this.$viewport,null).getPropertyValue("padding-right"));this.slides.forEach((function(l){var c,h,d=0;c=n-s,h=n+i+r,c-=o*(i+s+r),h+=o*(i+s+r);var u=l.left+l.width>c&&l.left<h;c=n+e-s,h=n+e+i+r,c-=o*(i+s+r);var f=a&&l.left+l.width>c&&l.left<h;c=n-e-s,h=n-e+i+r,c-=o*(i+s+r);var v=a&&l.left+l.width>c&&l.left<h;f||u||v?(t.createSlideEl(l),u&&(d=0),f&&(d=-1),v&&(d=1),l.left+l.width>n&&l.left<=n+i+r&&(d=0)):t.removeSlideEl(l),l.hasDiff=d}));var l=0,c=0;this.slides.forEach((function(t,i){var n=0;t.$el?(i!==l||t.hasDiff?n=c+t.hasDiff*e:c=0,t.$el.style.left=Math.abs(n)>.1?"".concat(c+t.hasDiff*e,"px"):"",l++):c+=t.width})),this.markSelectedSlides()}},{key:"createSlideEl",value:function(t){var e;if(t){if(!t.$el){var i,n=document.createElement("div");if(n.dataset.index=t.index,(e=n.classList).add.apply(e,y((this.option("prefix")+this.option("classNames.slide")).split(" "))),t.customClass)(i=n.classList).add.apply(i,y(t.customClass.split(" ")));t.html&&(n.innerHTML=t.html);var o=[];this.slides.forEach((function(t,e){t.$el&&o.push(e)}));var a=t.index,s=null;if(o.length){var r=o.reduce((function(t,e){return Math.abs(e-a)<Math.abs(t-a)?e:t}));s=this.slides[r]}return this.$track.insertBefore(n,s&&s.$el?s.index<t.index?s.$el.nextSibling:s.$el:null),t.$el=n,this.trigger("createSlide",t,a),t}var l,c=t.$el.dataset.index;c&&parseInt(c,10)===t.index||(t.$el.dataset.index=t.index,t.$el.querySelectorAll("[data-lazy-srcset]").forEach((function(t){t.srcset=t.dataset.lazySrcset})),t.$el.querySelectorAll("[data-lazy-src]").forEach((function(t){var e=t.dataset.lazySrc;t instanceof HTMLImageElement?t.src=e:t.style.backgroundImage="url('".concat(e,"')")})),(l=t.$el.dataset.lazySrc)&&(t.$el.style.backgroundImage="url('".concat(l,"')")),t.state="ready")}}},{key:"removeSlideEl",value:function(t){t.$el&&!t.isDom&&(this.trigger("removeSlide",t),t.$el.remove(),t.$el=null)}},{key:"markSelectedSlides",value:function(){var t=this,e=this.option("classNames.slideSelected"),i="aria-hidden";this.slides.forEach((function(n,o){var a=n.$el;if(a){var s=t.pages[t.page];s&&s.indexes&&s.indexes.indexOf(o)>-1?(e&&!a.classList.contains(e)&&(a.classList.add(e),t.trigger("selectSlide",n)),a.removeAttribute(i)):(e&&a.classList.contains(e)&&(a.classList.remove(e),t.trigger("unselectSlide",n)),a.setAttribute(i,!0))}}))}},{key:"updatePage",value:function(){this.updateMetrics(),this.slideTo(this.page,{friction:0})}},{key:"onBeforeTransform",value:function(){this.option("infiniteX",this.option("infinite"))&&this.manageInfiniteTrack(),this.manageSlideVisiblity()}},{key:"manageInfiniteTrack",value:function(){var t=this.contentWidth,e=this.viewportWidth;if(!(!this.option("infiniteX",this.option("infinite"))||this.pages.length<2||t<e)){var i=this.Panzoom,n=!1;return i.content.x<-1*(t-e)&&(i.content.x+=t,this.pageIndex=this.pageIndex-this.pages.length,n=!0),i.content.x>e&&(i.content.x-=t,this.pageIndex=this.pageIndex+this.pages.length,n=!0),n&&"pointerdown"===i.state&&i.resetDragPosition(),n}}},{key:"onTouchEnd",value:function(t,e){var i=this.option("dragFree");if(!i&&this.pages.length>1&&t.dragOffset.time<350&&Math.abs(t.dragOffset.y)<1&&Math.abs(t.dragOffset.x)>5)this[t.dragOffset.x<0?"slideNext":"slidePrev"]();else if(i){var n=m(this.getPageFromPosition(-1*t.transform.x),2)[1];this.setPage(n)}else this.slideToClosest()}},{key:"slideToClosest",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getPageFromPosition(-1*this.Panzoom.content.x),i=m(e,2),n=i[1];this.slideTo(n,t)}},{key:"getPageFromPosition",value:function(t){var e=this.pages.length;this.option("center")&&(t+=.5*this.viewportWidth);var i=Math.floor(t/this.contentWidth);t-=i*this.contentWidth;var n=this.slides.find((function(e){return e.left<=t&&e.left+e.width>t}));if(n){var o=this.findPageForSlide(n.index);return[o,o+i*e]}return[0,0]}},{key:"setPage",value:function(t,e){var i=0,n=parseInt(t,10)||0,o=this.page,a=this.pageIndex,s=this.pages.length,r=this.contentWidth,l=this.viewportWidth;if(t=(n%s+s)%s,this.option("infiniteX",this.option("infinite"))&&r>l){var c=Math.floor(n/s)||0,h=r;if(i=this.pages[t].left+c*h,!0===e&&s>2){var d=-1*this.Panzoom.content.x,u=i-h,f=i+h,v=Math.abs(d-i),p=Math.abs(d-u),g=Math.abs(d-f);g<v&&g<=p?(i=f,n+=s):p<v&&p<g&&(i=u,n-=s)}}else t=n=Math.max(0,Math.min(n,s-1)),i=this.pages.length?this.pages[t].left:0;return this.page=t,this.pageIndex=n,null!==o&&t!==o&&(this.prevPage=o,this.prevPageIndex=a,this.trigger("change",t,o)),i}},{key:"destroy",value:function(){var t=this;
5573this.state="destroy",this.slides.forEach((function(e){t.removeSlideEl(e)})),this.slides=[],this.Panzoom.destroy(),this.detachPlugins()}}]),n}(z);H.version="4.0.25",H.Plugins=B;var j=!("undefined"==typeof window||!window.document||!window.document.createElement),X=null,q=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"]):not([disabled]):not([aria-hidden])'],U=function(t){if(t&&j){null===X&&document.createElement("div").focus({get preventScroll(){return X=!0,!1}});try{if(t.setActive)t.setActive();else if(X)t.focus({preventScroll:!0});else{var e=window.pageXOffset||document.body.scrollTop,i=window.pageYOffset||document.body.scrollLeft;t.focus(),document.body.scrollTo({top:e,left:i,behavior:"auto"})}}catch(t){}}},Y=function(){function t(e){o(this,t),this.fancybox=e,this.viewport=null,this.pendingUpdate=null;for(var i=0,n=["onReady","onResize","onTouchstart","onTouchmove"];i<n.length;i++){var a=n[i];this[a]=this[a].bind(this)}}return s(t,[{key:"onReady",value:function(){var t=window.visualViewport;t&&(this.viewport=t,this.startY=0,t.addEventListener("resize",this.onResize),this.updateViewport()),window.addEventListener("touchstart",this.onTouchstart,{passive:!1}),window.addEventListener("touchmove",this.onTouchmove,{passive:!1}),window.addEventListener("wheel",this.onWheel,{passive:!1})}},{key:"onResize",value:function(){this.updateViewport()}},{key:"updateViewport",value:function(){var t=this.fancybox,e=this.viewport,i=e.scale||1,n=t.$container;if(n){var o="",a="",s="";i-1>.1&&(o="".concat(e.width*i,"px"),a="".concat(e.height*i,"px"),s="translate3d(".concat(e.offsetLeft,"px, ").concat(e.offsetTop,"px, 0) scale(").concat(1/i,")")),n.style.width=o,n.style.height=a,n.style.transform=s}}},{key:"onTouchstart",value:function(t){this.startY=t.touches?t.touches[0].screenY:t.screenY}},{key:"onTouchmove",value:function(t){var e=this.startY,i=window.innerWidth/window.document.documentElement.clientWidth;if(t.cancelable&&!(t.touches.length>1||1!==i)){var n=$(t.composedPath()[0]);if(n){var o=window.getComputedStyle(n),a=parseInt(o.getPropertyValue("height"),10),s=t.touches?t.touches[0].screenY:t.screenY,r=e<=s&&0===n.scrollTop,l=e>=s&&n.scrollHeight-n.scrollTop===a;(r||l)&&t.preventDefault()}else t.preventDefault()}}},{key:"onWheel",value:function(t){$(t.composedPath()[0])||t.preventDefault()}},{key:"cleanup",value:function(){this.pendingUpdate&&(cancelAnimationFrame(this.pendingUpdate),this.pendingUpdate=null);var t=this.viewport;t&&(t.removeEventListener("resize",this.onResize),this.viewport=null),window.removeEventListener("touchstart",this.onTouchstart,!1),window.removeEventListener("touchmove",this.onTouchmove,!1),window.removeEventListener("wheel",this.onWheel,{passive:!1})}},{key:"attach",value:function(){this.fancybox.on("initLayout",this.onReady)}},{key:"detach",value:function(){this.fancybox.off("initLayout",this.onReady),this.cleanup()}}]),t}(),V=function(){function t(e){o(this,t),this.fancybox=e,this.$container=null,this.state="init";for(var i=0,n=["onPrepare","onClosing","onKeydown"];i<n.length;i++){var a=n[i];this[a]=this[a].bind(this)}this.events={prepare:this.onPrepare,closing:this.onClosing,keydown:this.onKeydown}}return s(t,[{key:"onPrepare",value:function(){this.getSlides().length<this.fancybox.option("Thumbs.minSlideCount")?this.state="disabled":!0===this.fancybox.option("Thumbs.autoStart")&&this.fancybox.Carousel.Panzoom.content.height>=this.fancybox.option("Thumbs.minScreenHeight")&&this.build()}},{key:"onClosing",value:function(){this.Carousel&&this.Carousel.Panzoom.detachEvents()}},{key:"onKeydown",value:function(t,e){e===t.option("Thumbs.key")&&this.toggle()}},{key:"build",value:function(){var t=this;if(!this.$container){var e=document.createElement("div");e.classList.add("fancybox__thumbs"),this.fancybox.$carousel.parentNode.insertBefore(e,this.fancybox.$carousel.nextSibling),this.Carousel=new H(e,S(!0,{Dots:!1,Navigation:!1,Sync:{friction:0},infinite:!1,center:!0,fill:!0,dragFree:!0,slidesPerPage:1,preload:1},this.fancybox.option("Thumbs.Carousel"),{Sync:{target:this.fancybox.Carousel},slides:this.getSlides()})),this.Carousel.Panzoom.on("wheel",(function(e,i){i.preventDefault(),t.fancybox[i.deltaY<0?"prev":"next"]()})),this.$container=e,this.state="visible"}}},{key:"getSlides",value:function(){var t,e=[],i=w(this.fancybox.items);try{for(i.s();!(t=i.n()).done;){var n=t.value,o=n.thumb;o&&e.push({html:'<div class="fancybox__thumb" style="background-image:url(\''.concat(o,"')\"></div>"),customClass:"has-thumb has-".concat(n.type||"image")})}}catch(t){i.e(t)}finally{i.f()}return e}},{key:"toggle",value:function(){"visible"===this.state?this.hide():"hidden"===this.state?this.show():this.build()}},{key:"show",value:function(){"hidden"===this.state&&(this.$container.style.display="",this.Carousel.Panzoom.attachEvents(),this.state="visible")}},{key:"hide",value:function(){"visible"===this.state&&(this.Carousel.Panzoom.detachEvents(),this.$container.style.display="none",this.state="hidden")}},{key:"cleanup",value:function(){this.Carousel&&(this.Carousel.destroy(),this.Carousel=null),this.$container&&(this.$container.remove(),this.$container=null),this.state="init"}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events),this.cleanup()}}]),t}();V.defaults={minSlideCount:2,minScreenHeight:500,autoStart:!0,key:"t",Carousel:{}};var Z=function(t,e){for(var i=new URL(t),n=new URLSearchParams(i.search),o=new URLSearchParams,a=0,s=[].concat(y(n),y(Object.entries(e)));a<s.length;a++){var r=m(s[a],2),l=r[0],c=r[1];"t"===l?o.set("start",parseInt(c)):o.set(l,c)}o=o.toString();var h=t.match(/#t=((.*)?\d+s)/);return h&&(o+="#t=".concat(h[1])),o},G={video:{autoplay:!0,ratio:16/9},youtube:{autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},vimeo:{hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},html5video:{tpl:'<video class="fancybox__html5video" playsinline controls controlsList="nodownload" poster="{{poster}}">\n <source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos.</video>',format:""}}
5573,K=function(){function t(e){o(this,t),this.fancybox=e;for(var i=0,n=["onInit","onReady","onCreateSlide","onRemoveSlide","onSelectSlide","onUnselectSlide","onRefresh","onMessage"];i<n.length;i++){var a=n[i];this[a]=this[a].bind(this)}this.events={init:this.onInit,ready:this.onReady,"Carousel.createSlide":this.onCreateSlide,"Carousel.removeSlide":this.onRemoveSlide,"Carousel.selectSlide":this.onSelectSlide,"Carousel.unselectSlide":this.onUnselectSlide,"Carousel.refresh":this.onRefresh}}return s(t,[{key:"onInit",value:function(){var t,e=w(this.fancybox.items);try{for(e.s();!(t=e.n()).done;){var i=t.value;this.processType(i)}}catch(t){e.e(t)}finally{e.f()}}},{key:"processType",value:function(t){if(t.html)return t.src=t.html,t.type="html",void delete t.html;var e=t.src||"",i=t.type||this.fancybox.options.type,n=null;if(!e||"string"==typeof e){if(n=e.match(/(?:youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i)){var o=Z(e,this.fancybox.option("Html.youtube")),a=encodeURIComponent(n[1]);t.videoId=a,t.src="https://www.youtube-nocookie.com/embed/".concat(a,"?").concat(o),t.thumb=t.thumb||"https://i.ytimg.com/vi/".concat(a,"/mqdefault.jpg"),t.vendor="youtube",i="video"}else if(n=e.match(/^.+vimeo.com\/(?:\/)?([\d]+)(.*)?/)){var s=Z(e,this.fancybox.option("Html.vimeo")),r=encodeURIComponent(n[1]);t.videoId=r,t.src="https://player.vimeo.com/video/".concat(r,"?").concat(s),t.vendor="vimeo",i="video"}else(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i))?(t.src="//maps.google.".concat(n[1],"/?ll=").concat((n[2]?n[2]+"&z="+Math.floor(n[3])+(n[4]?n[4].replace(/^\//,"&"):""):n[4]+"").replace(/\?/,"&"),"&output=").concat(n[4]&&n[4].indexOf("layer=c")>0?"svembed":"embed"),i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src="//maps.google.".concat(n[1],"/maps?q=").concat(n[2].replace("query=","q=").replace("api=1",""),"&output=embed"),i="map");i||("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.format=t.format||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)&&(i="pdf")),t.type=i||this.fancybox.option("defaultType","image"),"html5video"!==i&&"video"!==i||(t.video=S({},this.fancybox.option("Html.video"),t.video),t._width&&t._height?t.ratio=parseFloat(t._width)/parseFloat(t._height):t.ratio=t.ratio||t.video.ratio||G.video.ratio)}}},{key:"onReady",value:function(){var t=this;this.fancybox.Carousel.slides.forEach((function(e){e.$el&&(t.setContent(e),e.index===t.fancybox.getSlide().index&&t.playVideo(e))}))}},{key:"onCreateSlide",value:function(t,e,i){"ready"===this.fancybox.state&&this.setContent(i)}},{key:"loadInlineContent",value:function(t){var e;if(t.src instanceof HTMLElement)e=t.src;else if("string"==typeof t.src){var i=t.src.split("#",2),n=2===i.length&&""===i[0]?i[1]:i[0];e=document.getElementById(n)}if(e){if("clone"===t.type||e.$placeHolder){var o=(e=e.cloneNode(!0)).getAttribute("id");o=o?"".concat(o,"--clone"):"clone-".concat(this.fancybox.id,"-").concat(t.index),e.setAttribute("id",o)}else{var a=document.createElement("div");a.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(a,e),e.$placeHolder=a}this.fancybox.setContent(t,e)}else this.fancybox.setError(t,"{{ELEMENT_NOT_FOUND}}")}},{key:"loadAjaxContent",value:function(t){var e=this.fancybox,i=new XMLHttpRequest;e.showLoading(t),i.onreadystatechange=function(){i.readyState===XMLHttpRequest.DONE&&"ready"===e.state&&(e.hideLoading(t),200===i.status?e.setContent(t,i.responseText):e.setError(t,404===i.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))},i.open("GET",t.src),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.send(t.ajax||null),t.xhr=i}},{key:"loadIframeContent",value:function(t){var e=this,i=this.fancybox,n=document.createElement("iframe");
5573if(n.className="fancybox__iframe",n.setAttribute("id","fancybox__iframe_".concat(i.id,"_").concat(t.index)),n.setAttribute("allow","autoplay; fullscreen"),n.setAttribute("scrolling","auto"),t.$iframe=n,"iframe"!==t.type||!1===t.preload)return n.setAttribute("src",t.src),this.fancybox.setContent(t,n),void this.resizeIframe(t);i.showLoading(t);var o=document.createElement("div");o.style.visibility="hidden",this.fancybox.setContent(t,o),o.appendChild(n),n.onerror=function(){i.setError(t,"{{IFRAME_ERROR}}")},n.onload=function(){i.hideLoading(t);var o=!1;n.isReady||(n.isReady=!0,o=!0),n.src.length&&(n.parentNode.style.visibility="",e.resizeIframe(t),o&&i.revealContent(t))},n.setAttribute("src",t.src)}},{key:"setAspectRatio",value:function(t){var e=t.$content,i=t.ratio;if(e){var n=t._width,o=t._height;if(i||n&&o){Object.assign(e.style,{width:n&&o?"100%":"",height:n&&o?"100%":"",maxWidth:"",maxHeight:""});var a=e.offsetWidth,s=e.offsetHeight;if(o=o||s,(n=n||a)>a||o>s){var r=Math.min(a/n,s/o);n*=r,o*=r}Math.abs(n/o-i)>.01&&(i<n/o?n=o*i:o=n/i),Object.assign(e.style,{width:"".concat(n,"px"),height:"".concat(o,"px")})}}}},{key:"resizeIframe",value:function(t){var e=t.$iframe;if(e){var i=t._width||0,n=t._height||0;i&&n&&(t.autoSize=!1);var o=e.parentNode,a=o&&o.style;if(!1!==t.preload&&!1!==t.autoSize&&a)try{var s=window.getComputedStyle(o),r=parseFloat(s.paddingLeft)+parseFloat(s.paddingRight),l=parseFloat(s.paddingTop)+parseFloat(s.paddingBottom),c=e.contentWindow.document,h=c.getElementsByTagName("html")[0],d=c.body;a.width="",d.style.overflow="hidden",i=i||h.scrollWidth+r,a.width="".concat(i,"px"),d.style.overflow="",a.flex="0 0 auto",a.height="".concat(d.scrollHeight,"px"),n=h.scrollHeight+l}catch(t){}if(i||n){var u={flex:"0 1 auto"};i&&(u.width="".concat(i,"px")),n&&(u.height="".concat(n,"px")),Object.assign(a,u)}}}},{key:"onRefresh",value:function(t,e){var i=this;e.slides.forEach((function(t){t.$el&&(t.$iframe&&i.resizeIframe(t),t.ratio&&i.setAspectRatio(t))}))}},{key:"setContent",value:function(t){if(t&&!t.isDom){switch(t.type){case"html":this.fancybox.setContent(t,t.src);break;case"html5video":this.fancybox.setContent(t,this.fancybox.option("Html.html5video.tpl").replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.format||t.html5video&&t.html5video.format||"").replace("{{poster}}",t.poster||t.thumb||""));break;case"inline":case"clone":this.loadInlineContent(t);break;case"ajax":this.loadAjaxContent(t);break;case"pdf":case"video":case"map":t.preload=!1;case"iframe":this.loadIframeContent(t)}t.ratio&&this.setAspectRatio(t)}}},{key:"onSelectSlide",value:function(t,e,i){"ready"===t.state&&this.playVideo(i)}},{key:"playVideo",value:function(t){if("html5video"===t.type&&t.video.autoplay)try{var e=t.$el.querySelector("video");if(e){var i=e.play();void 0!==i&&i.then((function(){})).catch((function(t){e.muted=!0,e.play()}))}}catch(t){}if("video"===t.type&&t.$iframe&&t.$iframe.contentWindow){!function e(){if("done"===t.state&&t.$iframe&&t.$iframe.contentWindow){var i;if(t.$iframe.isReady)return t.video&&t.video.autoplay&&(i="youtube"==t.vendor?{event:"command",func:"playVideo"}:{method:"play",value:"true"}),void(i&&t.$iframe.contentWindow.postMessage(JSON.stringify(i),"*"));"youtube"===t.vendor&&(i={event:"listening",id:t.$iframe.getAttribute("id")},t.$iframe.contentWindow.postMessage(JSON.stringify(i),"*"))}t.poller=setTimeout(e,250)}()}}},{key:"onUnselectSlide",value:function(t,e,i){if("html5video"!==i.type){var n=!1;"vimeo"==i.vendor?n={method:"pause",value:"true"}:"youtube"===i.vendor&&(n={event:"command",func:"pauseVideo"}),n&&i.$iframe&&i.$iframe.contentWindow&&i.$iframe.contentWindow.postMessage(JSON.stringify(n),"*"),clearTimeout(i.poller)}else try{i.$el.querySelector("video").pause()}catch(t){}}},{key:"onRemoveSlide",value:function(t,e,i){i.xhr&&(i.xhr.abort(),i.xhr=null),i.$iframe&&(i.$iframe.onload=i.$iframe.onerror=null,i.$iframe.src="//about:blank",i.$iframe=null);var n=i.$content;"inline"===i.type&&n&&(n.classList.remove("fancybox__content"),"none"!==n.style.display&&(n.style.display="none")),i.$closeButton&&(i.$closeButton.remove(),i.$closeButton=null);var o=n&&n.$placeHolder;o&&(o.parentNode.insertBefore(n,o),o.remove(),n.$placeHolder=null)}},{key:"onMessage",value:function(t){try{var e=JSON.parse(t.data);if("https://player.vimeo.com"===t.origin){if("ready"===e.event){var i,n=w(document.getElementsByClassName("fancybox__iframe"));try{for(n.s();!(i=n.n()).done;){var o=i.value;o.contentWindow===t.source&&(o.isReady=1)}}catch(t){n.e(t)}finally{n.f()}}}else"https://www.youtube-nocookie.com"===t.origin&&"onReady"===e.event&&(document.getElementById(e.id).isReady=1)}catch(t){}}},{key:"attach",value:function(){this.fancybox.on(this.events),window.addEventListener("message",this.onMessage,!1)}},{key:"detach",value:function(){this.fancybox.off(this.events),window.removeEventListener("message",this.onMessage,!1)}}]),t}();K.defaults=G;var J=function(){function t(e){o(this,t),this.fancybox=e;for(var i=0,n=["onReady","onClosing","onDone","onPageChange","onCreateSlide","onRemoveSlide","onImageStatusChange"];
5573i<n.length;i++){var a=n[i];this[a]=this[a].bind(this)}this.events={ready:this.onReady,closing:this.onClosing,done:this.onDone,"Carousel.change":this.onPageChange,"Carousel.createSlide":this.onCreateSlide,"Carousel.removeSlide":this.onRemoveSlide}}return s(t,[{key:"onReady",value:function(){var t=this;this.fancybox.Carousel.slides.forEach((function(e){e.$el&&t.setContent(e)}))}},{key:"onDone",value:function(t,e){this.handleCursor(e)}},{key:"onClosing",value:function(t){clearTimeout(this.clickTimer),this.clickTimer=null,t.Carousel.slides.forEach((function(t){t.$image&&(t.state="destroy"),t.Panzoom&&t.Panzoom.detachEvents()})),"closing"===this.fancybox.state&&this.canZoom(t.getSlide())&&this.zoomOut()}},{key:"onCreateSlide",value:function(t,e,i){"ready"===this.fancybox.state&&this.setContent(i)}},{key:"onRemoveSlide",value:function(t,e,i){i.$image&&(i.$el.classList.remove(t.option("Image.canZoomInClass")),i.$image.remove(),i.$image=null),i.Panzoom&&(i.Panzoom.destroy(),i.Panzoom=null),i.$el&&i.$el.dataset&&delete i.$el.dataset.imageFit}},{key:"setContent",value:function(t){var e=this;if(!(t.isDom||t.html||t.type&&"image"!==t.type||t.$image)){t.type="image",t.state="loading";var i=document.createElement("div");i.style.visibility="hidden";var n=document.createElement("img");n.addEventListener("load",(function(i){i.stopImmediatePropagation(),e.onImageStatusChange(t)})),n.addEventListener("error",(function(){e.onImageStatusChange(t)})),n.src=t.src,n.alt="",n.draggable=!1,n.classList.add("fancybox__image"),t.srcset&&n.setAttribute("srcset",t.srcset),t.sizes&&n.setAttribute("sizes",t.sizes),t.$image=n;var o=this.fancybox.option("Image.wrap");if(o){var a=document.createElement("div");a.classList.add("string"==typeof o?o:"fancybox__image-wrap"),a.appendChild(n),i.appendChild(a),t.$wrap=a}else i.appendChild(n);t.$el.dataset.imageFit=this.fancybox.option("Image.fit"),this.fancybox.setContent(t,i),n.complete||n.error?this.onImageStatusChange(t):this.fancybox.showLoading(t)}}},{key:"onImageStatusChange",value:function(t){var e=this,i=t.$image;i&&"loading"===t.state&&(i.complete&&i.naturalWidth&&i.naturalHeight?(this.fancybox.hideLoading(t),"contain"===this.fancybox.option("Image.fit")&&this.initSlidePanzoom(t),t.$el.addEventListener("wheel",(function(i){return e.onWheel(t,i)}),{passive:!1}),t.$content.addEventListener("click",(function(i){return e.onClick(t,i)}),{passive:!1}),this.revealContent(t)):this.fancybox.setError(t,"{{IMAGE_ERROR}}"))}},{key:"initSlidePanzoom",value:function(t){var e=this;t.Panzoom||(t.Panzoom=new I(t.$el,S(!0,this.fancybox.option("Image.Panzoom",{}),{viewport:t.$wrap,content:t.$image,width:t._width,height:t._height,wrapInner:!1,textSelection:!0,touch:this.fancybox.option("Image.touch"),panOnlyZoomed:!0,click:!1,wheel:!1})),t.Panzoom.on("startAnimation",(function(){e.fancybox.trigger("Image.startAnimation",t)})),t.Panzoom.on("endAnimation",(function(){"zoomIn"===t.state&&e.fancybox.done(t),e.handleCursor(t),e.fancybox.trigger("Image.endAnimation",t)})),t.Panzoom.on("afterUpdate",(function(){e.handleCursor(t),e.fancybox.trigger("Image.afterUpdate",t)})))}},{key:"revealContent",value:function(t){null===this.fancybox.Carousel.prevPage&&t.index===this.fancybox.options.startIndex&&this.canZoom(t)?this.zoomIn():this.fancybox.revealContent(t)}},{key:"getZoomInfo",value:function(t){var e=t.$thumb.getBoundingClientRect(),i=e.width,n=e.height,o=t.$content.getBoundingClientRect(),a=o.width,s=o.height,r=o.top-e.top,l=o.left-e.left,c=this.fancybox.option("Image.zoomOpacity");return"auto"===c&&(c=Math.abs(i/n-a/s)>.1),{top:r,left:l,scale:a&&i?i/a:1,opacity:c}}},{key:"canZoom",value:function(t){var e=this.fancybox,i=e.$container;if(window.visualViewport&&1!==window.visualViewport.scale)return!1;if(t.Panzoom&&!t.Panzoom.content.width)return!1;if(!e.option("Image.zoom")||"contain"!==e.option("Image.fit"))return!1;var n=t.$thumb;if(!n||"loading"===t.state)return!1;i.classList.add("fancybox__no-click");var o,a=n.getBoundingClientRect();if(this.fancybox.option("Image.ignoreCoveredThumbnail")){var s=document.elementFromPoint(a.left+1,a.top+1)===n,r=document.elementFromPoint(a.right-1,a.bottom-1)===n;o=s&&r}else o=document.elementFromPoint(a.left+.5*a.width,a.top+.5*a.height)===n;return i.classList.remove("fancybox__no-click"),o}},{key:"zoomIn",value:function(){var t=this.fancybox,e=t.getSlide(),i=e.Panzoom,n=this.getZoomInfo(e),o=n.top,a=n.left,s=n.scale,r=n.opacity;t.trigger("reveal",e),i.panTo({x:-1*a,y:-1*o,scale:s,friction:0,ignoreBounds:!0}),e.$content.style.visibility="",e.state="zoomIn",!0===r&&i.on("afterTransform",(function(t){"zoomIn"!==e.state&&"zoomOut"!==e.state||(t.$content.style.opacity=Math.min(1,1-(1-t.content.scale)/(1-s)))})),i.panTo({x:0,y:0,scale:1,friction:this.fancybox.option("Image.zoomFriction")})}},{key:"zoomOut",value:function(){var t=this,e=this.fancybox,i=e.getSlide(),n=i.Panzoom;if(n){i.state="zoomOut",e.state="customClosing",i.$caption&&(i.$caption.style.visibility="hidden");var o=this.fancybox.option("Image.zoomFriction"),a=function(e){var a=t.getZoomInfo(i),s=a.top,r=a.left,l=a.scale,c=a.opacity;e||c||(o*=.82),n.panTo({x:-1*r,y:-1*s,scale:l,friction:o,ignoreBounds:!0}),o*=.98};window.addEventListener("scroll",a),n.once("endAnimation",(function(){window.removeEventListener("scroll",a),e.destroy()})),a()}}},{key:"handleCursor",value:function(t){if("image"===t.type&&t.$el){var e=t.Panzoom,i=this.fancybox.option("Image.click",!1,t),n=this.fancybox.option("Image.touch"),o=t.$el.classList,a=this.fancybox.option("Image.canZoomInClass"),s=this.fancybox.option("Image.canZoomOutClass");if(o.remove(s),o.remove(a),e&&"toggleZoom"===i)e&&1===e.content.scale&&e.option("maxScale")-e.content.scale>.01?o.add(a):e.content.scale>1&&!n&&o.add(s);else"close"===i&&o.add(s)}}},{key:"onWheel",value:function(t,e){if("ready"===this.fancybox.state&&!1!==this.fancybox.trigger("Image.
5573wheel",e))switch(this.fancybox.option("Image.wheel")){case"zoom":"done"===t.state&&t.Panzoom&&t.Panzoom.zoomWithWheel(e);break;case"close":this.fancybox.close();break;case"slide":this.fancybox[e.deltaY<0?"prev":"next"]()}}},{key:"onClick",value:function(t,e){var i=this;if("ready"===this.fancybox.state){var n=t.Panzoom;if(!n||!n.dragPosition.midPoint&&0===n.dragOffset.x&&0===n.dragOffset.y&&1===n.dragOffset.scale){if(this.fancybox.Carousel.Panzoom.lockAxis)return!1;var o=function(n){switch(n){case"toggleZoom":e.stopPropagation(),t.Panzoom&&t.Panzoom.zoomWithClick(e);break;case"close":i.fancybox.close();break;case"next":e.stopPropagation(),i.fancybox.next()}},a=this.fancybox.option("Image.click"),s=this.fancybox.option("Image.doubleClick");s?this.clickTimer?(clearTimeout(this.clickTimer),this.clickTimer=null,o(s)):this.clickTimer=setTimeout((function(){i.clickTimer=null,o(a)}),300):o(a)}}}},{key:"onPageChange",value:function(t,e){var i=t.getSlide();e.slides.forEach((function(t){t.Panzoom&&"done"===t.state&&t.index!==i.index&&t.Panzoom.panTo({x:0,y:0,scale:1,friction:.8})}))}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events)}}]),t}();J.defaults={canZoomInClass:"can-zoom_in",canZoomOutClass:"can-zoom_out",zoom:!0,zoomOpacity:"auto",zoomFriction:.82,ignoreCoveredThumbnail:!1,touch:!0,click:"toggleZoom",doubleClick:null,wheel:"zoom",fit:"contain",wrap:!1,Panzoom:{ratio:1}};var Q=function(){function t(e){o(this,t),this.fancybox=e;for(var i=0,n=["onChange","onClosing"];i<n.length;i++){var a=n[i];this[a]=this[a].bind(this)}this.events={initCarousel:this.onChange,"Carousel.change":this.onChange,closing:this.onClosing},this.hasCreatedHistory=!1,this.origHash="",this.timer=null}return s(t,[{key:"onChange",value:function(t){var e=this,i=t.Carousel;this.timer&&clearTimeout(this.timer);var n=null===i.prevPage,o=t.getSlide(),a=new URL(document.URL).hash,s=!1;if(o.slug)s="#"+o.slug;else{var r=o.$trigger&&o.$trigger.dataset,l=t.option("slug")||r&&r.fancybox;l&&l.length&&"true"!==l&&(s="#"+l+(i.slides.length>1?"-"+(o.index+1):""))}n&&(this.origHash=a!==s?a:""),s&&a!==s&&(this.timer=setTimeout((function(){try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+s),n&&(e.hasCreatedHistory=!0)}catch(t){}}),300))}},{key:"onClosing",value:function(){if(this.timer&&clearTimeout(this.timer),!0!==this.hasSilentClose)try{return void window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash||""))}catch(t){}}},{key:"attach",value:function(t){t.on(this.events)}},{key:"detach",value:function(t){t.off(this.events)}}],[{key:"startFromUrl",value:function(){var e=t.Fancybox;if(e&&!e.getInstance()&&!1!==e.defaults.Hash){var i=t.getParsedURL(),n=i.hash,o=i.slug,a=i.index;if(o){var s=document.querySelector('[data-slug="'.concat(n,'"]'));if(s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),!e.getInstance()){var r=document.querySelectorAll('[data-fancybox="'.concat(o,'"]'));r.length&&(null===a&&1===r.length?s=r[0]:a&&(s=r[a-1]),s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}}}}},{key:"onHashChange",value:function(){var e=t.getParsedURL(),i=e.slug,n=e.index,o=t.Fancybox,a=o&&o.getInstance();if(a&&a.plugins.Hash){if(i){var s=a.Carousel;if(i===a.option("slug"))return s.slideTo(n-1);var r,l=w(s.slides);try{for(l.s();!(r=l.n()).done;){var c=r.value;if(c.slug&&c.slug===i)return s.slideTo(c.index)}}catch(t){l.e(t)}finally{l.f()}var h=a.getSlide(),d=h.$trigger&&h.$trigger.dataset;if(d&&d.fancybox===i)return s.slideTo(n-1)}a.plugins.Hash.hasSilentClose=!0,a.close()}t.startFromUrl()}},{key:"create",value:function(e){function i(){window.addEventListener("hashchange",t.onHashChange,!1),t.startFromUrl()}t.Fancybox=e,j&&window.requestAnimationFrame((function(){/complete|interactive|loaded/.test(document.readyState)?i():document.addEventListener("DOMContentLoaded",i)}))}},{key:"destroy",value:function(){window.removeEventListener("hashchange",t.onHashChange,!1)}},{key:"getParsedURL",value:function(){var t=window.location.hash.substr(1),e=t.split("-"),i=e.length>1&&/^\+?\d+$/.test(e[e.length-1])&&parseInt(e.pop(-1),10)||null;return{hash:t,slug:e.join("-"),index:i}}}]),t}(),tt={pageXOffset:0,pageYOffset:0,element:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement},activate:function(t){tt.pageXOffset=window.pageXOffset,tt.pageYOffset=window.pageYOffset,t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen()},deactivate:function(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}},et=function(){function t(e){o(this,t),this.fancybox=e,this.active=!1,this.handleVisibilityChange=this.handleVisibilityChange.bind(this)}return s(t,[{key:"isActive",value:function(){return this.active}},{key:"setTimer",value:function(){var t=this;if(this.active&&!this.timer){var e=this.fancybox.option("slideshow.delay",3e3);this.timer=setTimeout((function(){t.timer=null,t.fancybox.option("infinite")||t.fancybox.getSlide().index!==t.fancybox.Carousel.slides.length-1?t.fancybox.next():t.fancybox.jumpTo(0,{friction:0})}),e);var i=this.$progress;i||((i=document.createElement("div")).classList.add("fancybox__progress"),this.fancybox.$carousel.parentNode.insertBefore(i,this.fancybox.$carousel),this.$progress=i,i.offsetHeight),i.style.transitionDuration="".concat(e,"ms"),i.style.transform="scaleX(1)"}}},{key:"clearTimer",value:function(){clearTimeout(this.timer),this.timer=null,this.$progress&&(this.$progress.style.transitionDuration="",this.$progress.style.transform="",this.$progress.offsetHeight)}},{key:"activate",value:function(){this.active||(this.active=!0,this.fancybox.$container.classList.add("has-slideshow"),"done"===this.fancybox.getSlide().state&&this.setTimer(),document.addEventListener("visibilitychange",this.handleVisibilityChange,!1))}},{key:"handleVisibilityChange",value:function(){this.deactivate()}},{key:"deactivate",value:function(){this.active=!1,this.clearTimer(),this.fancybox.$container.classList.remove("has-slideshow"),document.removeEventListener("visibilitychange",this.handleVisibilityChange,!1)}},{key:"toggle",value:function(){this.active?this.deactivate():this.fancybox.Carousel.slides.length>1&&this.activate()}}]),t}(),it={display:["counter","zoom","slideshow","fullscreen","thumbs","close"],autoEnable:!0,items:{counter:{position:"left",type:"div",class:"fancybox__counter",html:'<span data-fancybox-index=""></span> / <span data-fancybox-count=""></span>',attr:{tabindex:-1}},prev:{type:"button",class:"fancybox__button--prev",label:"PREV",html:'<svg viewBox="0 0 24 24">
5573<path d="M15 4l-8 8 8 8"/></svg>',attr:{"data-fancybox-prev":""}},next:{type:"button",class:"fancybox__button--next",label:"NEXT",html:'<svg viewBox="0 0 24 24"><path d="M8 4l8 8-8 8"/></svg>',attr:{"data-fancybox-next":""}},fullscreen:{type:"button",class:"fancybox__button--fullscreen",label:"TOGGLE_FULLSCREEN",html:'<svg viewBox="0 0 24 24">\n <g><path d="M3 8 V3h5"></path><path d="M21 8V3h-5"></path><path d="M8 21H3v-5"></path><path d="M16 21h5v-5"></path></g>\n <g><path d="M7 2v5H2M17 2v5h5M2 17h5v5M22 17h-5v5"/></g>\n </svg>',click:function(t){t.preventDefault(),tt.element()?tt.deactivate():tt.activate(this.fancybox.$container)}},slideshow:{type:"button",class:"fancybox__button--slideshow",label:"TOGGLE_SLIDESHOW",html:'<svg viewBox="0 0 24 24">\n <g><path d="M6 4v16"/><path d="M20 12L6 20"/><path d="M20 12L6 4"/></g>\n <g><path d="M7 4v15M17 4v15"/></g>\n </svg>',click:function(t){t.preventDefault(),this.Slideshow.toggle()}},zoom:{type:"button",class:"fancybox__button--zoom",label:"TOGGLE_ZOOM",html:'<svg viewBox="0 0 24 24"><circle cx="10" cy="10" r="7"></circle><path d="M16 16 L21 21"></svg>',click:function(t){t.preventDefault();var e=this.fancybox.getSlide().Panzoom;e&&e.toggleZoom()}},download:{type:"link",label:"DOWNLOAD",class:"fancybox__button--download",html:'<svg viewBox="0 0 24 24"><path d="M12 15V3m0 12l-4-4m4 4l4-4M2 17l.62 2.48A2 2 0 004.56 21h14.88a2 2 0 001.94-1.51L22 17"/></svg>',click:function(t){t.stopPropagation()}},thumbs:{type:"button",label:"TOGGLE_THUMBS",class:"fancybox__button--thumbs",html:'<svg viewBox="0 0 24 24"><circle cx="4" cy="4" r="1" /><circle cx="12" cy="4" r="1" transform="rotate(90 12 4)"/><circle cx="20" cy="4" r="1" transform="rotate(90 20 4)"/><circle cx="4" cy="12" r="1" transform="rotate(90 4 12)"/><circle cx="12" cy="12" r="1" transform="rotate(90 12 12)"/><circle cx="20" cy="12" r="1" transform="rotate(90 20 12)"/><circle cx="4" cy="20" r="1" transform="rotate(90 4 20)"/><circle cx="12" cy="20" r="1" transform="rotate(90 12 20)"/><circle cx="20" cy="20" r="1" transform="rotate(90 20 20)"/></svg>',click:function(t){t.stopPropagation();var e=this.fancybox.plugins.Thumbs;e&&e.toggle()}},close:{type:"button",label:"CLOSE",class:"fancybox__button--close",html:'<svg viewBox="0 0 24 24"><path d="M20 20L4 4m16 0L4 20"></path></svg>',attr:{"data-fancybox-close":"",tabindex:0}}}},nt=function(){function t(e){var i=this;o(this,t),this.fancybox=e,this.$container=null,this.state="init";for(var n=0,a=["onInit","onPrepare","onDone","onKeydown","onClosing","onChange","onSettle","onRefresh"];n<a.length;n++){var s=a[n];this[s]=this[s].bind(this)}this.events={init:this.onInit,prepare:this.onPrepare,done:this.onDone,keydown:this.onKeydown,closing:this.onClosing,"Carousel.change":this.onChange,"Carousel.settle":this.onSettle,"Carousel.Panzoom.touchStart":function(){return i.onRefresh()},"Image.startAnimation":function(t,e){return i.onRefresh(e)},"Image.afterUpdate":function(t,e){return i.onRefresh(e)}}}return s(t,[{key:"onInit",value:function(){if(this.fancybox.option("Toolbar.autoEnable")){var t,e=!1,i=w(this.fancybox.items);try{for(i.s();!(t=i.n()).done;){if("image"===t.value.type){e=!0;break}}}catch(t){i.e(t)}finally{i.f()}if(!e)return void(this.state="disabled")}var n,o=w(this.fancybox.option("Toolbar.display"));try{for(o.s();!(n=o.n()).done;){var a=n.value;if("close"===(k(a)?a.id:a)){this.fancybox.options.closeButton=!1;break}}}catch(t){o.e(t)}finally{o.f()}}},{key:"onPrepare",value:function(){var t=this.fancybox;if("init"===this.state&&(this.build(),this.update(),this.Slideshow=new et(t),!t.Carousel.prevPage&&(t.option("slideshow.autoStart")&&this.Slideshow.activate(),t.option("fullscreen.autoStart")&&!tt.element())))try{tt.activate(t.$container)}catch(t){}}},{key:"onFsChange",value:function(){window.scrollTo(tt.pageXOffset,tt.pageYOffset)}},{key:"onSettle",value:function(){var t=this.fancybox,e=this.Slideshow;e&&e.isActive()&&(t.getSlide().index!==t.Carousel.slides.length-1||t.option("infinite")?"done"===t.getSlide().state&&e.setTimer():e.deactivate())}},{key:"onChange",value:function(){this.update(),this.Slideshow&&this.Slideshow.isActive()&&this.Slideshow.clearTimer()}},{key:"onDone",value:function(t,e){var i=this.Slideshow;e.index===t.getSlide().index&&(this.update(),i&&i.isActive()&&(t.option("infinite")||e.index!==t.Carousel.slides.length-1?i.setTimer():i.deactivate()))}},{key:"onRefresh",value:function(t){t&&t.index!==this.fancybox.getSlide().index||(this.update(),!this.Slideshow||!this.Slideshow.isActive()||t&&"done"!==t.state||this.Slideshow.deactivate())}}
5573,{key:"onKeydown",value:function(t,e,i){" "===e&&this.Slideshow&&(this.Slideshow.toggle(),i.preventDefault())}},{key:"onClosing",value:function(){this.Slideshow&&this.Slideshow.deactivate(),document.removeEventListener("fullscreenchange",this.onFsChange)}},{key:"createElement",value:function(t){var e,i;("div"===t.type?e=document.createElement("div"):(e=document.createElement("link"===t.type?"a":"button")).classList.add("carousel__button"),e.innerHTML=t.html,e.setAttribute("tabindex",t.tabindex||0),t.class)&&(i=e.classList).add.apply(i,y(t.class.split(" ")));for(var n in t.attr)e.setAttribute(n,t.attr[n]);t.label&&e.setAttribute("title",this.fancybox.localize("{{".concat(t.label,"}}"))),t.click&&e.addEventListener("click",t.click.bind(this)),"prev"===t.id&&e.setAttribute("data-fancybox-prev",""),"next"===t.id&&e.setAttribute("data-fancybox-next","");var o=e.querySelector("svg");return o&&(o.setAttribute("role","img"),o.setAttribute("tabindex","-1"),o.setAttribute("xmlns","http://www.w3.org/2000/svg")),e}},{key:"build",value:function(){var t=this;this.cleanup();var e,i=this.fancybox.option("Toolbar.items"),n=[{position:"left",items:[]},{position:"center",items:[]},{position:"right",items:[]}],o=this.fancybox.plugins.Thumbs,a=w(this.fancybox.option("Toolbar.display"));try{var s=function(){var a=e.value,s=void 0,r=void 0;if(k(a)?(s=a.id,r=S({},i[s],a)):r=i[s=a],["counter","next","prev","slideshow"].includes(s)&&t.fancybox.items.length<2)return"continue";if("fullscreen"===s){if(!document.fullscreenEnabled||window.fullScreen)return"continue";document.addEventListener("fullscreenchange",t.onFsChange)}if("thumbs"===s&&(!o||"disabled"===o.state))return"continue";if(!r)return"continue";var l=r.position||"right",c=n.find((function(t){return t.position===l}));c&&c.items.push(r)};for(a.s();!(e=a.n()).done;)s()}catch(t){a.e(t)}finally{a.f()}var r=document.createElement("div");r.classList.add("fancybox__toolbar");for(var l=0,c=n;l<c.length;l++){var h=c[l];if(h.items.length){var d=document.createElement("div");d.classList.add("fancybox__toolbar__items"),d.classList.add("fancybox__toolbar__items--".concat(h.position));var u,f=w(h.items);try{for(f.s();!(u=f.n()).done;){var v=u.value;d.appendChild(this.createElement(v))}}catch(t){f.e(t)}finally{f.f()}r.appendChild(d)}}this.fancybox.$carousel.parentNode.insertBefore(r,this.fancybox.$carousel),this.$container=r}},{key:"update",value:function(){var t,e=this.fancybox.getSlide(),i=e.index,n=this.fancybox.items.length,o=e.downloadSrc||("image"!==e.type||e.error?null:e.src),a=w(this.fancybox.$container.querySelectorAll("a.fancybox__button--download"));try{for(a.s();!(t=a.n()).done;){var s=t.value;o?(s.removeAttribute("disabled"),s.removeAttribute("tabindex"),s.setAttribute("href",o),s.setAttribute("download",o),s.setAttribute("target","_blank")):(s.setAttribute("disabled",""),s.setAttribute("tabindex",-1),s.removeAttribute("href"),s.removeAttribute("download"))}}catch(t){a.e(t)}finally{a.f()}var r,l=e.Panzoom,c=l&&l.option("maxScale")>l.option("baseScale"),h=w(this.fancybox.$container.querySelectorAll(".fancybox__button--zoom"));try{for(h.s();!(r=h.n()).done;){var d=r.value;c?d.removeAttribute("disabled"):d.setAttribute("disabled","")}}catch(t){h.e(t)}finally{h.f()}var u,f=w(this.fancybox.$container.querySelectorAll("[data-fancybox-index]"));try{for(f.s();!(u=f.n()).done;){u.value.innerHTML=e.index+1}}catch(t){f.e(t)}finally{f.f()}var v,p=w(this.fancybox.$container.querySelectorAll("[data-fancybox-count]"));try{for(p.s();!(v=p.n()).done;){v.value.innerHTML=n}}catch(t){p.e(t)}finally{p.f()}if(!this.fancybox.option("infinite")){var g,m=w(this.fancybox.$container.querySelectorAll("[data-fancybox-prev]"));try{for(m.s();!(g=m.n()).done;){var y=g.value;0===i?y.setAttribute("disabled",""):y.removeAttribute("disabled")}}catch(t){m.e(t)}finally{m.f()}var b,x=w(this.fancybox.$container.querySelectorAll("[data-fancybox-next]"));try{for(x.s();!(b=x.n()).done;){var k=b.value;i===n-1?k.setAttribute("disabled",""):k.removeAttribute("disabled")}}catch(t){x.e(t)}finally{x.f()}}}},{key:"cleanup",value:function(){this.Slideshow&&this.Slideshow.isActive()&&this.Slideshow.clearTimer(),this.$container&&this.$container.remove(),this.$container=null}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events),this.cleanup()}}]),t}();nt.defaults=it;var ot={ScrollLock:Y,Thumbs:V,Html:K,Toolbar:nt,Image:J,Hash:Q},at={startIndex:0,preload:1,infinite:!0,showClass:"fancybox-zoomInUp",hideClass:"fancybox-fadeOut",animated:!0,hideScrollbar:!0,parentEl:null,mainClass:null,autoFocus:!0,trapFocus:!0,placeFocusBack:!0,click:"close",closeButton:"inside",dragToClose:!0,keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"next",ArrowDown:"prev",ArrowRight:"next",ArrowLeft:"prev"},template:{closeButton:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" tabindex="-1">
5573<path d="M20 20L4 4m16 0L4 20"/></svg>',spinner:'<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="25 25 50 50" tabindex="-1"><circle cx="50" cy="50" r="20"/></svg>',main:null},l10n:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"}},st=new Map,rt=0,lt=function(t){l(i,t);var e=f(i);function i(t){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o(this,i),t=t.map((function(t){return t.width&&(t._width=t.width),t.height&&(t._height=t.height),t})),(n=e.call(this,S(!0,{},at,a))).bindHandlers(),n.state="init",n.setItems(t),n.attachPlugins(i.Plugins),n.trigger("init"),!0===n.option("hideScrollbar")&&n.hideScrollbar(),n.initLayout(),n.initCarousel(),n.attachEvents(),st.set(n.id,d(n)),n.trigger("prepare"),n.state="ready",n.trigger("ready"),n.$container.setAttribute("aria-hidden","false"),n.option("trapFocus")&&n.focus(),n}return s(i,[{key:"option",value:function(t){for(var e,n=this.getSlide(),o=n?n[t]:void 0,a=arguments.length,s=new Array(a>1?a-1:0),r=1;r<a;r++)s[r-1]=arguments[r];if(void 0!==o){var l;if("function"==typeof o)(l=o).call.apply(l,[this,this].concat(s)),g("value");return o}return(e=p(c(i.prototype),"option",this)).call.apply(e,[this,t].concat(s))}},{key:"bindHandlers",value:function(){for(var t=0,e=["onMousedown","onKeydown","onClick","onFocus","onCreateSlide","onSettle","onTouchMove","onTouchEnd","onTransform"];t<e.length;t++){var i=e[t];this[i]=this[i].bind(this)}}},{key:"attachEvents",value:function(){document.addEventListener("mousedown",this.onMousedown),document.addEventListener("keydown",this.onKeydown,!0),this.option("trapFocus")&&document.addEventListener("focus",this.onFocus,!0),this.$container.addEventListener("click",this.onClick)}},{key:"detachEvents",value:function(){document.removeEventListener("mousedown",this.onMousedown),document.removeEventListener("keydown",this.onKeydown,!0),document.removeEventListener("focus",this.onFocus,!0),this.$container.removeEventListener("click",this.onClick)}},{key:"initLayout",value:function(){var t=this;this.$root=this.option("parentEl")||document.body;var e=this.option("template.main");e&&(this.$root.insertAdjacentHTML("beforeend",this.localize(e)),this.$container=this.$root.querySelector(".fancybox__container")),this.$container||(this.$container=document.createElement("div"),this.$root.appendChild(this.$container)),this.$container.onscroll=function(){return t.$container.scrollLeft=0,!1},Object.entries({class:"fancybox__container",role:"dialog",tabIndex:"-1","aria-modal":"true","aria-hidden":"true","aria-label":this.localize("{{MODAL}}")}).forEach((function(e){var i;return(i=t.$container).setAttribute.apply(i,y(e))})),this.option("animated")&&this.$container.classList.add("is-animated"),this.$backdrop=this.$container.querySelector(".fancybox__backdrop"),this.$backdrop||(this.$backdrop=document.createElement("div"),this.$backdrop.classList.add("fancybox__backdrop"),this.$container.appendChild(this.$backdrop)),this.$carousel=this.$container.querySelector(".fancybox__carousel"),this.$carousel||(this.$carousel=document.createElement("div"),this.$carousel.classList.add("fancybox__carousel"),this.$container.appendChild(this.$carousel)),this.$container.Fancybox=this,this.id=this.$container.getAttribute("id"),this.id||(this.id=this.options.id||++rt,this.$container.setAttribute("id","fancybox-"+this.id));var i,n=this.option("mainClass");n&&(i=this.$container.classList).add.apply(i,y(n.split(" ")));return document.documentElement.classList.add("with-fancybox"),this.trigger("initLayout"),this}},{key:"setItems",value:function(t){var e,i=[],n=w(t);try{for(n.s();!(e=n.n()).done;){var o=e.value,a=o.$trigger;if(a){var s=a.dataset||{};o.src=s.src||a.getAttribute("href")||o.src,o.type=s.type||o.type,!o.src&&a instanceof HTMLImageElement&&(o.src=a.currentSrc||o.$trigger.src)}var r=o.$thumb;if(!r){var l=o.$trigger&&o.$trigger.origTarget;l&&(r=l instanceof HTMLImageElement?l:l.querySelector("img:not([aria-hidden])")),!r&&o.$trigger&&(r=o.$trigger instanceof HTMLImageElement?o.$trigger:o.$trigger.querySelector("img:not([aria-hidden])"))}o.$thumb=r||null;var c=o.thumb;!c&&r&&!(c=r.currentSrc||r.src)&&r.dataset&&(c=r.dataset.lazySrc||r.dataset.src),c||"image"!==o.type||(c=o.src),o.thumb=c||null,o.caption=o.caption||"",i.push(o)}}catch(t){n.e(t)}finally{n.f()}this.items=i}},{key:"initCarousel",value:function(){var t=this;return this.Carousel=new H(this.$carousel,S(!0,{},{prefix:"",classNames:{viewport:"fancybox__viewport",track:"fancybox__track",slide:"fancybox__slide"},textSelection:!0,preload:this.option("preload"),friction:.88,slides:this.items,initialPage:this.options.startIndex,slidesPerPage:1,infiniteX:this.option("infinite"),infiniteY:!0,l10n:this.option("l10n"),Dots:!1,Navigation:{classNames:{main:"fancybox__nav",button:"carousel__button",next:"is-next",prev:"is-prev"}},Panzoom:{textSelection:!0,panOnlyZoomed:function(){return t.Carousel&&t.Carousel.pages&&t.Carousel.pages.length<2&&!t.option("dragToClose")},lockAxis:function(){if(t.Carousel){var e="x";return t.option("dragToClose")&&(e+="y"),e}}},on:{"*":function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];
5573return t.trigger.apply(t,["Carousel.".concat(e)].concat(n))},init:function(e){return t.Carousel=e},createSlide:this.onCreateSlide,settle:this.onSettle}},this.option("Carousel"))),this.option("dragToClose")&&this.Carousel.Panzoom.on({touchMove:this.onTouchMove,afterTransform:this.onTransform,touchEnd:this.onTouchEnd}),this.trigger("initCarousel"),this}},{key:"onCreateSlide",value:function(t,e){var i=e.caption||"";if("function"==typeof this.options.caption&&(i=this.options.caption.call(this,this,this.Carousel,e)),"string"==typeof i&&i.length){var n=document.createElement("div"),o="fancybox__caption_".concat(this.id,"_").concat(e.index);n.className="fancybox__caption",n.innerHTML=i,n.setAttribute("id",o),e.$caption=e.$el.appendChild(n),e.$el.classList.add("has-caption"),e.$el.setAttribute("aria-labelledby",o)}}},{key:"onSettle",value:function(){this.option("autoFocus")&&this.focus()}},{key:"onFocus",value:function(t){this.focus(t)}},{key:"onClick",value:function(t){if(!t.defaultPrevented){var e=t.composedPath()[0];if(e.matches("[data-fancybox-close]"))return t.preventDefault(),void i.close(!1,t);if(e.matches("[data-fancybox-next]"))return t.preventDefault(),void i.next();if(e.matches("[data-fancybox-prev]"))return t.preventDefault(),void i.prev();var n=".fancybox__content";if(e.closest(n))e.matches(n)&&document.activeElement.blur();else if(!getSelection().toString().length)if(!1!==this.trigger("click",t))switch(this.option("click")){case"close":this.close();break;case"next":this.next()}}}},{key:"onTouchMove",value:function(){var t=this.getSlide().Panzoom;return!t||1===t.content.scale}},{key:"onTouchEnd",value:function(t){var e=t.dragOffset.y;Math.abs(e)>=150||Math.abs(e)>=35&&t.dragOffset.time<350?(this.option("hideClass")&&(this.getSlide().hideClass="fancybox-throwOut".concat(t.content.y<0?"Up":"Down")),this.close()):"y"===t.lockAxis&&t.panTo({y:0})}},{key:"onTransform",value:function(t){if(this.$backdrop){var e=Math.abs(t.content.y),i=e<1?"":Math.max(.33,Math.min(1,1-e/t.content.fitHeight*1.5));this.$container.style.setProperty("--fancybox-ts",i?"0s":""),this.$container.style.setProperty("--fancybox-opacity",i)}}},{key:"onMousedown",value:function(){"ready"===this.state&&document.body.classList.add("is-using-mouse")}},{key:"onKeydown",value:function(t){if(i.getInstance().id===this.id){document.body.classList.remove("is-using-mouse");var e=t.key,n=this.option("keyboard");if(n&&!t.ctrlKey&&!t.altKey&&!t.shiftKey){var o=t.composedPath()[0],a=document.activeElement&&document.activeElement.classList,s=a&&a.contains("carousel__button");if("Escape"!==e&&!s)if(t.target.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(o.nodeName))return;if(!1!==this.trigger("keydown",e,t)){var r=n[e];"function"==typeof this[r]&&this[r]()}}}}},{key:"getSlide",value:function(){var t=this.Carousel;if(!t)return null;var e=null===t.page?t.option("initialPage"):t.page,i=t.pages||[];return i.length&&i[e]?i[e].slides[0]:null}},{key:"focus",value:function(t){if(!(i.ignoreFocusChange||["init","closing","customClosing","destroy"].indexOf(this.state)>-1)){t&&t.preventDefault(),i.ignoreFocusChange=!0;for(var e,n=this.$container,o=this.getSlide(),a="done"===o.state?o.$el:null,s=[],r=0,l=Array.from(n.querySelectorAll(q));r<l.length;r++){var c=l[r],h=c.offsetParent,d=a&&a.contains(c),u=!this.Carousel.$viewport.contains(c);h&&(d||u)?(s.push(c),void 0!==c.dataset.origTabindex&&(c.tabIndex=c.dataset.origTabindex,c.removeAttribute("data-orig-tabindex")),(c.hasAttribute("autoFocus")||!e&&d&&!c.classList.contains("carousel__button"))&&(e=c)):(c.dataset.origTabindex=void 0===c.dataset.origTabindex?c.getAttribute("tabindex"):c.dataset.origTabindex,c.tabIndex=-1)}t?s.indexOf(t.target)>-1?this.lastFocus=t.target:this.lastFocus===n?U(s[s.length-1]):U(n):this.option("autoFocus")&&e?U(e):s.indexOf(document.activeElement)<0&&U(n),this.lastFocus=document.activeElement,i.ignoreFocusChange=!1}}},{key:"hideScrollbar",value:function(){if(j){var t=window.innerWidth-document.documentElement.getBoundingClientRect().width,e="fancybox-style-noscroll",i=document.getElementById(e);i||t>0&&((i=document.createElement("style")).id=e,i.type="text/css",i.innerHTML=".compensate-for-scrollbar {padding-right: ".concat(t,"px;}"),document.getElementsByTagName("head")[0].appendChild(i),document.body.classList.add("compensate-for-scrollbar"))}}},{key:"revealScrollbar",value:function(){document.body.classList.remove("compensate-for-scrollbar");var t=document.getElementById("fancybox-style-noscroll");t&&t.remove()}},{key:"clearContent",value:function(t){this.Carousel.trigger("removeSlide",t),t.$content&&(t.$content.remove(),t.$content=null),t.$closeButton&&(t.$closeButton.remove(),t.$closeButton=null),t._className&&t.$el.classList.remove(t._className)}},{key:"setContent",value:function(t,e){var i,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.$el;if(e instanceof HTMLElement)["img","iframe","video","audio"].indexOf(e.nodeName.toLowerCase())>-1?(i=document.createElement("div")).appendChild(e):i=e;else{var a=document.createRange().createContextualFragment(e);(i=document.createElement("div")).appendChild(a)}if(t.filter&&!t.error&&(i=i.querySelector(t.filter)),i instanceof Element)return t._className="has-".concat(n.suffix||t.type||"unknown"),o.classList.add(t._className),i.classList.add("fancybox__content"),"none"!==i.style.display&&"none"!==getComputedStyle(i).getPropertyValue("display")||(i.style.display=t.display||this.option("defaultDisplay")||"flex"),t.id&&i.setAttribute("id",t.id),t.$content=i,o.prepend(i),this.manageCloseButton(t),"loading"!==t.state&&this.revealContent(t),i;this.setError(t,"{{ELEMENT_NOT_FOUND}}")}},{key:"manageCloseButton",value:function(t){var e=this,i=void 0===t.closeButton?this.option("closeButton"):t.closeButton;if(i&&("top"!==i||!this.$closeButton)){var n=document.createElement("button");n.classList.add("carousel__button","is-close"),n.setAttribute("title",this.options.l10n.CLOSE),n.innerHTML=this.option("template.closeButton"),n.addEventListener("click",(function(t){return e.close(t)})),"inside"===i?(t.$closeButton&&t.$closeButton.remove(),t.$closeButton=t.$content.appendChild(n)):this.$closeButton=this.$container.insertBefore(n,this.$container.firstChild)}}},{key:"revealContent",value:function(t){var e=this;this.trigger("reveal",t),t.$content.style.visibility="";var i=!1;t.error||"loading"===t.state||null!==this.Carousel.prevPage||t.index!==this.options.startIndex||(i=void 0===t.showClass?this.option("showClass"):t.showClass),i?(t.state="animating",this.animateCSS(t.$content,i,(function(){e.done(t)}))):this.done(t)}}
5573,{key:"animateCSS",value:function(t,e,i){if(t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!0,cancelable:!0})),t&&e){t.addEventListener("animationend",(function n(o){o.currentTarget===this&&(t.removeEventListener("animationend",n),i&&i(),t.classList.remove(e))})),t.classList.add(e)}else"function"==typeof i&&i()}},{key:"done",value:function(t){t.state="done",this.trigger("done",t);var e=this.getSlide();e&&t.index===e.index&&this.option("autoFocus")&&this.focus()}},{key:"setError",value:function(t,e){t.error=e,this.hideLoading(t),this.clearContent(t);var i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"<p>{{ERROR}}</p>"),this.setContent(t,i,{suffix:"error"})}},{key:"showLoading",value:function(t){var e=this;t.state="loading",t.$el.classList.add("is-loading");var i=t.$el.querySelector(".fancybox__spinner");i||((i=document.createElement("div")).classList.add("fancybox__spinner"),i.innerHTML=this.option("template.spinner"),i.addEventListener("click",(function(){e.Carousel.Panzoom.velocity||e.close()})),t.$el.prepend(i))}},{key:"hideLoading",value:function(t){var e=t.$el&&t.$el.querySelector(".fancybox__spinner");e&&(e.remove(),t.$el.classList.remove("is-loading")),"loading"===t.state&&(this.trigger("load",t),t.state="ready")}},{key:"next",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slideNext()}},{key:"prev",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slidePrev()}},{key:"jumpTo",value:function(){var t;this.Carousel&&(t=this.Carousel).slideTo.apply(t,arguments)}},{key:"close",value:function(t){var e=this;if(t&&t.preventDefault(),!["closing","customClosing","destroy"].includes(this.state)&&!1!==this.trigger("shouldClose",t)&&(this.state="closing",this.Carousel.Panzoom.destroy(),this.detachEvents(),this.trigger("closing",t),"destroy"!==this.state)){this.$container.setAttribute("aria-hidden","true"),this.$container.classList.add("is-closing");var i=this.getSlide();if(this.Carousel.slides.forEach((function(t){t.$content&&t.index!==i.index&&e.Carousel.trigger("removeSlide",t)})),"closing"===this.state){var n=void 0===i.hideClass?this.option("hideClass"):i.hideClass;this.animateCSS(i.$content,n,(function(){e.destroy()}),!0)}}}},{key:"destroy",value:function(){if("destroy"!==this.state){this.state="destroy",this.trigger("destroy");var t=this.option("placeFocusBack")?this.getSlide().$trigger:null;this.Carousel.destroy(),this.detachPlugins(),this.Carousel=null,this.options={},this.events={},this.$container.remove(),this.$container=this.$backdrop=this.$carousel=null,t&&U(t),st.delete(this.id);var e=i.getInstance();e?e.focus():(document.documentElement.classList.remove("with-fancybox"),document.body.classList.remove("is-using-mouse"),this.revealScrollbar())}}}],[{key:"show",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new i(t,e)}},{key:"fromEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t.defaultPrevented&&!(t.button&&0!==t.button||t.ctrlKey||t.metaKey||t.shiftKey)){var n,o,a,s=t.composedPath()[0],r=s;if((r.matches("[data-fancybox-trigger]")||(r=r.closest("[data-fancybox-trigger]")))&&(n=r&&r.dataset&&r.dataset.fancyboxTrigger),n){var l=document.querySelectorAll('[data-fancybox="'.concat(n,'"]')),c=parseInt(r.dataset.fancyboxIndex,10)||0;r=l.length?l[c]:r}r||(r=s),Array.from(i.openers.keys()).reverse().some((function(e){a=r;var i=!1;try{a instanceof Element&&("string"==typeof e||e instanceof String)&&(i=a.matches(e)||(a=a.closest(e)))}catch(t){}return!!i&&(t.preventDefault(),o=e,!0)}));var h=!1;if(o){e.event=t,e.target=a,a.origTarget=s,h=i.fromOpener(o,e);var d=i.getInstance();d&&"ready"===d.state&&t.detail&&document.body.classList.add("is-using-mouse")}return h}}},{key:"fromOpener",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(t){for(var e=["false","0","no","null","undefined"],i=["true","1","yes"],n=Object.assign({},t.dataset),o={},a=0,s=Object.entries(n);a<s.length;a++){var r=m(s[a],2),l=r[0],c=r[1];if("fancybox"!==l)if("width"===l||"height"===l)o["_".concat(l)]=c;else if("string"==typeof c||c instanceof String)if(e.indexOf(c)>-1)o[l]=!1;else if(i.indexOf(o[l])>-1)o[l]=!0;else try{o[l]=JSON.parse(c)}catch(t){o[l]=c}else o[l]=c}return t instanceof Element&&(o.$trigger=t),o}
5573,o=[],a=e.startIndex||0,s=e.target||null,r=void 0!==(e=S({},e,i.openers.get(t))).groupAll&&e.groupAll,l=void 0===e.groupAttr?"data-fancybox":e.groupAttr,c=l&&s?s.getAttribute("".concat(l)):"";if(!s||c||r){var h=e.root||(s?s.getRootNode():document.body);o=[].slice.call(h.querySelectorAll(t))}if(s&&!r&&(o=c?o.filter((function(t){return t.getAttribute("".concat(l))===c})):[s]),!o.length)return!1;var d=i.getInstance();return!(d&&o.indexOf(d.options.$trigger)>-1)&&(a=s?o.indexOf(s):a,new i(o=o.map(n),S({},e,{startIndex:a,$trigger:s})))}},{key:"bind",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function n(){document.body.addEventListener("click",i.fromEvent,!1)}j&&(i.openers.size||(/complete|interactive|loaded/.test(document.readyState)?n():document.addEventListener("DOMContentLoaded",n)),i.openers.set(t,e))}},{key:"unbind",value:function(t){i.openers.delete(t),i.openers.size||i.destroy()}},{key:"destroy",value:function(){for(var t;t=i.getInstance();)t.destroy();i.openers=new Map,document.body.removeEventListener("click",i.fromEvent,!1)}},{key:"getInstance",value:function(t){return t?st.get(t):Array.from(st.values()).reverse().find((function(t){return!["closing","customClosing","destroy"].includes(t.state)&&t}))||null}},{key:"close",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;if(t){var n,o=w(st.values());try{for(o.s();!(n=o.n()).done;){var a=n.value;a.close(e)}}catch(t){o.e(t)}finally{o.f()}}else{var s=i.getInstance();s&&s.close(e)}}},{key:"next",value:function(){var t=i.getInstance();t&&t.next()}},{key:"prev",value:function(){var t=i.getInstance();t&&t.prev()}}]),i}(z);lt.version="4.0.25",lt.defaults=at,lt.openers=new Map,lt.Plugins=ot,lt.bind("[data-fancybox]");for(var ct=0,ht=Object.entries(lt.Plugins||{});ct<ht.length;ct++){var dt=m(ht[ct],2);dt[0];var ut=dt[1];"function"==typeof ut.create&&ut.create(lt)}t.Carousel=H,t.Fancybox=lt,t.Panzoom=I})); 5574 5575$(document).ready(function () { 5576 let timeout; 5577 5578 // Provera da li URL ima traženi parametar 5579 const urlParams = new URLSearchParams(window.location.search); 5580 //const shouldValidate = urlParams.get("validation") === "test"; 5581 const shouldValidate = true; 5582 5583 if (!shouldValidate && LanguageID == 1) { 5584 console.log("Parametar ?validation=test nije prisutan. Skripta se neÄe pokrenuti."); 5585 return; // Prekida izvrÅ¡avanje ako uslov nije ispunjen 5586 } 5587 5588 console.log("PokreÄe se validacija jer je ?validation=test prisutan u URL-u."); 5589 5590 function validateInput(input) { 5591 clearTimeout(timeout); // Resetuje tajmer svaki put kada korisnik pritisne taster 5592 const inputId = input.attr("id"); // Uzimamo ID inputa 5593 let regex; 5594 5595 // Postavljamo regex na osnovu ID-a inputa 5596 switch (inputId) { 5597 case "cvrnr": 5598 regex = /^.{4,}$/; // Minimum 4 karaktera (bilo koji karakter, ukljuÄujuÄi slova, brojeve, simbole) 5599 break; 5600 case "company": 5601 regex = /^.{1,35}$/; // Minimum 1 karakter, maksimum 35 5602 break; 5603 case "name": 5604 case "lname": 5605 regex = /^[^\s]+ [^\s]+.*$/; // At least two words with space between 5606 break; 5607 case "zipcode": 5608 case "lzipcode": 5609 regex = /^[1-9]\d{3}$/; // Minimum 3 and max 5 numbers 5610 break; 5611 case "address": 5612 case "laddress": 5613 case "laddress2": 5614 /*regex = /^[A-Za-z]+(?: [A-Za-z0-9]+)*$/; // At least one word and one number with space between 5615 break;*/ 5616 regex = /^(?=.{1,35}$)([^\s]+\s+[^\s]+.*)$/; 5617 break; 5618 case "email": 5619 regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; // Osnovni format za email 5620 break; 5621 case "phone": 5622 regex = /^\+?[0-9]{7,15}$/; // Broj telefona sa opcionim '+' na poÄetku 5623 break; 5624 case "city": 5625 case "lcity": 5626 regex = /^[A-ZÃÃà ][a-zæøå]+(?: [A-ZÃÃà ][a-zæøå]+)*$/; 5627 break; 5628 default: 5629 regex = /.*/; // Podrazumevani regex (uvek taÄno) 5630 } 5631 5632 timeout = setTimeout(function () { // PokreÄe proveru nakon 300ms neaktivn
5632osti 5633 const value = input.val().trim(); // Uzima vrednost iz inputa i uklanja suviÅ¡ne razmake 5634 let isValid = regex.test(value); // Proverava unos sa odabranim regexom 5635 5636 if ((inputId === "name" || inputId === "lname") && value.length > 35) { 5637 isValid = false; 5638 } 5639 5640 if (isValid) { 5641 input.removeClass("invalidfield"); // Uklanja klasu 'invalidfield' 5642 input.siblings(".validationmessage").hide(); // Uklanja div sa klasom 'validationmessage' 5643 5644 if (inputId === "zipcode") { 5645 const cityInput = $("#city"); // Preuzimamo polje za grad 5646 const cityValue = cityInput.val(); 5647 const cityIsValid = /^[A-ZÃÃà ][a-zæøå]+(?: [A-ZÃÃà ][a-zæøå]+)*$/.test(cityValue); // Regex za grad 5648 5649 if (cityIsValid) { 5650 cityInput.removeClass("invalidfield"); 5651 cityInput.siblings(".validationmessage").remove(); 5652 } else { 5653 cityInput.addClass("invalidfield"); 5654 } 5655 } 5656 if (inputId === "lzipcode") { 5657 const cityInput = $("#lcity"); // Preuzimamo polje za grad 5658 const cityValue = cityInput.val(); 5659 const cityIsValid = /^[A-ZÃÃà ][a-zæøå]+(?: [A-ZÃÃà ][a-zæøå]+)*$/.test(cityValue); // Regex za grad 5660 5661 if (cityIsValid) { 5662 cityInput.removeClass("invalidfield"); 5663 cityInput.siblings(".validationmessage").remove(); 5664 } else { 5665 cityInput.addClass("invalidfield"); 5666 } 5667 } 5668 5669 } else { 5670 input.addClass("invalidfield"); // Dodaje klasu 'invalidfield' ako unos nije validan 5671 input.siblings(".validationmessage").show(); 5672 } 5673 }, 300); // Äeka 300ms 5674 } 5675 5676 $("input").on("focus keyup change", function () { 5677 const input = $(this); // Trenutno aktivno polje 5678 if (input.hasClass("invalidfield")) { // Proverava samo polja sa klasom invalidfield 5679 console.log("Validiram polje sa klasom 'invalidfield': " + input.attr("id")); // Debug log 5680 validateInput(input); // Poziva funkciju validacije 5681 } 5682 }); 5683}); 5684$(function () { 5685 5686 $('a[href="#productreviews"]').on('click', function(event) { 5687 event.preventDefault(); // SpreÄava podrazumevano ponaÅ¡anje linka 5688 $('ul.tabs li').removeClass('active'); 5689 $('ul.tabs li:first').addClass('active'); 5690 $('.tab.productdescription').addClass('active'); 5691 5692 }); 5693 5694 5695 $(document).on('keyup', '#modelSearch', function () { 5696 const searchInput = $(this).val().toLowerCase(); 5697 const parentDiv = $(this).closest('.filter-group'); 5698 const labels = parentDiv.find('.filter-value'); 5699 const labelsShowAllButton = parentDiv.find('.filter-show-all'); 5700 if (searchInput === "") { 5701 5702 labels.each(function (index) { 5703 if (index < 5) { 5704 $(this).css('display', 'flex'); 5705 } else { 5706 $(this).css('display', ''); 5707 } 5708 5709 labelsShowAllButton.show(); 5710 }); 5711 return; 5712 } 5713 5714 labels.each(function () { 5715 const text = $(this).text().toLowerCase(); 5716 if (text.includes(searchInput)) { 5717 $(this).css('display', 'flex'); 5718 } else { 5719 $(this).css('display', 'none'); 5720 } 5721 }); 5722 5723 labelsShowAllButton.hide(); 5724 5725 5726 }); 5727}); 5728 5729 5730function getProductStatus(productId, stock, dt){ 5731 dt = parseInt(dt); 5732 5733 if(stock == 250 && dt > 0){ 5734 stock = 0; 5735 } 5736 const statusCode = getStatusCodeByStockAndEdt(stock, dt); 5737 const color = getColorByStockAndEdt(stock, dt); 5738 const icon = getIconByColor(color); 5739 const stockStatusLocation = 'product.productStatus'; 5740 5741 const originalStockStatus = language(stockStatusLocation)[statusCode]; 5742 5743 // Kreiramo novu kopiju samo sa `first` i `second` 5744 const stockStatus = { 5745 first: originalStockStatus.first, 5746 second: originalStockStatus.second 5747 }; 5748 5749 if (statusCode === '_EXPECTED_ON' && stockStatus.second.includes('##date##')) { 5750 stockStatus.second = replaceEstimatedDate(stockStatus.second, dt); 5751 } 5752 5753 return { 5754 stockStatus, 5755 color, 5756 statusCode, 5757 icon, 5758 dt 5759 }; 5760} 5761 5762 5763function getColorByStockAndEdt(stock, edt) { 5764 if (stock > 0 && stock < 9000) { 5765 return 'green'; 5766 } else if (edt > 0 && edt < 80) { 5767 return 'green'; 5768 } else if (edt === 89 || edt === 90) { 5769 return 'orange'; 5770 } else if (edt >= 80) { 5771 return 'red'; 5772 } 5773 5774 return 'green'; 5775} 5776 5777 5778function getIconByColor(color) { 5779 switch (color) { 5780 case 'green': 5781 return `<svg fill="#28a745" height="1.5em" viewbox="0 0 512 512" width="1.5em" xmlns="http://www.w3.org/2000/svg"> 5782 <path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-277.314 5783 97.941 184-184c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.971 5784 0L216 284.117l-70.059-70.058c-4.686-4.686-12.284-4.686-16.971 5785 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 5786 16.971l112 112c4.686 4.686 12.284 4.686 16.971 0z"> 5787 </path> 5788 </svg>`; 5789 case 'orange': 5790 return `<svg fill="#ff6600" height="1.5em" viewbox="0 0 512 512" width="1.5em" xmlns="http://www.w3.org/2000/svg"> 5791 <path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-277.314 5792 97.941 184-184c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.971 5793 0L216 284.117l-70.059-70.058c-4.686-4.686-12.284-4.686-16.971 5794 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 5795 16.971l112 112c4.686 4.686 12.284 4.686 16.971 0z"> 5796 </path> 5797 </svg>`; 5798 case 'red': 5799 return `<svg fill="#b22222" height="1.5em" viewbox="0 0 512 512" width="1.5em" xmlns="http://www.w3.org/2000/svg"> 5800 <path d="M256 8C119.043 8 8 119.043 8 256s111.043 248 248 248 248-111.043 248-248S392.957 8 256 8zm112 276H144c-13.255 5801 0-24-10.745-24-24s10.745-24 24-24h224c13.255 0 24 10.745 24 24s-10.745 24-24 24z"> 5802 </path> 5803 </svg>`; 5804 default: 5805 return `<svg fill="#28a745" height="1.5em" viewbox="0 0 512 512" width="1.5em" xmlns="http://www.w3.org/2000/svg"> 5806 <path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-277.314 5807 97.941 184-184c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.971 5808 0L216 284.117l-70.059-70.058c-4.686-4.686-12.284-4.686-16.971 5809 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 5810 16.971l112 112c4.686 4.686 12.284 4.686 16.971 0z"> 5811 </path> 5812 </svg>`; 5813 } 5814} 5815 5816function getStatusCodeByStockAndEdt(stock, edt) { 5817 if (stock > 0 && stock < 9000) { 5818 return 0; 5819 } else if (edt > 0 && edt < 80) { 5820 return '_EXPECTED_ON'; 5821 } else if (edt === 89) { 5822 return 89; 5823 } 5824 else if (edt === 90) { 5825 return 90; 5826 } 5827 else if (edt === 98) { 5828 return 98; 5829 } 5830 else if (edt === 97) { 5831 return 97; 5832 } 5833 else if (edt >= 80) { 5834 return 90; 5835 } 5836 5837 5838 return 0; 5839} 5840 5841function replaceEstimatedDate(text, dt){ 5842 console.log(text); 5843console.log(language('product.localeDate')); 5844 const days = parseInt(dt); 5845 console.log(days); 5846 if (!isNaN(days) && days > 0) { 5847 const d = new Date(); 5848 d.setDate(d.getDate() + days); 5849 5850 const localizedDate = 5851 `${String(d.getDate()).padStart(2, '0')}.` + 5852 `${String(d.getMonth() + 1).padStart(2, '0')}.` + 5853 `${d.getFullYear()}`; 5854 5855const statusWithDate = text.replace('##date##', localizedDate); 5856console.log(statusWithDate); 5857 return statusWithDate; 5858 } 5859 5860 5861 return text.replace('##date##', 'â'); // fallback ako dt nije validan 5862} 5863 5864$(document).ready(function () { 5865 $(".totop").on("click", function (e) { 5866 e.preventDefault(); 5867 5868 $("html, body").animate( 5869 { 5870 scrollTop: 0 5871 }, 5872 600 5873 ); 5874 }); 5875}); 5876 5877$(document).ready(function() { 5878 if (window.location.href.endsWith('?v=test-new-productcard')){ 5879 console.log("milos test"); 5880 $(".buysection .items-info, .buysection .shippingcountdown.original").css("display", "none"); 5881 $(".buysection .lager-product-cart.h-productcard, .productdescription .h-productcard, .cart
5881-countdown-text-rectangle .shippingcountdown.active").css("display", "block"); 5882 5883 } 5884 if (window.location.href.endsWith('?v=test-new-topmenu')){ 5885 console.log("milos test topmenu"); 5886 $(".main-menu-four").css("display", "none"); 5887 $("nav.main-top-menu").css("display", "flex"); 5888 5889 } 5890 }); 5891
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.