Registrati e ricevi il 15% di sconto
| Newsletter
Seleziona un tipo di tappeto
Failed to load data. Please try again.
var categoryList = document.getElementById('inspiration-category');
var filterSelect = document.getElementById('inspiration-filter');
var inspirationImages = document.getElementById('inspiration-images');
var loadingIndicator = document.getElementById('loading-indicator');
var errorMessage = document.getElementById('error-message');
function debounce(fn, delay) {
var timeout;
return function () {
clearTimeout(timeout);
timeout = setTimeout(fn, delay);
};
}
function fetchLookBooks(url) {
toggleLoading(true);
inspirationImages.innerHTML = '';
errorMessage.style.display = 'none';
fetch(url)
.then(function (response) {
if (!response.ok) throw new Error('Network response was not ok');
return response.json();
})
.then(function (data) {
if(data.data.length <= 0) throw new Error('No data available');
displayLookBooks(data.data);
})
.catch(function (error) {
errorMessage.style.display = 'block';
console.error('Error fetching look books:', error);
})
.finally(function () {
toggleLoading(false);
});
}
function displayLookBooks(items) {
inspirationImages.innerHTML = '';
items.forEach(function (item) {
var inspirationItem = document.createElement('div');
inspirationItem.classList.add('inspiration-item');
inspirationItem.innerHTML =
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'' +
'
' + item.category_name + '
' +
'
' +
' ';
inspirationImages.appendChild(inspirationItem);
});
}
function fetchCategories() {
toggleLoading(true);
filterSelect.innerHTML = '
Seleziona un tipo di tappeto ';
categoryList.innerHTML = '';
errorMessage.style.display = 'none';
fetch('https://www.morgenland-tappeto.it/rest/morgenland-category-groups')
.then(function (response) {
if (!response.ok) throw new Error('Network response was not ok');
return response.json();
})
.then(function (data) {
var uniqueFilterOptions = {};
data.data.forEach(function (group) {
var groupListItem = document.createElement('li');
var groupLink = document.createElement('a');
groupLink.href = '/lookbook?group=' + group.slug;
groupLink.textContent = group.name;
groupListItem.appendChild(groupLink);
categoryList.appendChild(groupListItem);
group.categories.forEach(function (category) {
if (!uniqueFilterOptions[category.name]) {
uniqueFilterOptions[category.name] = true;
var option = document.createElement('option');
option.value = category.id;
option.textContent = category.name;
filterSelect.appendChild(option);
}
});
});
filterSelect.addEventListener('change', handleFilterChange);
})
.catch(function (error) {
errorMessage.style.display = 'block';
console.error('Error fetching categories:', error);
})
.finally(function () {
toggleLoading(false);
});
}
var handleFilterChange = debounce(function () {
var selectedOption = filterSelect.value;
var url = 'https://www.morgenland-tappeto.it/rest/morgenland-look-books';
if (selectedOption) url += '?category=' + encodeURIComponent(selectedOption);
fetchLookBooks(url);
}, 300);
function toggleLoading(isLoading) {
loadingIndicator.style.display = isLoading ? 'block' : 'none';
filterSelect.disabled = isLoading;
}
window.addEventListener('load', function () {
fetchCategories();
var urlParams = new URLSearchParams(window.location.search);
var categoryGroup = urlParams.get('group');
var url = 'https://www.morgenland-tappeto.it/rest/morgenland-look-books';
if (categoryGroup) url += '?group=' + encodeURIComponent(categoryGroup);
fetchLookBooks(url);
});
You are on our Italian website!
The website is in Italian language. Would you like to be redirected to our Englisch website for a better experience?
Stay on Site
$(document).ready(function() {
function setLocalStorage(key, value) { localStorage.setItem(key, value); }
function getLocalStorage(key) { return localStorage.getItem(key); }
function fetchData() {
var lastShownDate = getLocalStorage('geoLocationModalShownDate');
var currentDate = new Date().getTime();
var daysSinceLastShown = lastShownDate ? (currentDate - lastShownDate) / (1000 * 3600 * 24) : null;
if (getLocalStorage('geoLocationModalShown') && daysSinceLastShown < 3) return;
fetch("https://morgenland-cpanel.eu/api/morgenland-info").then(function(r) {
if (!r.ok) throw new Error('HTTP error! status: ' + r.status);
return r.json();
}).then(function(d) {
var c = normalizeCountryCode(d.data.countryCode), l = [{"lang":"de","locale":"de","url":"https:\/\/www.morgenland-teppiche.de\/lookbook","name":"German","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/German.png"},{"lang":"en","locale":"en","url":"https:\/\/www.morgenland-rugs.com\/lookbook","name":"English","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/USA.png"},{"lang":"uk","locale":"en-gb","url":"https:\/\/www.morgenland-rugs.co.uk\/lookbook","name":"English","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/UK.png"},{"lang":"fr","locale":"fr","url":"https:\/\/www.morgenland-tapis.fr\/lookbook","name":"French","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/France.png"},{"lang":"nl","locale":"nl","url":"https:\/\/www.morgenland-tapijt.nl\/inspiratie-lookbook","name":"Dutch","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Netherland.png"},{"lang":"se","locale":"sv-SE","url":"https:\/\/www.morgenland-mattor.se\/lookbook","name":"Swedish","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Sweden.png"},{"lang":"at","locale":"de-AT","url":"https:\/\/www.morgenland-teppiche.at\/lookbook","name":"Austria","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Austria.png"},{"lang":"ch","locale":"de-CH","url":"https:\/\/www.morgenland-teppiche.ch\/lookbook","name":"Swiss German","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Switzerland.png"},{"lang":"nn","locale":"no-NO","url":"https:\/\/www.morgenland-tepper.com\/lookbook","name":"Norwegian","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Norway.png"},{"lang":"da","locale":"da","url":"https:\/\/www.morgenland-taepper.com\/lookbook","name":"Danish","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Denmark.png"},{"lang":"es","locale":"es","url":"https:\/\/www.morgenland-alfombra.es\/lookbook","name":"Spanish","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Spain.png"},{"lang":"pl","locale":"pl","url":"https:\/\/www.morgenland-dywany.pl\/inspiration-lookbook","name":"Polish","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Poland.png"},{"lang":"pt","locale":"pt","url":"https:\/\/www.morgenland-tapetes.pt\/lookbook","name":"Portuguese","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Portguese.png"},{"lang":"cz","locale":"cs-CZ","url":"https:\/\/www.morgenland-koberce.cz\/inspirace-lookbook","name":"Czech","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Czech-Republic.png"}], a = {"lang":"it","name":"Italian","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Italy.png"}, f = findActiveUrl(l, c);
if (shouldShowModal(f, a, c)) {
updateModal(f);
$('#geoLocationModal').modal('show');
$('#geoLocationModal').attr('aria-hidden', 'false');
setLocalStorage('geoLocationModalShown', 'true');
setLocalStorage('geoLocationModalShownDate', currentDate);
}
}).catch(function(e) { console.error('Fetch error:', e.message); });
}
function normalizeCountryCode(c) {
return c.toLowerCase() === "gb" ? "uk" : c.toLowerCase();
}
function findActiveUrl(l, c) {
var d = l.filter(function(u) { return u.lang === 'en'; })[0];
return l.find(function(u) { return u.lang === c; }) || d;
}
function shouldShowModal(foundUrl, activeUrl, countryCode) {
if (!foundUrl || countryCode === activeUrl.lang) return false;
var exceptions = { 'de': ['at', 'ch'], 'uk': ['en'], 'en': ['uk'], 'at': ['de', 'ch'], 'ch': ['de', 'at'] };
var activeExceptions = exceptions[activeUrl.lang] || [];
return !activeExceptions.includes(foundUrl.lang);
}
function updateModal(f) {
var b = document.querySelector('#redirectButton'), t = document.querySelector('#geoLocationText'), bt = document.querySelector('#redirectButtonText'), bi = document.querySelector('#redirectButtonImage');
b.href = f.url;
t.textContent = "The website is in Italian language. Would you like to be redirected to our {name} website for a better experience?".replace("{name}", f.name);
bi.src = bi['data-src'] = f.image;
bi.alt = f.name;
bt.textContent = "Redirect to {name} Site".replace("{name}", f.name);
}
fetchData();
});