Inspiration & LookBook

Get inspired for your next purchase.

    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 + '' + '' + '
    ' + '

    ' + item.category_name + '

    ' + '
    ' + '
    '; inspirationImages.appendChild(inspirationItem); }); } function fetchCategories() { toggleLoading(true); filterSelect.innerHTML = ''; categoryList.innerHTML = ''; errorMessage.style.display = 'none'; fetch('https://www.morgenland-rugs.co.uk/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-rugs.co.uk/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-rugs.co.uk/rest/morgenland-look-books'; if (categoryGroup) url += '?group=' + encodeURIComponent(categoryGroup); fetchLookBooks(url); });
    $(document).ready(function() { function setCookie(n, v, d) { var e = d ? "; expires=" + new Date(Date.now() + d * 864e5).toUTCString() : ""; document.cookie = n + "=" + (v || "") + e + "; path=/"; } function getCookie(n) { var e = n + "=", c = document.cookie.split(';'); for (var i = 0; i < c.length; i++) { var s = c[i].trim(); if (s.indexOf(e) == 0) return s.substring(e.length); } return null; } function fetchData() { if (getCookie('geoLocationModalShown')) 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":"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":"it","locale":"it","url":"https:\/\/www.morgenland-tappeto.it\/lookbook","name":"Italian","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Italy.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":"uk","name":"English","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/UK.png"}, f = findActiveUrl(l, c); if (shouldShowModal(f, a, c)) { updateModal(f); $('#geoLocationModal').modal('show'); $('#geoLocationModal').attr('aria-hidden', 'false'); setCookie('geoLocationModalShown', 'true', 3); } }).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 English 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(); });