Fraktkostnadskalkulator

For å illustrere våre fraktkostnader, reknar vi dei ut basert på di lokasjon som følgjer. Du kan bruke den oppgitte prisrekneren eller tabellen.

Få Fraktdetaljar

Velg Ditt Land

Shipping

Eller, sjå tabellen over frakt/returkostnader

$(window).on('load', function() { var locale = "no-NO"; var currency = "NOK"; 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('Bestillingar til `country`:'.replace('`country`', shippingDataActive.country)); $('#order-text-2').text(''); } else { $('#order-text-1').text(''); $('#order-text-2').text('Bestillingar under `price` til `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) ? 'Legg inn bestillingar over `price` for å nyte gratis frakt'.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(); });