PageSourceSearch

https://www.valdemarsro.dk/shop/shop.js?r=01122025b

js valdemarsro.dk collected 2026-10-02 03:01:48 UTC 7,315 bytes, 310 lines download raw bytes

1function shop_set_quantity(elem, value)
2{
3	let o = $(elem).parent();
4	var v = parseInt(o.find('#quantity').val());
5	v += value;
6	
7	if(v < 1)
8		v = 1;
9	
10	o.find('#quantity').val(v);
11}
12
13function shop_set_basket_quantity(elem, value)
14{
15	let o = $(elem).parent();
16	let p = $(elem).parents('.basket-row');
17	//let price = p.data('price');
18	var v = parseInt(o.find('#quantity').val());
19	v += value;
20	
21	if(v < 1)
22		v = 0;
23	
24	o.find('#quantity').val(v);
25	//p.find('.price_total span').html(v * price);
26	update_basket(p.data('id'), v);
27	//update_total();
28	populate_basket();
29	update_basket_icon();
30}
31
32function toggleBurger()
33{
34	if(jQuery('#header-burger-active').css('display') == 'block')
35	{
36		closeBurger();
37	}
38	else
39	{
40		openBurger();
41	}
42	
43	return false;
44}
45
46function openBurger()
47{
48	jQuery('#header-burger-active').fadeIn('fast');
49	jQuery('#header-burger #close').show();
50	jQuery('#header-burger #bgr').hide();
51	return false;
52}
53
54function closeBurger()
55{
56	jQuery('#header-burger-active').fadeOut('fast');
57	jQuery('#header-burger #close').hide();
58	jQuery('#header-burger #bgr').show();
59	return false;
60}
61
62function add_basket(product_id)
63{
64	let quantity = parseInt(jQuery('#quantity').val());
65	
66	if(quantity < 1)
67		return;
68	
69	let basket = localStorage.getItem('basket');
70	let found = false;
71	
72	if(basket == null || basket == '')
73		basket = [];
74	else
75		basket = basket.split(',');
76	
77	for(let i = 0; i < basket.length; i++)
78	{
79		let e = basket[i].split(':');
80		
81		if(e[0] == product_id)
82		{
83			basket[i] = product_id + ':' + (parseInt(e[1]) + quantity);
84			found = true;
85		}
86	}
87	
88	if(!found)
89		basket.push(product_id + ':' + quantity);
90
91	localStorage.setItem('basket', basket);
92	document.location = '/shop/basket.php';
93}
94
95function update_basket(product_id, quantity)
96{
97	let basket = localStorage.getItem('basket');
98	let found = false;
99	
100	if(basket == null)
101		basket = [];
102	else
103		basket = basket.split(',');
104	
105	for(let i = 0; i < basket.length; i++)
106	{
107		let e = basket[i].split(':');
108		
109		if(e[0] == product_id)
110		{
111			if(quantity > 0)
112			{
113				basket[i] = product_id + ':' + quantity;
114			}
115			else
116			{
117				basket.splice(i, 1);
118			}
119			
120			found = true;
121		}
122	}
123	
124	if(!found)
125		basket.push(product_id + ':' + quantity);
126
127	localStorage.setItem('basket', basket);
128}
129
130function update_total()
131{
132	let o = jQuery('#basket');
133	let total = 0;
134	
135	o.find('.basket-body .basket-row').each(function()
136	{
137		total += parseFloat(jQuery(this).find('.price_total span').html());
138	});
139	
140	o.find('.basket-footer .price_sum span').html(total + ' kr.');
141	o.find('.basket-footer .price_sum em').html('heraf moms ' + (total * 0.2) + ' kr.');
142}
143
144function update_basket_icon()
145{
146	let basket = localStorage.getItem('basket');
147	
148	if(basket == null || basket == '')
149	{
150		jQuery('.header-basket span').hide();
151		return;
152	}
153	
154	let lines = basket.split(',');
155	var count = 0;
156	
157	for(let i = 0; i < lines.length; i++)
158	{
159		let line = lines[i].split(':');
160		count += parseInt(line[1]);
161	}
162	
163	jQuery('.header-basket span').html(count);
164	
165	if(count == 0)
166		jQuery('.header-basket span').hide();
167	else
168		jQuery('.header-basket span').show();
169}
170
171function populate_basket()
172{
173	let o = jQuery('#basket .basket-body');
174	o.empty();
175	
176	let basket = localStorage.getItem('basket');
177	
178	if(basket != '')
179	{
180		$.ajax({ url: '/shop/ajax.php?action=get_basket', async: true, type: 'post', data: { 'basket': basket }, dataType: 'json' }).done(function(response)
181		{
182			$('#preorder').hide();
183			
184			for(let i = 0; i < response.length; i++)
185			{
186				let row = '<div class="basket-row" data-id="' + response[i].id + '" data-price="' + response[i].price + '">';
187				row += '<div class="title"><span>Valdemarsro ' + response[i].title + '</span> - signeret eksemplar</div>';
188				row += '<div class="quantityy">';
189				row += '<span class="quantity">';
190				row += '<span id="minus" onclick="shop_set_basket_quantity(this, -1);">&ndash;</span>';
191				row += '<span id="value"><input type="text" readonly id="quantity" value="' + response[i].quantity + '"></span>';
192				row += '<span id="plus" onclick="shop_set_basket_quantity(this, 1);">+</span>';
193				row += '</span>';
194				row += '</div>';
195				row += '<div class="price_per"><span class="only-mobile">Pris pr. stk.</span> ' + response[i].price + ' kr.</div>';
196				row += '<div class="price_total"><span>' + response[i].total_price + '</span> kr.</div>';
197				row += '</div>';
198				row += '<input type="hidden" name="product_' + response[i].id + '" value="' + response[i].quantity + '">';
199				o.append(row);
200				
201				if(response[i].preorder == 1)
202					$('#preorder').show();
203			}
204			
205			update_total();
206			
207			jQuery('#basket').show();
208			jQuery('#empty_basket').hide();
209			jQuery('.shop-btn').show();
210		});
211	}
212	else
213	{
214		jQuery('#basket').hide();
215		jQuery('#empty_basket').show();
216		jQuery('.shop-btn').hide();
217	}
218}
219
220function update_pickup()
221{
222	let d1 = jQuery('#delivery_address');
223	let d2 = jQuery('#other_pickup');
224	
225	if(d2.prop('checked'))
226	{
227		let d3 = jQuery('#pickup_postal_code');
228		
229		if(d3.val().length > 0)
230			get_pickup_points_postal(d3.val());
231		else if(d1.css('display') == 'block' && jQuery('[name="delivery_postal_code"]').val().length > 0)
232			get_pickup_points_postal(jQuery('[name="delivery_postal_code"]').val());
233		else
234			get_pickup_points_postal(jQuery('[name="postal_code"]').val());
235	}
236	else if(d1.css('display') == 'block' && jQuery('[name="delivery_postal_code"]').val().length > 0)
237	{
238		get_pickup_points_postal(jQuery('[name="delivery_postal_code"]').val());
239	}
240	else
241	{
242		get_pickup_points_postal(jQuery('[name="postal_code"]').val());
243	}
244}
245
246var prev_pickup_postal = false;
247
248function get_pickup_points(elem)
249{
250	let o = jQuery(elem);
251	
252	if(prev_pickup_postal == false)
253		prev_pickup_postal = o.val();
254	
255	if(o.val().length > 0)
256		get_pickup_points_postal(o.val());
257	else if(prev_pickup_postal != false)
258		get_pickup_points_postal(prev_pickup_postal);
259}
260
261function get_pickup_points_postal(postal_code)
262{
263	$.ajax({ url: '/shop/ajax.php?action=get_pickup_points', async: true, type: 'post', data: { 'postal_code': postal_code }, dataType: 'json' }).done(function(response)
264	{
265		let e = jQuery('#pickup_point');
266		e.empty();
267		
268		for(let i = 0; i < response.length; i++)
269		{
270			e.append('<option value="' + response[i].id + '">' + response[i].company_name + ', ' + response[i].address + ', ' + response[i].city + '</option>');
271		}
272	});
273}
274
275function update_delivery_method(order_total)
276{
277	let m = jQuery('input[name="delivery_method"]:checked').val();
278	
279	if(m == 1)
280	{
281		jQuery('#delivery_price').html('0');
282		jQuery('#delivery_method').html('Levering til PostNord pakkeshop');
283		jQuery('#order_total').html(order_total);
284	}
285	else if(m == 2)
286	{
287		jQuery('#delivery_price').html('39');
288		jQuery('#delivery_method').html('Levering med PostNord omdeling');
289		jQuery('#order_total').html(parseInt(order_total + 39));
290	}
291}
292
293jQuery(document).ready(function()
294{
295	jQuery('#header-burger-active .menu li.menu-item-has-children').each(function()
296	{
297		jQuery(this).find('> a').append('<span class="toggle">+</span>');
298		jQuery(this).find('> a').click(function()
299		{
300			jQuery(this).toggleClass('active').parent().find('.sub-menu').slideToggle('fast');
301			
302			if(jQuery(this).hasClass('active'))
303				jQuery(this).find('.toggle').html('-');
304			else
305				jQuery(this).find('.toggle').html('+');
306			
307			return false;
308		});
309	});
310});

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.