Registrer deg og få 15 % rabatt
 |  Nyhetsbrev
     
  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 = '
Velg ein type teppe ';
            categoryList.innerHTML = '';
            errorMessage.style.display = 'none';
            fetch('https://www.morgenland-tepper.com/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-tepper.com/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-tepper.com/rest/morgenland-look-books';
            if (categoryGroup) url += '?group=' + encodeURIComponent(categoryGroup);
            fetchLookBooks(url);
        });
    
    You are on our Norwegian website!
   The website is in Norwegian 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":"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":"nn","name":"Norwegian","image":"https:\/\/cdn02.plentymarkets.com\/6wg68w8zahno\/frontend\/assets\/imgs\/flags\/Norway.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 Norwegian 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();
});