Entrega garantizada antes de Navidad para pedidos realizados hasta el 17/12.
|
Boletín
Reciba un código promocional único con 15% de descuento
El descuento es válido para todos los productos, incluidos los de precio reducido, en los 60 días siguientes al registro en el boletín. No es posible la combinación con otros códigos de descuento.
Confirmo que he leído la :política. Puedo revocar mi consentimiento en cualquier momento.**
Calculadora de Costo de Envío
Para ilustrar nuestros costos de envío, los calculamos en función de tu ubicación de la siguiente manera. Puedes utilizar la calculadora de precios proporcionada o la tabla.
Obtener Detalles de Envío
Selecciona Tu País
Envío Saliente:
Envío de Devolución:
Nota: Los costos de devolución son independientes de los costos del producto.
O, consulta la tabla de costos de envío/devolución
Costos de Envío/Devolución
País
Tarifa de Envío
Tarifa de Devolución
Envío Saliente Gratis por encima de (€)
No se han encontrado datos
$(window).on('load', function() {
var locale = "de-DE";
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('Pedidos a `country`:'.replace('`country`', shippingDataActive.country));
$('#order-text-2').text('');
} else {
$('#order-text-1').text('');
$('#order-text-2').text('Pedidos menores de `price` a `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) ? 'Realiza tus pedidos por encima de `price` y disfruta de envío gratuito'.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();
});