Ceník kontejnerů
Vyberte si hotový model a prohlédněte si jeho rozměry a cenu. Každý model nabízí fotogalerii a všechny důležité informace na jednom místě.
Informace o cenách: Všechny uvedené ceny jsou bez DPH a v CZK. Rozměry, ceny a popisy modelů vycházejí z poskytnutých údajů.
(() => { 'use strict';
function initKBCatalog() { const catalog = document.querySelector('#catalog'); // Samostatný identifikátor verze umožní inicializaci nového kódu také tehdy, // když starší snippet již nastavil předchozí identifikátor. if (!catalog || window.__kbCatalogInitializedV2) return;
const modal = document.querySelector('#modal'); const search = document.querySelector('#search'); const resultCount = document.querySelector('#resultCount'); const largeImage = document.querySelector('#large'); const imageCount = document.querySelector('#count'); const thumbnails = document.querySelector('#thumbs'); const closeButton = document.querySelector('.close'); const previousButton = document.querySelector('.prev'); const nextButton = document.querySelector('.next'); const contactButton = document.querySelector('#mTel');
// Modální okno a jeho prvky musí být součástí HTML bloku ceníku. if (!modal || !resultCount || !largeImage || !imageCount || !thumbnails || !closeButton || !previousButton || !nextButton || !contactButton) { console.warn('KB Ceník: Chybí prvek modálního okna. Vložte úplný HTML blok ceníku.'); return; }
// Šablony WordPressu mohou skrývat tlačítka galerie nebo je překrývat. // Nastavte pozici a viditelnost přímo na prvcích. const galleryViewer = modal.querySelector('.viewer'); if (galleryViewer) { galleryViewer.style.setProperty('position', 'relative', 'important'); galleryViewer.style.setProperty('isolation', 'isolate', 'important'); } function prepareArrow(button, side, symbol, label) { button.type = 'button'; button.textContent = symbol; button.setAttribute('aria-label', label); button.style.setProperty('display', 'flex', 'important'); button.style.setProperty('visibility', 'visible', 'important'); button.style.setProperty('opacity', '1', 'important'); button.style.setProperty('position', 'absolute', 'important'); button.style.setProperty('top', '50%', 'important'); button.style.setProperty(side, '16px', 'important'); button.style.setProperty('z-index', '999999', 'important'); button.style.setProperty('width', '44px', 'important'); button.style.setProperty('height', '44px', 'important'); button.style.setProperty('padding', '0', 'important'); button.style.setProperty('align-items', 'center', 'important'); button.style.setProperty('justify-content', 'center', 'important'); button.style.setProperty('transform', 'translateY(-50%)', 'important'); button.style.setProperty('border', '1px solid #ffffffb8', 'important'); button.style.setProperty('border-radius', '50%', 'important'); button.style.setProperty('background', '#fff', 'important'); button.style.setProperty('color', '#202124', 'important'); button.style.setProperty('font-size', '28px', 'important'); button.style.setProperty('line-height', '1', 'important'); button.style.setProperty('cursor', 'pointer', 'important'); button.style.setProperty('pointer-events', 'auto', 'important'); button.style.setProperty('box-shadow', '0 4px 16px #0003', 'important'); } prepareArrow(previousButton, 'left', '‹', 'Předchozí fotografie'); prepareArrow(nextButton, 'right', '›', 'Další fotografie');
window.__kbCatalogInitializedV2 = true; window.__kbCatalogInitialized = true;
// První URL je hlavní obrázek, následující URL patří do galerie. const productPhotos = { KB_K1: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251128_124335-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251128_124342-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251128_124346-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251128_124356-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251128_124556-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251128_124613-scaled.jpg'], KB_K2: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260202_120119-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260202_120126-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260202_120130-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260202_120138-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260202_120212-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260202_120233-scaled.jpg'], KB_K3: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/5-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-1-1.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-2-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-3-scaled.png'], KB_K4: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-5-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073431-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073453-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073512-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073519-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073813-scaled.jpg'], KB_K5: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-6-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_113946-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_113954-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_113958-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_114003-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-1-2-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-2-1-scaled.png'], KB_K6: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-7-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240424_074541-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240424_074551-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240424_074607-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240424_074641-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240424_074649-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240424_074710-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240424_074800-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-1-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-2-2-scaled.png'], KB_K7: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-1-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/1-—-kopia-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/3-—-kopia-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250805_110009-—-kopia-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250805_110021-—-kopia-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250805_110027-—-kopia-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250805_110043-—-kopia-scaled.jpg'], KB_K8: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-3-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251010_083448-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251010_083457-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251010_083503-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251010_083515-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251010_083744-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-2-3-scaled.png'], KB_K9: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-8-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260629_094242-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260629_094252-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260629_094257-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260629_094303-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260629_094510-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260629_094527-scaled.jpg'], KB_K10: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-1-5-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260914_111557-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260914_111603-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260914_111608-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260914_111658-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260914_111728-scaled.jpg'], KB_K11: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-4-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073016-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073028-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073046-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260511_073104-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-2-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-3-2-scaled.png'], KB_K12: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-3-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260831_091341-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260831_091349-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260831_091402-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260831_091411-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260831_091736-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260831_091751-scaled.jpg'], KB_K13: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-6-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260616_133631-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260616_133647-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260616_133704-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260616_133720-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260616_133841-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-5-1-scaled.png'], KB_K14: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-7-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240719_094353-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240719_095010-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240719_095039-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240719_100126-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240719_100129-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240719_100147-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240719_100151-scaled.jpg'], KB_K15: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-9-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153137-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153143-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153152-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153200-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153222-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153224-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153746-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153801-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250724_153811-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-8-1-scaled.png'], KB_K16: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-8-2-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/20220623_145207-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20220623_145334-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20220623_145456-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20220623_145504-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20220624_124029-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20220624_124138-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20220624_124153-scaled.jpg'], KB_K17: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-10-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_115921-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_120053-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_120106-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_120118-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_120126-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_120341-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260427_120409-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-11-scaled.png'], KB_K18: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-12-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251112_091015-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251112_091028-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251112_091037-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251112_091043-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251112_091051-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251112_091241-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251112_091328-scaled.jpg'], KB_K19: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-13-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250822_132949-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250822_132958-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250822_133015-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250822_133022-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250822_133148-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250822_133157-scaled.jpg'], KB_K20: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-14-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250325_130023-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250325_130042-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250325_130047-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250325_130105-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250325_130317-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250325_130333-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-15-scaled.png'], KB_K21: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-16-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240516_125456-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240516_125456-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240516_125524-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240516_125536-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240516_125713-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240516_125724-scaled.jpg'], KB_K22: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-17-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260518_083025-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260518_083042-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260518_083051-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260518_083057-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260518_083341-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-19-scaled.png'], KB_K23: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-20-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260612_125522-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260612_125538-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260612_125545-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260612_125705-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260612_125715-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260612_125732-scaled.jpg'], KB_K24: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-22.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/1.jpeg', 'https://kbkontener.pl/wp-content/uploads/2026/10/3.jpeg', 'https://kbkontener.pl/wp-content/uploads/2026/10/4.jpeg', 'https://kbkontener.pl/wp-content/uploads/2026/10/6.jpeg', 'https://kbkontener.pl/wp-content/uploads/2026/10/7.jpg'], KB_K25: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-24-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240906_125443-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240906_125449-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240906_125514-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20240906_125527-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-25-scaled.png'], KB_K26: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-24-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-25-1-scaled.png'], KB_K27: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-24-2.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241126_151020-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG-20241127-WA0005.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG-20241127-WA0009.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG-20241127-WA0010.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG-20241127-WA0012.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-2.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-25-2.png'], KB_K28: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260410_112252-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260410_112302-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260410_112312-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260410_112318-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-24-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-25-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-1-scaled.png'], KB_K29: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251117_111337-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251117_111346-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251117_111358-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251117_111406-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251117_111638-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251117_111648-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20251117_111653-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260410_112327-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260410_112342-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-24-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-25-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-2-scaled.png'], KB_K30: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-25-5-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250711_122124-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250711_122130-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250711_122140-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250711_122146-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250711_122156-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250711_122208-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-5-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-2-scaled.png'], KB_K31: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-6.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250828_112918-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250828_112932-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-25-6-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250828_112940-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250828_112947-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250828_113758-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-5-scaled.png'], KB_K32: ['https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-zdjecie.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-2.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-2.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-3.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-4.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-5.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-6.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-8.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-7.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-9.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-10.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-11.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-1.jpg'], KB_K33: ['https://kbkontener.pl/wp-content/uploads/2026/10/Glowne-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-1-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-2-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-2-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-3-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-4-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-5-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-6-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-7-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-8-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-9-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/33-10-scaled.jpg'], KB_K34: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-7-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-6-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-3-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250814_073320-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250814_073334-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250814_073346-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250814_073359-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250814_073407-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250814_073421-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250814_073445-scaled.jpg'], KB_K35: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-23-8-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/1696566680639-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/1696566680643-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/1696566680654-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG-20220131-WA0011.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Zdjecie-WhatsApp-2023-08-21-o-14.31.40.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/Zdjecie-WhatsApp-2023-08-21-o-14.31.43.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/4a.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/5a.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/8a.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/13a.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/14a.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/1693479448376-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/1693479448383-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/1693479448397-scaled.jpg'], KB_K36: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-31-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260804_080006-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260804_080120-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260804_080128-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260804_080136-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260804_080143-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20260804_080152-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-30-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-28-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-7-scaled.png'], KB_K37: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-8-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250922_075343-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250922_075355-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250922_075359-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-5-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-28-1-scaled.png'], KB_K38: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-9-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_145843-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_145851-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_145856-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_145908-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_150307-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_150352-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_150402-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20241108_150429-scaled.jpg'], KB_K39: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-10-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250418_111251-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250418_111257-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250418_111302-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20250418_111307-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-6-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-28-2-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-29-1-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-30-1-scaled.png'], KB_K40: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-26-11-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20230908_065639-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20230908_065658-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20230908_065706-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/IMG_20230908_065718-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-7-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-28-3-scaled.png'], KB_K41: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-28-4-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/20210330_114517-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20210330_114556-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20210330_114807-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/20210330_114827-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-8-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-29-2-scaled.png'], KB_K42: ['https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-27-9-scaled.png', 'https://kbkontener.pl/wp-content/uploads/2026/10/20210412_122355-scaled.jpg', 'https://kbkontener.pl/wp-content/uploads/2026/10/liftapp-28-5-scaled.png'] }; const names = ['Kontejner KB_1', 'Kontejner KB_2', 'Kontejner KB_3', 'Kontejner KB_4', 'Kontejner KB_5', 'Kontejner KB_6', 'Kontejner KB_7', 'Kontejner KB_8', 'Kontejner KB_9', 'Kontejner KB_10', 'Kontejner KB_11', 'Kontejner KB_12', 'Kontejner KB_13', 'Kontejner KB_14', 'Kontejner KB_15', 'Kontejner KB_16', 'Kontejner KB_17', 'Kontejner KB_18', 'Kontejner KB_19', 'Kontejner KB_20', 'Kontejner KB_21', 'Kontejner KB_22', 'Kontejner KB_23', 'Kontejner KB_24', 'Kontejner KB_25', 'Kontejner KB_26', 'Kontejner KB_27', 'Kontejner KB_28', 'Kontejner KB_29', 'Kontejner KB_30', 'Kontejner KB_31', 'Kontejner KB_32', 'Kontejner KB_33', 'Kontejner KB_34', 'Kontejner KB_35', 'Kontejner KB_36', 'Kontejner KB_37', 'Kontejner KB_38', 'Kontejner KB_39 Gastro', 'Kontejner KB_40', 'Sanitární kontejner KB_41', 'Sanitární kontejner KB_42']; const sizes = ['300 × 250 cm', '300 × 250 cm', '300 × 285 cm', '300 × 285 cm', '400 × 250 cm', '400 × 250 cm', '400 × 250 cm', '400 × 250 cm', '400 × 285 cm', '400 × 285 cm', '500 × 250 cm', '500 × 250 cm', '500 × 285 cm', '500 × 285 cm', '500 × 285 cm', '500 × 285 cm', '500 × 285 cm', '600 × 250 cm', '600 × 285 cm', '600 × 285 cm', '600 × 285 cm', '600 × 285 cm', '600 × 285 cm', '600 × 285 cm', '600 × 285 cm', '700 × 285 cm', '700 × 285 cm', '700 × 285 cm', '800 × 285 cm', '800 × 285 cm', '600 × 570 cm', '10 × 6 m', '700 × 285 + 500 × 285 + 600 × 285 cm', '600 × 285 + 600 × 285 cm', '700 × 285 + 500 × 285 cm', '500 × 285 cm', '600 × 285 cm', '400 × 250 cm', '300 × 250 cm', '500 × 285 cm', '340 × 220 cm', '175 × 140 cm']; const prices = ['88 500', '101 500', '132 100', '135 800', '110 500', '128 000', '128 500', '133 500', '157 300', '193 500', '130 700', '150 100', '157 300', '313 300', '251 400', '255 800', '258 100', '262 500', '180 400', '188 000', '196 400', '212 800', '190 100', '193 700', '193 700', '220 400', '246 300', '270 200', '318 300', '257 900', '482 100', '1 073 700', '502 600', '577 100', '857 700', '196 400', '215 400', '144 800', '108 700', '173 900', '168 900', '103 600']; const areas = ['7,5', '7,5', '8,55', '8,55', '10', '10', '10', '10', '11,4', '11,4', '12,5', '12,5', '14,25', '14,25', '14,25', '14,25', '14,25', '15', '17,1', '17,1', '17,1', '17,1', '17,1', '17,1', '17,1', '19,95', '19,95', '19,95', '22,8', '22,8', '34,2', '60', '51,3', '34,2', '34,2', '14,25', '17,1', '10', '7,5', '14,25', '7,48', '2,45']; const descriptions = [ 'Kompaktní modul pro začátek – pro obsluhu, prodej nebo malé servisní místo.', 'Prostorný prodejní pavilon s velkými výlohami a místem pro vaši nabídku.', 'Funkční kancelář připravená k umístění na vámi vybraném místě.', 'Promyšlené uspořádání pro obchod a služby se světlým a otevřeným interiérem.', 'Praktický kontejner o rozměrech 400 × 250 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 400 × 250 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 400 × 250 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 400 × 250 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 400 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 400 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 250 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 250 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 250 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 700 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 700 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 700 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 800 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 800 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 570 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 10 × 6 m – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 700 × 285 + 500 × 285 + 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 + 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 700 × 285 + 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 600 × 285 cm – vhodné řešení pro vaše podnikání.', 'Praktický kontejner o rozměrech 400 × 250 cm – vhodné řešení pro vaše podnikání.', 'Gastronomický kontejner KB_39 o rozměrech 300 × 250 cm – kompaktní prostor pro vaše gastronomické podnikání.', 'Praktický kontejner o rozměrech 500 × 285 cm – vhodné řešení pro vaše podnikání.', 'Sanitární kontejner KB_41 o rozměrech 340 × 220 cm.', 'Sanitární kontejner KB_42 o rozměrech 175 × 140 cm.' ]; const categories = ['handel', 'handel', 'biuro', 'uslugi', 'handel', 'handel', 'handel', 'handel', 'uslugi', 'biuro', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'handel', 'gastro', 'handel', 'uslugi', 'uslugi'];
let activeCategory = 'all'; let activeItem = null; let activePhoto = 0; let photoRequestId = 0;
function getPhotoUrl(url) { if (!url || url.startsWith('WSTAW_URL_')) return ''; return `url("${url.replace(/"/g, '%22')}")`; }
function createItem(index) { const code = `KB_K${index + 1}`; return { index, code, name: names[index], size: sizes[index], price: prices[index], area: areas[index], description: descriptions[index], category: categories[index], photos: (productPhotos[code] || []).slice() }; }
function showPhoto() { if (!activeItem) return;
if (!activeItem.photos.length) { largeImage.innerHTML = ''; largeImage.style.backgroundImage = 'none'; largeImage.textContent = `Přidejte fotografie pro ${activeItem.code}`; largeImage.style.display = 'grid'; largeImage.style.placeItems = 'center'; largeImage.style.color = '#6c7076'; imageCount.textContent = 'Fotografie nejsou k dispozici'; thumbnails.innerHTML = ''; return; }
const requestId = ++photoRequestId; const url = activeItem.photos[activePhoto]; thumbnails.innerHTML = '';
// Prázdné položky přeskočte a obrázky s neplatnou URL automaticky vynechte. if (!url || url.startsWith('WSTAW_URL_')) { activeItem.photos.splice(activePhoto, 1); activePhoto = activeItem.photos.length ? activePhoto % activeItem.photos.length : 0; showPhoto(); return; }
imageCount.textContent = 'Načítání fotografie…'; largeImage.textContent = ''; largeImage.style.display = 'flex'; largeImage.style.placeItems = ''; largeImage.style.color = ''; largeImage.style.backgroundImage = getPhotoUrl(url);
const image = document.createElement('img'); image.className = 'kb-gallery-image'; image.alt = `${activeItem.name} — fotografie ${activePhoto + 1}`; image.decoding = 'async'; image.onload = () => { if (requestId !== photoRequestId || !activeItem) return; imageCount.textContent = `${activePhoto + 1} / ${activeItem.photos.length}`;
activeItem.photos.forEach((photoUrl, index) => { const thumb = document.createElement('button'); thumb.type = 'button'; thumb.className = `thumb${index === activePhoto ? ' on' : ''}`; thumb.setAttribute('aria-label', `Zobrazit fotografii ${index + 1}`); thumb.title = `Fotografie ${index + 1}`; thumb.addEventListener('click', () => { activePhoto = index; showPhoto(); }); thumbnails.appendChild(thumb); }); }; image.onerror = () => { if (requestId !== photoRequestId || !activeItem) return; activeItem.photos.splice(activePhoto, 1); activePhoto = activeItem.photos.length ? activePhoto % activeItem.photos.length : 0; showPhoto(); }; largeImage.appendChild(image); image.src = url; } function openDetails(item) { activeItem = item; activePhoto = 0; updateContactLink(item); document.querySelector('#mTitle').textContent = item.name; document.querySelector('#mDesc').textContent = item.description; document.querySelector('#mSize').textContent = item.size; document.querySelector('#mArea').textContent = `${item.area} m²`;
const contactFact = Array.from(document.querySelectorAll('.facts .fact')).find(fact => fact.querySelector('span')?.textContent.trim() === 'Kontakt');
if (contactFact) contactFact.querySelector('b').innerHTML = 'Sabina
+48 694 137 661';
const priceLabel = document.querySelector('.modalprice small');
if (priceLabel) priceLabel.textContent = 'Cena bez DPH';
document.querySelector('#mPrice').textContent = `${item.price} CZK`;
document.querySelector('#askLabel').textContent = `Poptat ${item.name}`;
showPhoto();
modal.classList.add('open');
modal.setAttribute('aria-hidden', 'false');
document.body.style.overflow = 'hidden';
closeButton.focus();
}
function closeDetails() { modal.classList.remove('open'); modal.setAttribute('aria-hidden', 'true'); document.body.style.overflow = ''; activeItem = null; }
function renderCatalog() { const query = search ? search.value.trim().toLocaleLowerCase('cs-CZ') : ''; const grid = document.createElement('div'); grid.className = 'grid'; let visible = 0;
for (let index = 0; index < names.length; index += 1) { const item = createItem(index); const searchText = `${item.name} ${item.code} ${item.size} ${item.description}`.toLocaleLowerCase('cs-CZ'); if (activeCategory !== 'all' && item.category !== activeCategory) continue; if (query && !searchText.includes(query)) continue; visible += 1; const card = document.createElement('article'); card.className = 'card'; card.innerHTML = `
${item.name}
`;
const photo = card.querySelector('.photo'); photo.style.backgroundImage = getPhotoUrl(item.photos[0]); if (item.photos[0] && !item.photos[0].startsWith('WSTAW_URL_')) { const cardImage = document.createElement('img'); cardImage.className = 'kb-card-image'; cardImage.alt = item.name; cardImage.loading = 'lazy'; cardImage.decoding = 'async'; cardImage.addEventListener('error', () => cardImage.remove(), { once: true }); cardImage.src = item.photos[0]; photo.insertBefore(cardImage, photo.firstChild); } photo.addEventListener('click', () => openDetails(item)); photo.addEventListener('keydown', event => { if (event.key === 'Enter' || event.key === ' ') { event.preventDefault(); openDetails(item); } }); card.querySelector('.more').addEventListener('click', () => openDetails(item)); grid.appendChild(card); }
catalog.innerHTML = ''; if (visible) { const section = document.createElement('section'); section.className = 'range'; section.appendChild(grid); catalog.appendChild(section); } else { const empty = document.createElement('p'); empty.className = 'note'; empty.textContent = 'Nebyly nalezeny žádné modely. Změňte hledaný výraz nebo vyberte jinou kategorii kontejnerů.'; catalog.appendChild(empty); } resultCount.textContent = String(visible); }
closeButton.addEventListener('click', closeDetails); modal.addEventListener('click', event => { if (event.target === modal) closeDetails(); }); previousButton.addEventListener('click', () => { if (!activeItem || !activeItem.photos.length) return; activePhoto = (activePhoto - 1 + activeItem.photos.length) % activeItem.photos.length; showPhoto(); }); nextButton.addEventListener('click', () => { if (!activeItem || !activeItem.photos.length) return; activePhoto = (activePhoto + 1) % activeItem.photos.length; showPhoto(); });
function updateContactLink(item) { if (!item) return; if (window.matchMedia('(max-width: 800px)').matches) { contactButton.href = 'tel:+48694137661'; return; } const subject = `Poptávka na ${item.name}`; const body = `Dobrý den,\n\nprosím o zaslání nabídky na ${item.name} (${item.size}) za cenu ${item.price} CZK bez DPH.\n\nProsím, kontaktujte mě.\n`; contactButton.href = `mailto:export@kbcontainer.pl?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`; }
window.addEventListener('resize', () => { if (activeItem) updateContactLink(activeItem); }); document.addEventListener('keydown', event => { if (!modal.classList.contains('open')) return; if (event.key === 'Escape') closeDetails(); if (event.key === 'ArrowLeft') previousButton.click(); if (event.key === 'ArrowRight') nextButton.click(); });
document.querySelectorAll('.filtergroup .chip').forEach(button => { button.addEventListener('click', () => { document.querySelectorAll('.filtergroup .chip').forEach(chip => chip.classList.remove('active')); button.classList.add('active'); activeCategory = button.dataset.type || 'all'; renderCatalog(); }); }); if (search) search.addEventListener('input', renderCatalog);
renderCatalog(); }
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initKBCatalog, { once: true }); } else { initKBCatalog(); } })();