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);">–</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.