PageSourceSearch

https://www.mytrendyphone.dk/images/skins/Bewise/js/scripts.v61.js?version=355

js mytrendyphone.dk collected 2026-09-26 05:02:32 UTC 329,356 bytes, 5,891 lines download raw bytes

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)+'&nbsp;'+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 = '&nbsp;<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+'">'+'&nbsp;'+'</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('&nbsp;');
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}&amp;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;">&nbsp;$1&nbsp;</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)+'&nbsp;'+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>&nbsp;/&nbsp;<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.