### Pro fotografie, které se změní v odhalení.Objevte něco nového: polarizační POL filtry s antireflexní vrstvou T \ * od společnosti Carl Zeiss vám poskytnou zcela nové fotografické možnosti tím, že zabrání odrazům na nekovových površích. Vyzkoušejte si nové definice barev a kontrastu.**Přesnost:** Otočný mount pro nastavení efektu filtru (redukce světla: **Kvalita:** Vysoce kvalitní sklo opatřené antireflexním potahem Carl Zeiss T\***Flexibilita:** Vysoká přesnost konstrukce pro rychlou výměnu filtrů. Možné použití se stínítkem objektivu**Kompatibilita:** Ideální pro objektivy ZEISS. Možné použití se stínítkem objektivu**Účel:** Minimalizuje světelné odrazy na nekovových površích a zvyšuje sytost barev při záběrech na dálku.
Specifikace
Značka
ZEISS
Používáme cookies. Díky nim vám náš eshop funguje tak, jak má. Pomůžou vám zapamatovat nastavení jazyku, měny nebo adresy. Také vám díky nim doporučíme produkty, které jsou přesně pro vás. Více najdete v našich zásadách pro cookies.
function syncPiecesAndDeliveryToPava(scope) {
// scope = dokument / konkrétní produkt / konkrétní karta
const containers = scope.querySelectorAll('#product_list > li.p_cart_block, .p_detail_right, body');
// Helper: vytáhni datum z .delivery-estimate (např. "Obdržíte do 20.01")
function extractDateText(deliveryEl) {
if (!deliveryEl) return '';
const t = (deliveryEl.textContent || '').trim();
const m = t.match(/(\d{2}\.\d{2})/);
return m ? m[1] : '';
}
// Helper: vytáhni kusy z textu dostupnosti ("Skladem 1 ks" / "Centrální sklad 8 ks")
function extractPiecesFromAvailabilityText(text) {
const t = (text || '').replace(/\s+/g, ' ').trim();
const m = t.match(/(\d+)\s*ks/i);
return m ? m[1] : '';
}
// Pro každý produkt/kartu zkus najít zdroje a cíle uvnitř
const productRoots = scope.querySelectorAll('#product_list > li.p_cart_block, .p_detail_right');
productRoots.forEach(root => {
const delivery = root.querySelector('.delivery-estimate');
const deliveryDDMM = extractDateText(delivery);
if (!deliveryDDMM) return; // když není datum, nic neduplikuj
// Zdroje dostupnosti (detail i výpis)
const availabilityEl =
root.querySelector('.p_detail_availability [data-variant="availability"]') ||
root.querySelector('.p_block .p_g.p_action') ||
root.querySelector('.p_g[data-variant="availability"]') ||
root.querySelector('.p_g.p_action');
const pieces = extractPiecesFromAvailabilityText(availabilityEl ? availabilityEl.textContent : '');
// Cíl: modul p_ava (může být div nebo span, proto obecně)
const pava =
root.querySelector('div.p_ava.p_g.p_action') ||
root.querySelector('span.p_ava.p_g.p_action') ||
root.querySelector('.p_ava.p_g.p_action');
if (!pava) return;
// Sestav text: zachovej původní text a jen doplň ks + datum do druhého řádku
// 1) doplnění ks (pokud máš)
const baseText = (pava.textContent || '').trim() || (availabilityEl ? availabilityEl.textContent.trim() : '');
const baseNoPieces = baseText.replace(/\s*\d+\s*ks\b/ig, '').trim();
const piecesPart = pieces ? ` ${pieces} ks` : '';
const line1 = `${baseNoPieces}${piecesPart}`.trim();
// 2) datum na nový řádek (stejný pattern jako u detailu)
const line2 = `Obdržíte do ${deliveryDDMM}`;
// aby se to neduplikovalo opakovaně:
// držíme si vlastní span uvnitř pava
let extra = pava.querySelector('.pava-extra');
if (!extra) {
extra = document.createElement('span');
extra.className = 'pava-extra';
extra.style.display = 'block'; // jen layout, bez stylování barvy apod.
pava.appendChild(extra);
}
// nastav texty
pava.childNodes.forEach(n => {
// necháme jen text node prvního řádku + extra span
// (jednoduše: přepíšeme obsah bezpečně)
});
// bezpečný přepis: nejdřív vyčisti pava, pak vlož 1. řádek + extra
pava.textContent = line1;
pava.appendChild(extra);
extra.textContent = line2;
});
}
// zavolej po tvém hlavním výpočtu / vložení .delivery-estimate
syncPiecesAndDeliveryToPavaModule();
function syncPiecesAndDeliveryToPavaModule(){
syncPiecesAndDeliveryToPava(document);
}