Verzendkosten Calculator

Om onze verzendkosten te verduidelijken, berekenen we deze op basis van uw locatie als volgt. U kunt de verstrekte prijscalculator of de tabel gebruiken.

Haal verzenddetails op

Selecteer uw land

Shipping

Of bekijk de tabel met verzend-/retourkosten

$(window).on('load', function() { var locale = "nl-NL"; var currency = "EUR"; var shippingDataList = []; var shippingDataActive = null; var exchangeRate = 1; var sortDirection = 1; function loadShippingData() { $.getJSON('https://cdn02.plentymarkets.com/6wg68w8zahno/frontend/assets/country-shipping-cost.json', function(data) { if (currency !== 'EUR') { getCurrencyValue(currency).then(function() { shippingDataList = data; populateCountrySelect(); populateShippingTable(data); }); } else { shippingDataList = data; populateCountrySelect(); populateShippingTable(data); } }); } function populateCountrySelect() { var countrySelect = $('#country-select'); countrySelect.empty(); countrySelect.append(''); shippingDataList.forEach(function(item) { countrySelect.append(''); }); } function getCurrencyValue(currency) { return fetch("https://morgenland-cpanel.eu/api/morgenland-currencies") .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function (data) { const currencyData = data.data.find((cur) => cur.currency === currency); if (currencyData && currencyData.exchange_rate) { exchangeRate = parseFloat(currencyData.exchange_rate); } else { console.log("Currency " + currency + " not found"); return null; } }) .catch(function (err) { console.error('There was a problem with your fetch operation:', err); throw err; }); } function formatCurrency(price) { return new Intl.NumberFormat(locale, { style: "currency", currency: currency, minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(price * exchangeRate); } function showShippingData() { var selectedCountry = $('#country-select').val(); shippingDataActive = shippingDataList.find(function(item) { return item.country === selectedCountry; }); if (shippingDataActive) { $('#shipping-country-active').show(); if (shippingDataActive.shipping_free_from <= 0) { $('#order-text-1').text('Bestellingen naar `country`:'.replace('`country`', shippingDataActive.country)); $('#order-text-2').text(''); } else { $('#order-text-1').text(''); $('#order-text-2').text('Bestellingen onder `price` naar `country`:'.replace('`price`', formatCurrency(shippingDataActive.shipping_free_from)).replace('`country`', shippingDataActive.country)); } $('#flat-rate-postage').text((shippingDataActive.flat_rate_postage === 0) ? 'Gratis' : formatCurrency(shippingDataActive.flat_rate_postage)); $('#return-cost').text((shippingDataActive.return_cost === 0) ? 'Gratis' : formatCurrency(shippingDataActive.return_cost)); $('#free-shipping').text((shippingDataActive.shipping_free_from > 0) ? 'Plaats uw bestellingen boven `price` om te genieten van gratis verzending'.replace('`price`', formatCurrency(shippingDataActive.shipping_free_from)) : ''); } } function toggleShippingTable() { $('#shipping-data-table').toggle(); var toggleIcon = $('#toggle-icon'); if ($('#shipping-data-table').is(':visible')) { toggleIcon.css('transform', 'rotate(0deg)'); } else { toggleIcon.css('transform', 'rotate(180deg)'); } } function filterCountries() { var searchValue = $('#search-country').val().toLowerCase(); var filteredList = shippingDataList.filter(function(item) { return item.country.toLowerCase().includes(searchValue); }); populateShippingTable(filteredList); } function sortByCountryName() { sortDirection *= -1; shippingDataList.sort(function(a, b) { var countryA = a.country.toUpperCase(); var countryB = b.country.toUpperCase(); if (countryA < countryB) { return -1 * sortDirection; } if (countryA > countryB) { return 1 * sortDirection; } return 0; }); filterCountries(); } function populateShippingTable(data) { var shippingDataBody = document.getElementById('shipping-data-body'); if (data.length > 0) { data.forEach(function(item) { var row = document.createElement('tr'); var countryCell = document.createElement('td'); countryCell.textContent = item.country; row.appendChild(countryCell); var flatRatePostageCell = document.createElement('td'); flatRatePostageCell.textContent = item.flat_rate_postage === 0 ? 'Gratis' : formatCurrency(item.flat_rate_postage); row.appendChild(flatRatePostageCell); var returnCostCell = document.createElement('td'); returnCostCell.textContent = item.return_cost === 0 ? 'Gratis' : formatCurrency(item.return_cost); row.appendChild(returnCostCell); var shippingFreeFromCell = document.createElement('td'); shippingFreeFromCell.textContent = item.shipping_free_from === 0 ? '0' : formatCurrency(item.shipping_free_from); row.appendChild(shippingFreeFromCell); shippingDataBody.appendChild(row); }); document.getElementById('no-data-found').style.display = 'none'; } else { document.getElementById('no-data-found').style.display = 'block'; } } $('#show-shipping-data').on('click', showShippingData); $('#toggle-shipping-table').on('click', toggleShippingTable); $('#search-country').on('input', filterCountries); $('#sort-by-country').on('click', sortByCountryName); loadShippingData(); });