PageSourceSearch

https://www.traebutikken.dk/images/skins/shared2017/js/advancedpopupV2.js

js traebutikken.dk collected 2026-09-25 08:47:15 UTC 10,775 bytes, 277 lines download raw bytes

1var useAdvancedPopup = true;
2
3function ShowAdvancedPopup(sessionValue, customFreightPrice) {
4    if (useAdvancedPopup && !$('body').hasClass('webshop-showbasket')) {
5        if (sessionValue == undefined) {
6            $.get('/shop/ajaxwrapper.asp?fc=getsessionvaluesJSON', function (data) {
7                console.log("ADVPOPUP", data);
8                GenerateAdvancedPopup(data, customFreightPrice);
9            });
10        }
11        else {
12            GenerateAdvancedPopup(sessionValue, customFreightPrice)
13        }
14    }
15    else {
16        CreateStandardAlert();
17    }
18}
19
20function CreateStandardAlert() {
21    window.alert = function (message) {
22        var alertMessage = $('<div class="alertPopupText">' + message + '</div>');
23        var alertPopup = $('<div class="alertPopup"></div>');
24        var alertPopupClose = $('<div class="alertPopupClose"></div>');
25        var alertPopupCloseButton = $('<div class="alertPopupCloseButton">' + advPopup.textClose + '</div>');
26        var alertPopupOverlay = $('<div class="alertPopupOverlay"></div>').append(alertPopup.append(alertMessage).append(alertPopupCloseButton));
27        alertPopupAnimateIn();
28
29        // LUK ALERT POPUP
30        alertPopupClose.click(function () {
31            alertPopupAnimateOut();
32        });
33        alertPopupCloseButton.click(function () {
34            alertPopupAnimateOut();
35        });
36        $(document).keyup(function (e) {
37            if (e.keyCode === 27) {
38                alertPopupAnimateOut();
39            }
40        });
41        alertPopupOverlay.click(function (e) {
42            if (e.target !== this) {
43                return;
44            }
45            else {
46                alertPopupAnimateOut();
47            }
48        });
49
50        function alertPopupAnimateIn() {
51            $('body').prepend(alertPopupOverlay);
52            alertPopupOverlay.fadeIn(400, function () {
53                alertPopup.slideDown(400, function () {
54                    alertPopupClose.fadeIn(300);
55                });
56            });
57        }
58        function alertPopupAnimateOut() {
59            alertPopupClose.fadeOut(200, function () {
60                alertPopup.slideUp(300, function () {
61                    alertPopupOverlay.fadeOut(400, function () {
62                        alertPopupOverlay.remove();
63                    });
64                });
65            });
66        }
67    }
68}
69
70function GenerateAdvancedPopup(data, customFreightPrice) {
71    /* ADVANCED POPUP */
72    var basketPopupRedeemLimit = advPopup.redeemLimit;
73    var basketPopup = $('<div class="basketPopup"></div>');
74    var basketPopupClose = $('<div class="basketPopupClose"></div>');
75    var basketPopupOverlay = $('<div class="basketPopupOverlay"></div>').append(basketPopup);
76
77    var currency = data.currencySymbol;
78    var totalProducts = 0;
79    var shippingFee = data.basketShippingFee;
80
81    for(var i = 0; i < data.basket.length; i++) {
82        totalProducts += data.basket[i].quantity;
83    }
84
85    if (isNaN(shippingFee)) {
86        shippingFee = 0;
87    }
88
89    var paymentFee = data.basketPayMethodFee;
90
91    if (isNaN(paymentFee)) {
92        paymentFee = 0;
93    }
94    
95    if (customFreightPrice !== undefined && !isNaN(customFreightPrice)){
96        shippingFee = customFreightPrice;
97    } 
98
99    var basketTotal = data.basketTotalVat + data.basketTotalProductPriceWithoutVat + shippingFee + paymentFee;
100    var basketTotalProducts = basketTotal - paymentFee - shippingFee;
101    
102    var discountLines = [];
103    var totalDiscount = 0;
104    var totalProductsWithoutDiscounts = totalProducts;
105    for(var i=0; i<data.basket.length; i++){
106        if(data.basket[i].itemType === "QuantitySalesDiscountProduct") {
107            totalProductsWithoutDiscounts--;
108
109            var discountLineData = data.basket[i];
110            discountLineData.totalPrice = (discountLineData.totalPrice * -1) * (1 + parseFloat(session.vatPercentage) / 100);
111            discountLines.push(discountLineData);
112
113            totalDiscount += discountLineData.totalPrice;
114        }
115    }
116
117    if(totalDiscount !== 0) {
118        basketTotalProducts += totalDiscount;
119    }
120
121    if(totalProductsWithoutDiscounts !== totalProducts) {
122        totalProducts = totalProductsWithoutDiscounts;
123    }
124
125    // BYG POPUP
126    checkReferrer();
127    var productName = $.cookie('lastAddedName');
128    var productImage = $.cookie('lastAddedImage');
129    var productUrl = $.cookie('lastAddedUrl');
130    var productInfo = $.cookie('lastAddedInfo');
131    
132    if (productImage == undefined) {
133        productImage = '/images/skins/shared2017/images/icon-check-green.svg';
134    }
135    
136    var productInfoContainer = '';
137
138    if (productInfo !== undefined) {
139        productInfoContainer = '<small>' + productInfo + '</small>';
140    }
141
142
143    var contentLeft = $('<div class="basketPopupLeft"><div class="basketPopupHeaderLeft">' + advPopup.header + '</div><img class="basketPopupImage" src="' + productImage + '"><div class="basketPopupName">' + productName + productInfoContainer + '</div></div>');
144
145    var basketPopupBasket = '<div>' + fixNumber(basketTotalProducts) + ' ' + currency + '</div>';
146    basketPopupBasket += '<div>' + totalProducts + ' ' + advPopup.inBasket + '</div>';
147
148    if(discountLines.length > 0) {
149        for(var j=0; j<discountLines.length; j++) {
150            basketPopupBasket += '<div>-' + fixNumber(discountLines[j].totalPrice) + ' ' + currency + '</div>';
151            basketPopupBasket += '<div>' + discountLines[j].productNumber + '</div>';
152        }
153    }
154
155    if (typeof advPopup.hideDelivery === 'undefined' || !advPopup.hideDelivery) {
156        basketPopupBasket += '<div>' + fixNumber(shippingFee) + ' ' + currency + '</div><div>' + advPopup.delivery + '</div>';
157    } else if (typeof text.calculatedShipping !== 'undefined' && text.calculatedShipping !== "") {
158        var calculatedShippingSplit = text.calculatedShipping.split(':');
159        basketPopupBasket += '<div>' + calculatedShippingSplit[1].trim() + '</div><div>' + calculatedShippingSplit[0] + '</div>';
160    }
161    basketPopupBasket += '<div>' + fixNumber(basketTotal) + ' ' + currency + '</div><div>' + advPopup.priceTotal + '</div>';
162
163    var basketPopupCountdownDiff = basketPopupRedeemLimit - basketTotalProducts;
164    var basketPopupCountdownStandard = $('<div>' + advPopup.buyFor + ' ' + fixNumber(basketPopupCountdownDiff) + ' ' + currency + ' ' + advPopup.moreAndGet + '</div>');
165    var basketPopupCountdownRedeemed = $('<div>' + advPopup.redeemed + '</div>');
166    var basketPopupCountdown = $('<div class="basketPopupCountdown"></div>');
167    if (basketPopupCountdownDiff <= 0) {
168        basketPopupCountdown.append(basketPopupCountdownRedeemed.prepend('<i class="fa fa-check" aria-hidden="true"></i>')).addClass('basketPopupRedeemed');
169    }
170    else {
171        basketPopupCountdown.append(basketPopupCountdownStandard.prepend('<i class="fa fa-truck fa-flip-horizontal" aria-hidden="true"></i>'));
172    }
173
174    var basketPopupButtonContinue = $('<div>' + advPopup.btnShop + '</div>');
175    var basketPopupButtonBasket = $('<div>' + advPopup.btnBasket + '</div>');
176    var basketPopupButtons = $('<div class="basketPopupButtons"></div>').append(basketPopupButtonContinue, basketPopupButtonBasket);
177
178    basketPopupButtonContinue.click(function () {
179        basketPopupAnimateOut();
180    });
181    basketPopupButtonBasket.click(function () {
182        window.location.href = '/shop/showbasket.html';
183    });
184
185    var contentRight = $('<div class="basketPopupRight"></div>').append('<div class="basketPopupHeaderRight">' + advPopup.yourBasket + '</div>').append('<div class="basketPopupBasket">' + basketPopupBasket + '</div></div>').append(basketPopupButtons);
186
187    if (advPopup.redeemActive) {
188        contentRight.find('.basketPopupHeaderRight').after(basketPopupCountdown);
189    }
190
191    var contentTop = $('<div class="basketPopupContentTop"></div>');
192    basketPopup.append(contentTop.append(contentLeft, contentRight));
193    
194    
195    $.removeCookie('lastAddedName');
196    $.removeCookie('lastAddedImage');
197    $.removeCookie('lastAddedUrl');
198
199
200    // VIS POPUP
201    basketPopupAnimateIn();
202
203    // RELATEREDE PRODUKTER
204    var basketPopupRelatedHeader = $('<div class="basketPopupRelatedHeader">' + advPopup.relatedHeader + '</div>');
205    var basketPopupRelatedUl = $('<ul class="basketPopupRelatedUl"></ul>');
206    var basketPopupRelatedLi = '';
207    var basketPopupRelated = $('<div class="basketPopupRelated"></div>');
208    basketPopup.append(basketPopupRelated);
209	
210    if (productUrl !== '') {
211
212        $.get(productUrl, function (data) {
213            basketPopupRelatedLi = $(data).find('ul.Related_Custom_UL > li');
214            if (basketPopupRelatedLi.length) {
215                basketPopupRelated.prepend(basketPopupRelatedHeader, basketPopupRelatedUl);
216                basketPopupRelatedUl.append(basketPopupRelatedLi);
217                transformProductlist();
218            }
219        });
220    }
221    else {
222        basketPopupRelatedLi = $('ul.Related_Custom_UL li.slick-slide').clone().removeAttr('class');
223        if (basketPopupRelatedLi.length > 0) {
224            basketPopupRelated.prepend(basketPopupRelatedHeader, basketPopupRelatedUl);
225            basketPopupRelatedUl.append(basketPopupRelatedLi.clone());
226            transformProductlist();
227        }
228    }
229
230    // LUK POPUP
231    basketPopupClose.click(function () {
232        basketPopupAnimateOut();
233    });
234    $(document).keyup(function (e) {
235        if (e.keyCode === 27) {
236            basketPopupAnimateOut();
237        }
238    });
239    basketPopupOverlay.click(function (e) {
240        if (e.target !== this) {
241            return;
242        }
243        else {
244            basketPopupAnimateOut();
245        }
246    });
247
248    function basketPopupAnimateIn() {
249        $('#wrapper').prepend(basketPopupOverlay);
250        $.removeCookie('lastAddedInfo');
251        basketPopupOverlay.fadeIn(400, function () {
252            basketPopup.slideDown(400, function () {
253                basketPopupClose.fadeIn(300);
254            });
255        });
256    }
257    function basketPopupAnimateOut() {
258        basketPopupClose.fadeOut(200, function () {
259            basketPopup.slideUp(300, function () {
260                basketPopupOverlay.fadeOut(400, function () {
261                    basketPopupOverlay.remove();
262                });
263            });
264        });
265    }
266
267
268}
269function checkReferrer() {
270    if (document.referrer.indexOf("https://www.plastbutikken.dk/shop/basket.html?BasketLink=1&AddMultiple=1&ProductID=Beregner&Amount=1&VariantGroups=Beregningsnummer") > -1) {
271        $.cookie('lastAddedName','RIATHERM® Termotag');
272        $.cookie('lastAddedImage','/images/skins/shared2017/images/step-1-toolbar.jpg');
273        $.cookie('lastAddedUrl','https://www.plastbutikken.dk/shop/cms-rias-termotag.html');
274        $.cookie('lastAddedInfo','');
275    }
276
277}

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.