Ontvang een eenmalige kortingscode met 15% korting
De korting is geldig voor alle producten, inclusief producten met een gereduceerde prijs, binnen 60 dagen na registratie voor de nieuwsbrief. Een combinatie met andere kortingscodes is niet mogelijk.
Hiermede bevestig ik dat ik de Dataprivacyverklaring heb gelezen. Mijn toestemming kan ik te allen tijde herroepen.**
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
Verzending:
Retour:
Opmerking: De retourkosten zijn onafhankelijk van de productkosten
Of bekijk de tabel met verzend-/retourkosten
Verzend-/Retourkosten
Land
Verzendkosten
Retourkosten
Gratis verzending vanaf ā¬
Geen gegevens gevonden
$(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();
});