Zum Hauptinhalt springen

Kostenloser Versand KOSTENFREIER VERSAND in Deutschland ab 50,-€ | MADE IN GERMANY | SONDERANGEBOTE

Perfect girl

Perfect girl

Suchen Sie nach einem perfekten Mädchen? Dann suchen Sie nicht weiter! Wir haben hier ein Aktfoto von einem perfekten Mädchen, das Sie sicherlich begeistern wird!

(function () { 'use strict'; var ANZAHL = 8; // Werke im Katalog var SORTIERUNG = 'popularity'; /* Was nicht auf die Startseite gehört: Befestigung und Zubehör */ var RAUS = /(abstand|halter|befestig|schraube|montage|zubeh|klemm|distanz|aufh(ä|ae)ng|spacer|d(ü|ue)bel|adapter|reiniger|pflege|versand|gutschein)/i; function start() { var katalog = document.getElementById('pl-katalog-sec'); var detail = document.getElementById('pl-detail-sec'); if (!katalog && !detail) return; // Seite ohne die Bausteine var url = location.origin + '/wp-json/wc/store/v1/products?per_page=40&orderby=' + SORTIERUNG + '&order=desc'; fetch(url, { credentials: 'same-origin' }) .then(function (r) { if (!r.ok) throw new Error(r.status); return r.json(); }) .then(function (daten) { var werke = (daten || []).filter(passt); if (!werke.length) return; if (katalog) { fuelleKatalog(werke.slice(0, ANZAHL), katalog); } if (detail) { fuelleLupe(werke[0], detail); } }) .catch(function () { /* still bleiben, Abschnitte bleiben ausgeblendet */ }); } function passt(p) { if (!p || !p.images || !p.images.length) return false; if (RAUS.test(p.name || '')) return false; var k = (p.categories || []).map(function (c) { return (c.name || '') + ' ' + (c.slug || ''); }).join(' '); return !RAUS.test(k); } function preisText(p) { try { var pr = p.prices; if (!pr || !pr.price) return ''; var e = parseInt(pr.currency_minor_unit || 2, 10); var wert = parseInt(pr.price, 10) / Math.pow(10, e); if (pr.price_range && pr.price_range.min_amount) { var min = parseInt(pr.price_range.min_amount, 10) / Math.pow(10, e); if (min < wert) wert = min; } var sym = pr.currency_symbol || '€'; return 'ab ' + wert.toLocaleString('de-DE', { maximumFractionDigits: 0 }) + ' ' + sym; } catch (e) { return ''; } } /* Künstlername aus den Kategorien: zwei großgeschriebene Wörter */ function kuenstler(p) { var treffer = ''; (p.categories || []).some(function (c) { var n = (c.name || '').trim(); if (/^[A-ZÄÖÜ][\wäöüß'’-]+\s+[A-ZÄÖÜ][\wäöüß'’-]+$/.test(n)) { treffer = n; return true; } return false; }); return treffer; } /* "Kraftvolle Balance 1720128" → "Kraftvolle Balance" */ function titel(t) { return String(t || '').replace(/\s+\d{5,}\s*$/, '').trim(); } function sicher(s) { return String(s || '').replace(/&/g, '&').replace(/"/g, '"') .replace(//g, '>'); } function fuelleKatalog(liste, sektion) { var ziel = document.getElementById('pl-liste'); if (!ziel) return; ziel.innerHTML = liste.map(function (p, i) { var b = p.images[0] || {}; var k = kuenstler(p), preis = preisText(p); var nr = ('0' + (i + 1)).slice(-2); return '
' + '' + '
' + nr + '' + '
' + sicher(b.alt || p.name) + '
' + '
' + '

' + sicher(titel(p.name)) + '

' + (k ? '' + sicher(k) + '' : '') + (preis ? '' + sicher(preis) + '' : '') + '
' + '
'; }).join(''); sektion.classList.add('pl-da'); } function fuelleLupe(p, sektion) { var figur = document.getElementById('pl-glas-figur'); if (!figur) return; var b = p.images[0] || {}; var img = document.createElement('img'); img.src = b.src; img.alt = 'Detailansicht: ' + (b.alt || p.name || ''); figur.insertBefore(img, figur.firstChild); sektion.classList.add('pl-da'); lupeAktivieren(img); } function lupeAktivieren(img) { var glas = document.getElementById('pl-glas'); var linse = document.getElementById('pl-linse'); if (!glas || !linse) return; if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return; if (!window.matchMedia('(hover:hover)').matches) return; var zoom = 2.7, gr = 196, figur = img.parentNode; glas.addEventListener('pointermove', function (ev) { var r = figur.getBoundingClientRect(); var x = ev.clientX - r.left, y = ev.clientY - r.top; if (x < 0 || y < 0 || x > r.width || y > r.height) { glas.classList.remove('pl-aktiv'); return; } glas.classList.add('pl-aktiv'); linse.style.left = (x - gr / 2) + 'px'; linse.style.top = (y - gr / 2) + 'px'; linse.style.backgroundImage = 'url("' + (img.currentSrc || img.src) + '")'; linse.style.backgroundSize = (r.width * zoom) + 'px ' + (r.height * zoom) + 'px'; linse.style.backgroundPosition = (-(x * zoom - gr / 2)) + 'px ' + (-(y * zoom - gr / 2)) + 'px'; }); glas.addEventListener('pointerleave', function () { glas.classList.remove('pl-aktiv'); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); } })();