window.HB_BF_DICT={"e":[["Vloeren",["Sols","Böden","Floors"]],["Dikte 17 mm",["Épaisseur 17 mm","Stärke 17 mm","Thickness 17 mm"]],["Wit",["Blanc","Weiß","White"]],["Zwart",["Noir","Schwarz","Black"]],["Toepassing",["Application","Anwendung","Application"]],["Serie",["Série","Serie","Range"]],["Decor",["Décor","Dekor","Decor"]],["Accessoires",["Accessoires","Zubehör","Accessories"]],["Overzicht",["Récapitulatif","Übersicht","Summary"]],["excl. btw",["HTVA","zzgl. MwSt.","excl. VAT"]],["op aanvraag",["sur demande","auf Anfrage","on request"]],["m² netto +",["m² net +","m² netto +","m² net +"]],["m² geleverd",["m² livrés","m² geliefert","m² supplied"]],["Formaat",["Format","Format","Size"]],["m² per pak",["m² par paquet","m² pro Paket","m² per pack"]],["decors",["décors","Dekore","decors"]],["· per stuk",["· par pièce","· pro Stück","· per piece"]],["· vanaf",["· à partir de","· ab","· from"]],["per stuk",["par pièce","pro Stück","per piece"]],["per m²",["par m²","pro m²","per m²"]],["formaten",["formats","Formate","sizes"]],["AI-render",["Rendu IA","KI-Rendering","AI render"]],["Klaar.",["Terminé.","Fertig.","Done."]],["· pak van",["· paquet de","· Paket mit","· pack of"]],["ander decor",["autre décor","anderes Dekor","other decor"]],["Geleverd (",["Livré (","Geliefert (","Supplied ("]],["incl. btw",["TVA comprise","inkl. MwSt.","incl. VAT"]],["gekozen",["choisi(s)","ausgewählt","selected"]],["artikelen",["articles","Artikel","items"]],["advies",["conseil","Empfehlung","advice"]],["Postcode *",["Code postal *","Postleitzahl *","Postcode *"]],["Plaats *",["Localité *","Ort *","Town *"]],["Aantal",["Quantité","Anzahl","Quantity"]],["Levering:",["Livraison :","Lieferung:","Delivery:"]],["Aanvraag-",["Demande-","Anfrage-","Request-"]],["Artikelnr.",["Réf. article","Art.-Nr.","Item no."]],["· Levering",["· Livraison","· Lieferung","· Delivery"]],["ref.",["réf.","Ref.","ref."]],["regel",["ligne","Zeile","line"]],["Stappen",["Étapes","Schritte","Steps"]],["Visgraat",["Point de Hongrie","Fischgrät","Herringbone"]],["Visgraat Superior",["Point de Hongrie Superior","Fischgrät Superior","Herringbone Superior"]],["Tegels",["Carreaux","Fliesen","Tiles"]],["Panelen",["Panneaux","Paneele","Panels"]],["Wandpanelen",["Panneaux muraux","Wandpaneele","Wall panels"]],["Vensterbanken",["Appuis de fenêtre","Fensterbänke","Windowsills"]],["Gevelpaneel",["Panneau de façade","Fassadenpaneel","Cladding panel"]],["Ondervloeren",["Sous-couches","Unterlagen","Underlays"]],["Lijm",["Colle","Kleber","Adhesive"]],["Hoeveelheid",["Quantité","Menge","Quantity"]],["Levering",["Livraison","Lieferung","Delivery"]],["Bezorgen",["Livraison","Zustellung","Delivery"]],["Zelf afhalen",["Enlèvement sur place","Selbstabholung","Collect yourself"]],["Vloer",["Sol","Boden","Floor"]],["Wand",["Mur","Wand","Wall"]],["Vensterbank",["Appui de fenêtre","Fensterbank","Windowsill"]],["Gevelbekleding",["Bardage","Fassadenverkleidung","Cladding"]],["Alleen accessoires",["Accessoires uniquement","Nur Zubehör","Accessories only"]],["Referentie",["Référence","Referenz","Reference"]],["Download render",["Télécharger le rendu","Rendering herunterladen","Download render"]],["Decorstaal",["Échantillon de décor","Dekormuster","Decor sample"]],["Totale lengte",["Longueur totale","Gesamtlänge","Total length"]],["Dekkende printbreedte",["Largeur d'impression couvrante","Deckende Druckbreite","Covering print width"]],["Paneeloppervlak",["Surface de panneaux","Paneelfläche","Panel area"]],["Netto oppervlak",["Surface nette","Nettofläche","Net area"]],["Inclusief",["Y compris","Inklusive","Including"]],["Adviesprijs per",["Prix conseillé par","Preisempfehlung pro","Recommended price per"]],["Aantal stuks",["Nombre de pièces","Stückzahl","Number of pieces"]],["Aantal wandbeelden",["Nombre de visuels muraux","Anzahl Wandmotive","Number of wall visuals"]],["Aantal pakken",["Nombre de paquets","Anzahl Pakete","Number of packs"]],["Volvlaks verlijmd",["Entièrement collé","Vollflächig verklebt","Fully glued"]],["Annuleren",["Annuler","Abbrechen","Cancel"]],["Losadres",["Adresse de déchargement","Abladeadresse","Unloading address"]],["Land",["Pays","Land","Country"]],["Telefoon contactpersoon",["Téléphone de la personne de contact","Telefon Ansprechpartner","Contact person phone"]],["Nee",["Non","Nein","No"]],["Ja",["Oui","Ja","Yes"]],["Artikel",["Article","Artikel","Item"]],["Verwijderen",["Supprimer","Entfernen","Remove"]],["Subtotaal",["Sous-total","Zwischensumme","Subtotal"]],["Bedrijf",["Entreprise","Firma","Company"]],["Naam",["Nom","Name","Name"]],["Telefoon",["Téléphone","Telefon","Phone"]],["Postcode",["Code postal","Postleitzahl","Postcode"]],["Plaats",["Localité","Ort","Town"]],["Je gegevens",["Vos coordonnées","Ihre Daten","Your details"]],["Aanvraag versturen",["Envoyer la demande","Anfrage senden","Send request"]],["Bestelling plaatsen",["Passer la commande","Bestellung aufgeben","Place order"]],["Referentie klant",["Référence client","Kundenreferenz","Customer reference"]],["Debiteurennummer",["Numéro client","Kundennummer","Customer number"]],["Contact gewenst",["Contact souhaité","Kontakt gewünscht","Contact requested"]],["Artikelen",["Articles","Artikel","Items"]],["Artikelnummer",["Référence d'article","Artikelnummer","Item number"]],["Afbeelding",["Image","Bild","Image"]],["Wijze",["Mode","Art","Method"]],["Contactpersoon losadres",["Contact adresse de déchargement","Ansprechpartner Abladeadresse","Contact at unloading address"]],["Heftruck aanwezig",["Chariot élévateur disponible","Gabelstapler vorhanden","Forklift available"]],["Klantgegevens",["Coordonnées client","Kundendaten","Customer details"]],["Bedrijfsadres",["Adresse de l'entreprise","Firmenadresse","Company address"]],["Opmerking",["Remarque","Anmerkung","Comment"]],["Algemene voorwaarden",["Conditions générales","Allgemeine Geschäftsbedingungen","Terms and conditions"]],["Condities",["Conditions","Konditionen","Terms"]],["Bestelling",["Commande","Bestellung","Order"]],["Aanvraagnummer",["Numéro de demande","Anfragenummer","Request number"]],["Bestelnummer",["Numéro de commande","Bestellnummer","Order number"]],["Je referentie",["Votre référence","Ihre Referenz","Your reference"]],["Contact losadres",["Contact déchargement","Kontakt Abladeadresse","Unloading contact"]],["Je opmerking",["Votre remarque","Ihre Anmerkung","Your comment"]],["Bestelbevestiging",["Confirmation de commande","Auftragsbestätigung","Order confirmation"]],["Afdrukken",["Imprimer","Drucken","Print"]],["Nieuwe bestelling",["Nouvelle commande","Neue Bestellung","New order"]],["Je selectie",["Votre sélection","Ihre Auswahl","Your selection"]],["Vrijblijvende aanvraag",["Demande sans engagement","Unverbindliche Anfrage","No-obligation request"]],["Plank Superior",["Lame Superior","Diele Superior","Plank Superior"]],["Toepassing",["Application","Anwendung","Application"]]],"s":[["Stel je bestelling samen",["Composez votre commande","Stellen Sie Ihre Bestellung zusammen","Put together your order"]],["Kies toepassing, serie en decor en vul je oppervlakte of het aantal pakken in. Dealers plaatsen hier rechtstreeks hun bestelling en ontvangen zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen. Particulieren kunnen de tool vrijblijvend gebruiken; hun aanvraag gaat naar een dealer bij hen in de buurt. Alle getoonde prijzen zijn adviesverkoopprijzen voor consumenten, inclusief btw.",["Choisissez l'application, la série et le décor, puis indiquez votre surface ou le nombre de paquets. Les revendeurs passent ici directement leur commande et reçoivent dans les meilleurs délais une confirmation avec les prix d'achat. Les particuliers peuvent utiliser l'outil sans engagement ; leur demande est transmise à un revendeur près de chez eux. Tous les prix affichés sont des prix de vente conseillés pour les consommateurs, TVA comprise.","Wählen Sie Anwendung, Serie und Dekor und geben Sie Ihre Fläche oder die Anzahl der Pakete ein. Händler geben hier direkt ihre Bestellung auf und erhalten schnellstmöglich eine Auftragsbestätigung mit den Einkaufspreisen. Privatkunden können das Tool unverbindlich nutzen; ihre Anfrage geht an einen Händler in ihrer Nähe. Alle angezeigten Preise sind unverbindliche Verkaufspreise für Verbraucher inklusive MwSt.","Choose the application, range and decor, then enter your area or the number of packs. Dealers place their order here directly and receive a confirmation with purchase prices as soon as possible. Consumers can use the tool without obligation; their request goes to a dealer near them. All prices shown are recommended retail prices for consumers, including VAT."]],["prijslijst 07-2026",["liste de prix 07-2026","Preisliste 07-2026","price list 07-2026"]],["Massieve waterdichte SPC-kern met Luxury Wood Embossed houtreliëf en micro V-groef. Slechts 4 mm dik, daarom bij uitstek geschikt voor renovatie.",["Noyau SPC massif et étanche avec relief bois Luxury Wood Embossed et micro-chanfrein en V. Seulement 4 mm d'épaisseur, idéal pour la rénovation.","Massiver, wasserdichter SPC-Kern mit Luxury Wood Embossed Holzprägung und Micro-V-Fuge. Nur 4 mm stark und daher ideal für Renovierungen.","Solid waterproof SPC core with Luxury Wood Embossed texture and micro V-groove. Only 4 mm thick, making it ideal for renovation."]],["Dikte 4,0 mm",["Épaisseur 4,0 mm","Stärke 4,0 mm","Thickness 4.0 mm"]],["Slijtlaag 0,3 mm (klasse 32)",["Couche d'usure 0,3 mm (classe 32)","Nutzschicht 0,3 mm (Klasse 32)","Wear layer 0.3 mm (class 32)"]],["Oppervlak: Luxury Wood Embossed",["Surface : Luxury Wood Embossed","Oberfläche: Luxury Wood Embossed","Surface: Luxury Wood Embossed"]],["Plaatsing: zwevend of volvlaks verlijmd",["Pose : flottante ou entièrement collée","Verlegung: schwimmend oder vollflächig verklebt","Installation: floating or fully glued"]],["Zwaardere uitvoering met Embossed in Register: het houtreliëf loopt exact in lijn met het decor. Dikkere slijtlaag, geschikt voor intensief gebruik.",["Version plus robuste avec Embossed in Register : le relief bois suit exactement le décor. Couche d’usure plus épaisse, adaptée à un usage intensif.","Robustere Ausführung mit Embossed in Register: Die Holzprägung verläuft exakt synchron zum Dekor. Dickere Nutzschicht, geeignet für intensive Nutzung.","Heavier-duty version with Embossed in Register: the wood texture follows the decor exactly. Thicker wear layer, suitable for intensive use."]],["Dikte 4,5 mm",["Épaisseur 4,5 mm","Stärke 4,5 mm","Thickness 4.5 mm"]],["Slijtlaag 0,5 mm (klasse 33)",["Couche d'usure 0,5 mm (classe 33)","Nutzschicht 0,5 mm (Klasse 33)","Wear layer 0.5 mm (class 33)"]],["Oppervlak: Embossed in Register",["Surface : Embossed in Register","Oberfläche: Embossed in Register","Surface: Embossed in Register"]],["Klassiek visgraatmotief in SPC, met geverfde V-groef en Drop Lock-klik. Houd rekening met meer snijverlies dan bij een rechte plank.",["Motif point de Hongrie classique en SPC, avec chanfrein en V peint et clic Drop Lock. Prévoyez davantage de chutes qu'avec une lame droite.","Klassisches Fischgrätmuster in SPC mit lackierter V-Fuge und Drop-Lock-Klick. Rechnen Sie mit mehr Verschnitt als bei einer geraden Diele.","Classic herringbone pattern in SPC, with painted V-groove and Drop Lock click. Allow for more cutting waste than with a straight plank."]],["Visgraat met Embossed in Register: het reliëf volgt de houtnerf van het decor exact. De meest verfijnde uitvoering uit de vloercollectie.",["Point de Hongrie avec Embossed in Register : le relief suit exactement le veinage du décor. La version la plus raffinée de la collection de sols.","Fischgrät mit Embossed in Register: Die Prägung folgt exakt der Holzmaserung des Dekors. Die edelste Ausführung der Bodenkollektion.","Herringbone with Embossed in Register: the texture follows the wood grain of the decor exactly. The most refined version in the floor collection."]],["Tiles 61 × 30,5 cm",["Tiles 61 × 30,5 cm","Tiles 61 × 30,5 cm","Tiles 61 × 30.5 cm"]],["Tegelformaat met natuurgetrouwe steenstructuur. Door de dikte van 4 mm vaak rechtstreeks over bestaande vloer- of wandtegels te plaatsen, zonder breekwerk.",["Format carreau avec texture de pierre naturelle. Grâce à leur épaisseur de 4 mm, ils se posent souvent directement sur le carrelage de sol ou mural existant, sans démolition.","Fliesenformat mit naturgetreuer Steinstruktur. Dank der Stärke von 4 mm oft direkt über vorhandene Boden- oder Wandfliesen verlegbar, ohne Abbrucharbeiten.","Tile format with a true-to-nature stone texture. At 4 mm thick, they can often be installed directly over existing floor or wall tiles, without demolition."]],["Oppervlak: Mat steenstructuur",["Surface : texture pierre mate","Oberfläche: matte Steinstruktur","Surface: matt stone texture"]],["Plaatsing: zwevend of verlijmd, vloer én wand",["Pose : flottante ou collée, sol et mur","Verlegung: schwimmend oder verklebt, Boden und Wand","Installation: floating or glued, floor and wall"]],["Tiles XL 95 × 47,5 cm",["Tiles XL 95 × 47,5 cm","Tiles XL 95 × 47,5 cm","Tiles XL 95 × 47.5 cm"]],["Groot tegelformaat voor een rustiger beeld met minder voegen. Zelfde opbouw als de standaardtegel, zelfde kliksysteem.",["Grand format de carreau pour un rendu plus calme avec moins de joints. Même composition que le carreau standard, même système de clic.","Großes Fliesenformat für ein ruhigeres Bild mit weniger Fugen. Gleicher Aufbau wie die Standardfliese, gleiches Klicksystem.","Large tile format for a calmer look with fewer joints. Same build-up as the standard tile, same click system."]],["Panels 260,5 × 48,2 cm",["Panels 260,5 × 48,2 cm","Panels 260,5 × 48,2 cm","Panels 260.5 × 48.2 cm"]],["Wandpaneel over de volle hoogte met Click & Screw-verbinding. Naadloos beeld, 100% waterdicht, ook in douche- en badruimtes.",["Panneau mural toute hauteur avec système Click & Screw. Rendu sans joints, 100 % étanche, même dans les douches et salles de bains.","Wandpaneel über die volle Höhe mit Click & Screw-Verbindung. Fugenloses Bild, 100 % wasserdicht, auch in Dusche und Bad.","Full-height wall panel with Click & Screw joint. Seamless look, 100% waterproof, even in showers and bathrooms."]],["Slijtlaag klasse 32",["Couche d'usure classe 32","Nutzschicht Klasse 32","Wear layer class 32"]],["Oppervlak: Ultramat / Minipearl / houtstructuur",["Surface : ultra-mate / minipearl / structure bois","Oberfläche: Ultramatt / Minipearl / Holzstruktur","Surface: ultra-matt / minipearl / wood texture"]],["Plaatsing: verlijmd of geschroefd",["Pose : collée ou vissée","Montage: verklebt oder verschraubt","Installation: glued or screwed"]],["Combi-Panels 122 × 32 cm",["Combi-Panels 122 × 32 cm","Combi-Panels 122 × 32 cm","Combi-Panels 122 × 32 cm"]],["Combi-panelen",["Combi-panels","Combi-Panels","Combi-panels"]],["Korter paneelformaat voor accentwanden en lagere vlakken, met dezelfde naadloze Click & Screw-verbinding als de grote panelen.",["Format de panneau plus court pour les murs d’accent et les surfaces basses, avec le même système Click & Screw sans joints que les grands panneaux.","Kürzeres Paneelformat für Akzentwände und niedrigere Flächen, mit derselben fugenlosen Click & Screw-Verbindung wie die großen Paneele.","Shorter panel format for feature walls and lower surfaces, with the same seamless Click & Screw joint as the large panels."]],["Oppervlak: Steenstructuur / Minipearl / houtstructuur",["Surface : structure pierre / minipearl / structure bois","Oberfläche: Steinstruktur / Minipearl / Holzstruktur","Surface: stone texture / minipearl / wood texture"]],["Digi-Panels — Horizon collectie",["Digi-Panels — collection Horizon","Digi-Panels — Horizon Kollektion","Digi-Panels — Horizon collection"]],["Doorlopende digitale print over een volledige wand, zonder voegen of onderbrekingen. Per wandbeeld besteld, in twee breedtes.",["Impression numérique continue sur tout un mur, sans joints ni interruptions. Commandé par visuel mural, en deux largeurs.","Durchgehender Digitaldruck über eine ganze Wand, ohne Fugen oder Unterbrechungen. Pro Wandmotiv bestellt, in zwei Breiten.","Continuous digital print across an entire wall, without joints or interruptions. Ordered per wall visual, in two widths."]],["Oppervlak: Digitale print, meerlaags afgewerkt",["Surface : impression numérique, finition multicouche","Oberfläche: Digitaldruck, mehrschichtig veredelt","Surface: digital print, multi-layer finish"]],["Digi-Panels — Flow collectie",["Digi-Panels — collection Flow","Digi-Panels — Flow Kollektion","Digi-Panels — Flow collection"]],["Doorlopend printdecor op panelen van 48,2 cm, te combineren tot elke wandbreedte. Bestelbaar per pak van 2 panelen.",["Décor imprimé continu sur des panneaux de 48,2 cm, combinables pour toute largeur de mur. Commande par paquet de 2 panneaux.","Durchgehendes Druckdekor auf Paneelen von 48,2 cm, kombinierbar für jede Wandbreite. Bestellbar pro Paket mit 2 Paneelen.","Continuous printed decor on 48.2 cm panels, combinable for any wall width. Ordered per pack of 2 panels."]],["Boards 260,5 × 96,5 cm",["Boards 260,5 × 96,5 cm","Boards 260,5 × 96,5 cm","Boards 260.5 × 96.5 cm"]],["Grote plaat van bijna een meter breed: de snelste weg naar een vlakke, voegloze wand. Wordt met polymeerlijm bevestigd.",["Grande plaque de près d'un mètre de large : le moyen le plus rapide d'obtenir un mur plan et sans joints. Fixée avec de la colle polymère.","Große Platte mit fast einem Meter Breite: der schnellste Weg zu einer ebenen, fugenlosen Wand. Wird mit Polymerkleber befestigt.","Large board almost one metre wide: the fastest route to a flat, joint-free wall. Fixed with polymer adhesive."]],["Plaatsing: verlijmd",["Pose : collée","Montage: verklebt","Installation: glued"]],["Per 2 stuks in doos",["Par 2 pièces en carton","2 Stück pro Karton","2 pieces per box"]],["Vensterbanken 290 × 30 cm",["Windowsills 290 × 30 cm","Windowsills 290 × 30 cm","Windowsills 290 × 30 cm"]],["Slechts 5 mm dik en daarmee rechtstreeks over de bestaande vensterbank te plaatsen. Neus van 36 mm, af te werken met bijpassend zelfklevend kantenband.",["Seulement 5 mm d'épaisseur, à poser directement sur l'appui de fenêtre existant. Nez de 36 mm, à finir avec une bande de chant autocollante assortie.","Nur 5 mm stark und dadurch direkt über die vorhandene Fensterbank montierbar. Nase von 36 mm, mit passendem selbstklebendem Kantenband abzuschließen.","Only 5 mm thick, so it can be installed directly over the existing windowsill. 36 mm nosing, finished with matching self-adhesive edge tape."]],["Dikte 5,0 mm",["Épaisseur 5,0 mm","Stärke 5,0 mm","Thickness 5.0 mm"]],["Oppervlak: Minipearl / Luxury Wood Embossed",["Surface : minipearl / Luxury Wood Embossed","Oberfläche: Minipearl / Luxury Wood Embossed","Surface: minipearl / Luxury Wood Embossed"]],["Plaatsing: verlijmd met polymeerlijm",["Pose : collée avec de la colle polymère","Montage: mit Polymerkleber verklebt","Installation: glued with polymer adhesive"]],["Gevelpaneel 180 mm",["Panneau de façade 180 mm","Fassadenpaneel 180 mm","Cladding panel 180 mm"]],["Kunststof gevelpaneel van 6 meter met kleurechte structuurfolie, zonder schaduwvoeg. Duits fabricaat met 10 jaar garantie op kleurechtheid en slagvastheid.",["Panneau de façade en PVC de 6 mètres avec film structuré grand teint, sans joint creux. Fabrication allemande avec 10 ans de garantie sur la tenue des couleurs et la résistance aux chocs.","Kunststoff-Fassadenpaneel von 6 Metern mit farbechter Strukturfolie, ohne Schattenfuge. Deutsches Fabrikat mit 10 Jahren Garantie auf Farbechtheit und Schlagfestigkeit.","6-metre PVC cladding panel with colourfast textured foil, without shadow gap. German-made, with a 10-year guarantee on colourfastness and impact resistance."]],["Oppervlak: Structuurfolie",["Surface : film structuré","Oberfläche: Strukturfolie","Surface: textured foil"]],["Plaatsing: horizontaal of verticaal, op regelwerk",["Pose : horizontale ou verticale, sur lattage","Montage: horizontal oder vertikal, auf Lattung","Installation: horizontal or vertical, on battens"]],["Gevelpaneel DUO 200 mm",["Panneau de façade DUO 200 mm","Fassadenpaneel DUO 200 mm","Cladding panel DUO 200 mm"]],["Gevelpaneel DUO",["Panneau de façade DUO","Fassadenpaneel DUO","Cladding panel DUO"]],["Gevelpaneel van 6 meter met antracieten schaduwvoeg, werkende maat 200 mm. Houtdecors met kleurechte structuurfolie.",["Panneau de façade de 6 mètres avec joint creux anthracite, largeur utile 200 mm. Décors bois avec film structuré grand teint.","Fassadenpaneel von 6 Metern mit anthrazitfarbener Schattenfuge, Nutzbreite 200 mm. Holzdekore mit farbechter Strukturfolie.","6-metre cladding panel with anthracite shadow gap, working width 200 mm. Wood decors with colourfast textured foil."]],["Oppervlak: Structuurfolie, voeg antraciet",["Surface : film structuré, joint anthracite","Oberfläche: Strukturfolie, Fuge anthrazit","Surface: textured foil, anthracite joint"]],["Voor zwevend gelegde vloeren. Zorgt voor een egale basis en voldoende druksterkte onder de klikverbinding.",["Pour les sols en pose flottante. Assure une base uniforme et une résistance à la compression suffisante sous le système de clic.","Für schwimmend verlegte Böden. Sorgt für einen ebenen Untergrund und ausreichende Druckfestigkeit unter der Klickverbindung.","For floating floors. Provides an even base and sufficient compressive strength under the click joint."]],["rol van 15 m² — hoogste druksterkte",["rouleau de 15 m² — résistance à la compression la plus élevée","Rolle mit 15 m² — höchste Druckfestigkeit","15 m² roll — highest compressive strength"]],["pak van 14,85 m²",["paquet de 14,85 m²","Paket mit 14,85 m²","pack of 14.85 m²"]],["Hybride polymeerlijm voor tegels, panelen en vensterbanken. Ontvet vooraf zowel de ondergrond als de achterzijde.",["Colle polymère hybride pour carreaux, panneaux et appuis de fenêtre. Dégraissez au préalable le support et le dos du produit.","Hybrid-Polymerkleber für Fliesen, Paneele und Fensterbänke. Vorher sowohl den Untergrund als auch die Rückseite entfetten.","Hybrid polymer adhesive for tiles, panels and windowsills. Degrease both the substrate and the back of the product first."]],["Hybride polymeerlijm — koker 290 ml",["Colle polymère hybride — cartouche 290 ml","Hybrid-Polymerkleber — Kartusche 290 ml","Hybrid polymer adhesive — 290 ml cartridge"]],["verbruik ca. 1 koker per 2 m²",["consommation env. 1 cartouche par 2 m²","Verbrauch ca. 1 Kartusche pro 2 m²","coverage approx. 1 cartridge per 2 m²"]],["Hybride polymeerlijm — emmer 5 kg",["Colle polymère hybride — seau de 5 kg","Hybrid-Polymerkleber — Eimer 5 kg","Hybrid polymer adhesive — 5 kg bucket"]],["volvlaks met lijmkam, 0,8 kg per m²",["sur toute la surface avec une spatule crantée, 0,8 kg par m²","vollflächig mit Zahnspachtel, 0,8 kg pro m²","full-surface with a notched trowel, 0.8 kg per m²"]],["Kantenband voor vensterbanken",["Bande de chant pour appuis de fenêtre","Kantenband für Fensterbänke","Edge tape for windowsills"]],["Zelfklevende strip van 300 × 35 mm om de open zijden netjes af te werken.",["Bande autocollante de 300 × 35 mm pour une finition soignée des côtés ouverts.","Selbstklebender Streifen von 300 × 35 mm für einen sauberen Abschluss der offenen Seiten.","Self-adhesive 300 × 35 mm strip for a neat finish on the open sides."]],["PVC-profielen 2600 mm",["Profilés PVC 2600 mm","PVC-Profile 2600 mm","PVC profiles 2600 mm"]],["Binnen- en buitenhoeken en U-profielen voor een nette rand, per stuk te bestellen.",["Angles intérieurs et extérieurs et profilés en U pour une finition nette, à commander à la pièce.","Innen- und Außenecken sowie U-Profile für einen sauberen Abschluss, einzeln bestellbar.","Inside and outside corners and U-profiles for a neat edge, ordered per piece."]],["Aluminium profielen 2700 mm",["Profilés aluminium 2700 mm","Aluminiumprofile 2700 mm","Aluminium profiles 2700 mm"]],["Aluminium hoek- en startprofielen in vier afwerkingen, per stuk te bestellen.",["Profilés d’angle et de départ en aluminium en quatre finitions, à commander à la pièce.","Aluminium-Eck- und Startprofile in vier Ausführungen, einzeln bestellbar.","Aluminium corner and starter profiles in four finishes, ordered per piece."]],["Exterior Line — hoek- en verbindingsprofielen",["Exterior Line — profilés d’angle et de jonction","Exterior Line — Eck- und Verbindungsprofile","Exterior Line — corner and connecting profiles"]],["6 meter lang, in dezelfde kleurechte structuurfolie als de gevelpanelen.",["6 mètres de long, dans le même film structuré grand teint que les panneaux de façade.","6 Meter lang, in derselben farbechten Strukturfolie wie die Fassadenpaneele.","6 metres long, in the same colourfast textured foil as the cladding panels."]],["Exterior Line — start- en ventilatieprofielen",["Exterior Line — profilés de départ et de ventilation","Exterior Line — Start- und Lüftungsprofile","Exterior Line — starter and ventilation profiles"]],["De basis van het montagesysteem; ventilatieprofielen houden de luchtspouw achter de gevel open.",["La base du système de montage ; les profilés de ventilation maintiennent la lame d'air derrière la façade ouverte.","Die Basis des Montagesystems; Lüftungsprofile halten die Luftschicht hinter der Fassade offen.","The basis of the mounting system; ventilation profiles keep the air cavity behind the cladding open."]],["Exterior Line — boeidelen en toebehoren",["Exterior Line — bandeaux de rive et accessoires","Exterior Line — Stirnbretter und Zubehör","Exterior Line — fascia boards and accessories"]],["Sluit de gevel strak af tot aan de dakgoot.",["Finit proprement la façade jusqu'à la gouttière.","Schließt die Fassade sauber bis zur Dachrinne ab.","Gives the cladding a neat finish up to the gutter."]],["De getoonde prijzen zijn adviesverkoopprijzen voor consumenten, inclusief btw (",["Les prix affichés sont des prix de vente conseillés pour les consommateurs, TVA comprise (","Die angezeigten Preise sind unverbindliche Verkaufspreise für Verbraucher inklusive MwSt. (","The prices shown are recommended retail prices for consumers, including VAT ("]],["). Je inkoopprijzen volgens de geldende prijsafspraken staan op onze tegenbevestiging.",["). Vos prix d’achat selon les accords tarifaires en vigueur figurent sur notre confirmation de commande.","). Ihre Einkaufspreise gemäß den geltenden Preisvereinbarungen stehen auf unserer Auftragsbestätigung.","). Your purchase prices according to the applicable price agreements are shown on our order confirmation."]],["Ik ben nieuw",["Je suis nouveau","Ich bin neu","I'm new"]],["via de dealer",["via le revendeur","über den Händler","via the dealer"]],["afhalen (kosteloos)",["enlèvement (gratuit)","Abholung (kostenlos)","collection (free of charge)"]],["volgens prijsafspraak",["selon accord tarifaire","gemäß Preisvereinbarung","as per price agreement"]],["Adviesprijzen voor consumenten, inclusief btw (",["Prix conseillés pour les consommateurs, TVA comprise (","Unverbindliche Preisempfehlung für Verbraucher inkl. MwSt. (","Recommended consumer prices, including VAT ("]],["). HB Composite levert niet rechtstreeks aan particulieren: je aanvraag gaat naar een HB Composite-dealer bij je in de buurt. De dealer neemt contact met je op over de levering. De definitieve prijs ontvang je van de dealer.",["). HB Composite ne livre pas directement aux particuliers : votre demande est transmise à un revendeur HB Composite près de chez vous. Le revendeur vous contacte au sujet de la livraison. Vous recevez le prix définitif du revendeur.","). HB Composite liefert nicht direkt an Privatkunden: Ihre Anfrage geht an einen HB Composite-Händler in Ihrer Nähe. Der Händler setzt sich wegen der Lieferung mit Ihnen in Verbindung. Den endgültigen Preis erhalten Sie vom Händler.","). HB Composite does not deliver directly to consumers: your request goes to an HB Composite dealer near you. The dealer will contact you about delivery. You will receive the final price from the dealer."]],["Op al onze leveringen zijn onze",["Toutes nos livraisons sont soumises à nos","Für alle unsere Lieferungen gelten unsere","All our deliveries are subject to our"]],["algemene leverings- en verkoopvoorwaarden",["conditions générales de livraison et de vente","Allgemeinen Liefer- und Verkaufsbedingungen","general terms and conditions of delivery and sale"]],["van toepassing.",[".",".","."]],["Plank, visgraat of tegels — zwevend of volvlaks verlijmd.",["Lame, point de Hongrie ou carreaux — flottant ou entièrement collé.","Diele, Fischgrät oder Fliesen — schwimmend oder vollflächig verklebt.","Plank, herringbone or tiles — floating or fully glued."]],["Panelen, boards, tegels en digitale printwanden. 100% waterdicht.",["Panneaux, plaques, carreaux et murs à impression numérique. 100 % étanche.","Paneele, Platten, Fliesen und digital bedruckte Wände. 100 % wasserdicht.","Panels, boards, tiles and digitally printed walls. 100% waterproof."]],["5 mm dik, rechtstreeks over de bestaande vensterbank.",["5 mm d'épaisseur, directement sur l'appui de fenêtre existant.","5 mm stark, direkt über die vorhandene Fensterbank.","5 mm thick, directly over the existing windowsill."]],["Exterior Line: kunststof gevelpanelen van 6 meter.",["Exterior Line : panneaux de façade en PVC de 6 mètres.","Exterior Line: Kunststoff-Fassadenpaneele von 6 Metern.","Exterior Line: 6-metre PVC cladding panels."]],["Lijm, profielen, kantenband en ondervloeren uit het hele assortiment.",["Colle, profilés, bande de chant et sous-couches pour toute la gamme.","Kleber, Profile, Kantenband und Unterlagen für das gesamte Sortiment.","Adhesive, profiles, edge tape and underlays for the whole range."]],["m totale lengte",["m de longueur totale","m Gesamtlänge","m total length"]],["m² (rechtstreeks",["m² (directement","m² (direkt","m² (directly"]],["% snijverlies →",["% de chutes →","% Verschnitt →","% cutting waste →"]],["m² paneeloppervlak",["m² de surface de panneaux","m² Paneelfläche","m² panel area"]],["← Vorige stap",["← Étape précédente","← Vorheriger Schritt","← Previous step"]],["Volgende stap →",["Étape suivante →","Nächster Schritt →","Next step →"]],["Welkom bij het Aqua Composite bestelformulier",["Bienvenue sur le bon de commande Aqua Composite","Willkommen beim Aqua Composite Bestellformular","Welcome to the Aqua Composite order form"]],["Ben je dealer van HB Composite, dan plaats je hier rechtstreeks je bestelling. Alle getoonde prijzen zijn adviesverkoopprijzen voor consumenten, inclusief btw.",["Vous êtes revendeur HB Composite ? Passez ici directement votre commande. Tous les prix affichés sont des prix de vente conseillés pour les consommateurs, TVA comprise.","Sind Sie Händler von HB Composite? Dann geben Sie hier direkt Ihre Bestellung auf. Alle angezeigten Preise sind unverbindliche Verkaufspreise für Verbraucher inklusive MwSt.","Are you an HB Composite dealer? Place your order here directly. All prices shown are recommended retail prices for consumers, including VAT."]],["Particulier? Maak hier je eigen offerte: je verstuurt een vrijblijvende aanvraag die naar een dealer bij je in de buurt gaat.",["Particulier ? Établissez ici votre propre devis : vous envoyez une demande sans engagement, transmise à un revendeur près de chez vous.","Privatkunde? Erstellen Sie hier Ihr eigenes Angebot: Sie senden eine unverbindliche Anfrage, die an einen Händler in Ihrer Nähe geht.","Private customer? Create your own quote here: you send a no-obligation request that goes to a dealer near you."]],["Ik ben dealer van HB Composite",["Je suis revendeur HB Composite","Ich bin Händler von HB Composite","I'm an HB Composite dealer"]],["Bestelling plaatsen. Je ontvangt van ons een tegenbevestiging met je inkoopprijzen.",["Passer une commande. Vous recevrez de notre part une confirmation avec vos prix d’achat.","Bestellung aufgeben. Sie erhalten von uns eine Auftragsbestätigung mit Ihren Einkaufspreisen.","Place an order. You'll receive a confirmation from us with your purchase prices."]],["Maak hier je eigen offerte",["Établissez ici votre propre devis","Erstellen Sie hier Ihr eigenes Angebot","Create your own quote here"]],["Vrijblijvend, met adviesverkoopprijzen incl. btw. Er wordt geen bestelling geplaatst; je aanvraag gaat naar een dealer bij je in de buurt.",["Sans engagement, avec prix de vente conseillés TVA comprise. Aucune commande n'est passée ; votre demande est transmise à un revendeur près de chez vous.","Unverbindlich, mit unverbindlichen Verkaufspreisen inkl. MwSt. Es wird keine Bestellung aufgegeben; Ihre Anfrage geht an einen Händler in Ihrer Nähe.","No obligation, with recommended retail prices incl. VAT. No order is placed; your request goes to a dealer near you."]],["Je ordernummer of referentie",["Votre numéro de commande ou référence","Ihre Bestellnummer oder Referenz","Your order number or reference"]],["bijv. inkoopordernummer, projectnaam of klantnaam",["p. ex. numéro de bon de commande, nom du projet ou du client","z. B. Bestellnummer, Projektname oder Kundenname","e.g. purchase order number, project name or customer name"]],["Debiteurennummer (optioneel)",["Numéro client (facultatif)","Kundennummer (optional)","Customer number (optional)"]],["staat op je factuur",["figure sur votre facture","steht auf Ihrer Rechnung","shown on your invoice"]],["Deze referentie vermelden wij op de orderbevestiging, de pakbon en de factuur.",["Nous mentionnons cette référence sur la confirmation de commande, le bon de livraison et la facture.","Diese Referenz geben wir auf der Auftragsbestätigung, dem Lieferschein und der Rechnung an.","We will state this reference on the order confirmation, delivery note and invoice."]],["Ja, neem na mijn aanvraag contact met mij op.",["Oui, contactez-moi après ma demande.","Ja, kontaktieren Sie mich nach meiner Anfrage.","Yes, please contact me after my request."]],["Kies eerst of je klant bent of de tool wilt proberen.",["Choisissez d'abord si vous êtes client ou si vous souhaitez essayer l'outil.","Wählen Sie zuerst, ob Sie Kunde sind oder das Tool ausprobieren möchten.","First choose whether you're a customer or want to try the tool."]],["Waarvoor zoek je materiaal?",["Pour quelle application cherchez-vous du matériau ?","Wofür suchen Sie Material?","What do you need material for?"]],["Kies de toepassing. Je kunt meerdere producten in één bestelling combineren.",["Choisissez l'application. Vous pouvez combiner plusieurs produits dans une seule commande.","Wählen Sie die Anwendung. Sie können mehrere Produkte in einer Bestellung kombinieren.","Choose the application. You can combine several products in one order."]],["Niet te combineren met wat al in je selectie staat.",["Non combinable avec ce qui figure déjà dans votre sélection.","Nicht kombinierbar mit dem, was bereits in Ihrer Auswahl ist.","Can't be combined with what's already in your selection."]],["Door naar levering →",["Passer à la livraison →","Weiter zur Lieferung →","Continue to delivery →"]],["Kies een serie",["Choisissez une série","Wählen Sie eine Serie","Choose a range"]],["series geschikt voor",["séries adaptées pour","Serien geeignet für","ranges suitable for"]],["· per wandbeeld",["· par visuel mural","· pro Wandmotiv","· per wall visual"]],["Kies je decor",["Choisissez votre décor","Wählen Sie Ihr Dekor","Choose your decor"]],["decors. De afbeelding toont het decor;",["décors. L'image montre le décor ;","Dekore. Das Bild zeigt das Dekor;","decors. The image shows the decor;"]],["vraag bij twijfel een staal aan.",["en cas de doute, demandez un échantillon.","fordern Sie im Zweifel ein Muster an.","if in doubt, request a sample."]],["Bekijk dit decor in een AI-render",["Voir ce décor dans un rendu IA","Dieses Dekor in einem KI-Rendering ansehen","See this decor in an AI render"]],["Een fotorealistisch voorbeeld van",["Un aperçu photoréaliste de","Eine fotorealistische Vorschau von","A photorealistic preview of"]],[", gemaakt door AI. Dit duurt meestal 30 tot 90 seconden.",[", réalisé par IA. Cela prend généralement 30 à 90 secondes.",", erstellt mit KI. Das dauert meist 30 bis 90 Sekunden.",", created by AI. This usually takes 30 to 90 seconds."]],["AI-impressie: kleur, patroon en maatvoering kunnen afwijken van het echte product. Vraag een staal aan voor de juiste kleur.",["Impression IA : la couleur, le motif et les dimensions peuvent différer du produit réel. Demandez un échantillon pour la couleur exacte.","KI-Eindruck: Farbe, Muster und Maße können vom echten Produkt abweichen. Fordern Sie für die richtige Farbe ein Muster an.","AI impression: colour, pattern and dimensions may differ from the real product. Request a sample for the exact colour."]],["De AI maakt je render…",["L’IA réalise votre rendu…","Die KI erstellt Ihr Rendering…","The AI is creating your render…"]],["De AI-render is niet gelukt. Probeer het opnieuw.",["Le rendu IA n'a pas abouti. Veuillez réessayer.","Das KI-Rendering ist fehlgeschlagen. Bitte versuchen Sie es erneut.","The AI render didn't work. Please try again."]],["Nieuwe render maken",["Créer un nouveau rendu","Neues Rendering erstellen","Create a new render"]],["De AI-render is op dit moment niet beschikbaar.",["Le rendu IA n'est pas disponible pour le moment.","Das KI-Rendering ist derzeit nicht verfügbar.","The AI render is not available at the moment."]],["Hoeveel heb je nodig?",["De quelle quantité avez-vous besoin ?","Wie viel benötigen Sie?","How much do you need?"]],["· wandbeeld van",["· visuel mural de","· Wandmotiv von","· wall visual of"]],["Kleurweergave bij benadering — vraag een staal aan",["Rendu des couleurs approximatif — demandez un échantillon","Farbdarstellung annähernd — fordern Sie ein Muster an","Approximate colour rendering — request a sample"]],["Ingevoerd als aantal pakken",["Saisi en nombre de paquets","Als Anzahl Pakete eingegeben","Entered as number of packs"]],["% snijverlies",["% de chutes","% Verschnitt","% cutting waste"]],["Totaal incl. btw",["Total TVA comprise","Gesamt inkl. MwSt.","Total incl. VAT"]],["Minimale afname:",["Commande minimale :","Mindestabnahme:","Minimum order:"]],["Het wandbeeld wordt als één doorlopende print geleverd; kies de breedte die het dichtst bij je wand ligt.",["Le visuel mural est livré en une seule impression continue ; choisissez la largeur la plus proche de celle de votre mur.","Das Wandmotiv wird als ein durchgehender Druck geliefert; wählen Sie die Breite, die Ihrer Wand am nächsten kommt.","The wall visual is supplied as one continuous print; choose the width closest to your wall."]],["Vensterbanken worden per stuk geleverd, elk 290 cm lang.",["Les Windowsills sont livrés à la pièce, chacun de 290 cm de long.","Windowsills werden einzeln geliefert, jeweils 290 cm lang.","Windowsills are supplied per piece, each 290 cm long."]],["Geef aan hoeveel wandbeelden je nodig hebt.",["Indiquez le nombre de visuels muraux dont vous avez besoin.","Geben Sie an, wie viele Wandmotive Sie benötigen.","Enter how many wall visuals you need."]],["Vul het aantal pakken in, of het netto oppervlak: dan rekenen wij het om naar hele pakken.",["Indiquez le nombre de paquets ou la surface nette : nous la convertissons en paquets entiers.","Geben Sie die Anzahl Pakete oder die Nettofläche ein: Wir rechnen sie in ganze Pakete um.","Enter the number of packs, or the net area: we'll convert it to whole packs."]],["of totale lengte (cm)",["ou longueur totale (cm)","oder Gesamtlänge (cm)","or total length (cm)"]],["of oppervlak in m²",["ou surface en m²","oder Fläche in m²","or area in m²"]],["of lengte × breedte (m)",["ou longueur × largeur (m)","oder Länge × Breite (m)","or length × width (m)"]],["Snijverlies (bij invoer in m²)",["Chutes (si saisie en m²)","Verschnitt (bei Eingabe in m²)","Cutting waste (when entered in m²)"]],["Voor een visgraatpatroon adviseren wij 10% of meer; bij veel hoeken en nissen 15%.",["Pour un motif en point de Hongrie, nous conseillons 10 % ou plus ; 15 % en cas de nombreux angles et niches.","Für ein Fischgrätmuster empfehlen wir 10 % oder mehr; bei vielen Ecken und Nischen 15 %.","For a herringbone pattern we recommend 10% or more; 15% with many corners and recesses."]],["5% volstaat bij een rechthoekige ruimte. Kies 10% bij veel hoeken, nissen of diagonaal leggen.",["5 % suffisent pour une pièce rectangulaire. Choisissez 10 % en cas de nombreux angles, de niches ou de pose en diagonale.","5 % genügen bei einem rechteckigen Raum. Wählen Sie 10 % bei vielen Ecken, Nischen oder diagonaler Verlegung.","5% is enough for a rectangular room. Choose 10% for many corners, recesses or diagonal laying."]],["Zwevend op ondervloer",["Flottant sur sous-couche","Schwimmend auf Unterlage","Floating on underlay"]],["Weet ik nog niet",["Je ne sais pas encore","Weiß ich noch nicht","I don't know yet"]],["Hoe leg je de vloer?",["Comment posez-vous le sol ?","Wie verlegen Sie den Boden?","How will you lay the floor?"]],["Bepaalt welke ondervloer of lijm wij voorstellen.",["Détermine la sous-couche ou la colle que nous proposons.","Bestimmt, welche Unterlage oder welchen Kleber wir vorschlagen.","Determines which underlay or adhesive we suggest."]],["Verlijmen met kokers",["Collage avec cartouches","Verkleben mit Kartuschen","Glue with cartridges"]],["Volvlaks met lijmkam",["Sur toute la surface avec spatule crantée","Vollflächig mit Zahnspachtel","Full-surface with notched trowel"]],["Schroeven op regelwerk",["Vissage sur lattage","Verschrauben auf Lattung","Screw onto battens"]],["Hoe bevestig je?",["Comment fixez-vous ?","Wie befestigen Sie?","How will you fix it?"]],["Bepaalt hoeveel lijm wij voorstellen.",["Détermine la quantité de colle que nous proposons.","Bestimmt, wie viel Kleber wir vorschlagen.","Determines how much adhesive we suggest."]],["Wijziging opslaan →",["Enregistrer la modification →","Änderung speichern →","Save change →"]],["Toevoegen en verder →",["Ajouter et continuer →","Hinzufügen und weiter →","Add and continue →"]],["Afwerking en accessoires",["Finition et accessoires","Abschluss und Zubehör","Finishing and accessories"]],["Het volledige accessoire-assortiment. Alles is per stuk te bestellen.",["L'ensemble de la gamme d'accessoires. Tout peut être commandé à la pièce.","Das komplette Zubehörsortiment. Alles ist einzeln bestellbar.","The complete accessory range. Everything can be ordered per piece."]],["Wat je nodig hebt staat open; de rest kun je uitklappen. Alles is per stuk te bestellen.",["Ce dont vous avez besoin est déjà ouvert ; vous pouvez déplier le reste. Tout peut être commandé à la pièce.","Was Sie benötigen, ist geöffnet; den Rest können Sie aufklappen. Alles ist einzeln bestellbar.","What you need is open; you can expand the rest. Everything can be ordered per piece."]],["+ Product toevoegen",["+ Ajouter un produit","+ Produkt hinzufügen","+ Add product"]],["SPC is zwaar materiaal. Geef aan hoe en waar je het wilt ontvangen.",["Le SPC est un matériau lourd. Indiquez comment et où vous souhaitez le recevoir.","SPC ist ein schweres Material. Geben Sie an, wie und wo Sie es erhalten möchten.","SPC is a heavy material. Tell us how and where you want to receive it."]],["Levering via een dealer bij je in de buurt.",["Livraison via un revendeur près de chez vous.","Lieferung über einen Händler in Ihrer Nähe.","Delivery through a dealer near you."]],["HB Composite levert niet rechtstreeks aan particulieren. Je aanvraag gaat naar een dealer in je regio. De dealer neemt contact met je op over de levering.",["HB Composite ne livre pas directement aux particuliers. Votre demande est transmise à un revendeur de votre région. Le revendeur vous contacte au sujet de la livraison.","HB Composite liefert nicht direkt an Privatkunden. Ihre Anfrage geht an einen Händler in Ihrer Region. Der Händler setzt sich wegen der Lieferung mit Ihnen in Verbindung.","HB Composite does not deliver directly to consumers. Your request goes to a dealer in your region. The dealer will contact you about delivery."]],["Afhalen gebeurt op afspraak. De afhaallocatie en het tijdstip bevestigen wij in onze orderbevestiging.",["L'enlèvement se fait sur rendez-vous. Nous confirmons le lieu et l'heure d'enlèvement dans notre confirmation de commande.","Die Abholung erfolgt nach Vereinbarung. Abholort und Uhrzeit bestätigen wir in unserer Auftragsbestätigung.","Collection is by appointment. We confirm the collection address and time in our order confirmation."]],["— de gevelpanelen zijn 6 meter lang.",["— les panneaux de façade mesurent 6 mètres de long.","— die Fassadenpaneele sind 6 Meter lang.","— the cladding panels are 6 metres long."]],["Een gevelorder kan niet samen met SPC-producten worden bezorgd.",["Une commande de façade ne peut pas être livrée avec des produits SPC.","Ein Fassadenauftrag kann nicht zusammen mit SPC-Produkten geliefert werden.","A cladding order cannot be delivered together with SPC products."]],["Het losadres is gelijk aan ons bedrijfsadres (vul je in bij de volgende stap).",["L'adresse de déchargement est identique à notre adresse d'entreprise (à remplir à l'étape suivante).","Die Abladeadresse entspricht unserer Firmenadresse (im nächsten Schritt auszufüllen).","The unloading address is the same as our company address (fill it in at the next step)."]],["Straat en huisnummer *",["Rue et numéro *","Straße und Hausnummer *","Street and number *"]],["Contactpersoon op het losadres",["Personne de contact à l'adresse de déchargement","Ansprechpartner an der Abladeadresse","Contact person at the unloading address"]],["Is er een heftruck aanwezig om te lossen?",["Un chariot élévateur est-il disponible pour décharger ?","Ist ein Gabelstapler zum Abladen vorhanden?","Is a forklift available for unloading?"]],["Vul het losadres in, of vink aan dat het gelijk is aan je bedrijfsadres.",["Indiquez l'adresse de déchargement ou cochez qu'elle est identique à votre adresse d'entreprise.","Geben Sie die Abladeadresse ein oder kreuzen Sie an, dass sie Ihrer Firmenadresse entspricht.","Enter the unloading address, or tick that it is the same as your company address."]],["Naar het overzicht →",["Vers le récapitulatif →","Zur Übersicht →","To the summary →"]],["Adviesprijs incl. btw",["Prix conseillé TVA comprise","Preisempfehlung inkl. MwSt.","Recommended price incl. VAT"]],["aantal wijzigen",["modifier la quantité","Anzahl ändern","change quantity"]],["Btw-nummer (optioneel)",["Numéro de TVA (facultatif)","USt-IdNr. (optional)","VAT number (optional)"]],["Straat en huisnummer",["Rue et numéro","Straße und Hausnummer","Street and number"]],["Controleer de samenstelling en vul je gegevens in. Dit is een vrijblijvende aanvraag; er wordt geen bestelling geplaatst.",["Vérifiez la composition et complétez vos coordonnées. Il s'agit d'une demande sans engagement ; aucune commande n'est passée.","Prüfen Sie die Zusammenstellung und geben Sie Ihre Daten ein. Dies ist eine unverbindliche Anfrage; es wird keine Bestellung aufgegeben.","Check the selection and fill in your details. This is a no-obligation request; no order is placed."]],["Controleer de samenstelling en vul je gegevens in. Na het plaatsen sturen wij je zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen.",["Vérifiez la composition et complétez vos coordonnées. Après validation, nous vous envoyons dans les meilleurs délais une confirmation avec les prix d'achat.","Prüfen Sie die Zusammenstellung und geben Sie Ihre Daten ein. Nach dem Absenden senden wir Ihnen schnellstmöglich eine Auftragsbestätigung mit den Einkaufspreisen.","Check the selection and fill in your details. Once placed, we'll send you a confirmation with purchase prices as soon as possible."]],["Je selectie is nog leeg. Voeg eerst een product of accessoire toe.",["Votre sélection est encore vide. Ajoutez d'abord un produit ou un accessoire.","Ihre Auswahl ist noch leer. Fügen Sie zuerst ein Produkt oder Zubehör hinzu.","Your selection is still empty. Add a product or accessory first."]],["Je referentie:",["Votre référence :","Ihre Referenz:","Your reference:"]],["Debiteurennummer:",["Numéro client :","Kundennummer:","Customer number:"]],["referentie wijzigen",["modifier la référence","Referenz ändern","change reference"]],["Opmerking of vraag",["Remarque ou question","Anmerkung oder Frage","Comment or question"]],["bijv. gewenste leverweek, afleverinstructie, staalaanvraag",["p. ex. semaine de livraison souhaitée, instructions de livraison, demande d'échantillon","z. B. gewünschte Lieferwoche, Lieferhinweise, Musteranfrage","e.g. preferred delivery week, delivery instructions, sample request"]],["De getoonde prijzen zijn adviesverkoopprijzen voor consumenten (incl. btw); je inkoopprijzen volgens de geldende prijsafspraken staan op onze tegenbevestiging.",["Les prix affichés sont des prix de vente conseillés pour les consommateurs (TVA comprise) ; vos prix d'achat selon les accords tarifaires en vigueur figurent sur notre confirmation de commande.","Die angezeigten Preise sind unverbindliche Verkaufspreise für Verbraucher (inkl. MwSt.); Ihre Einkaufspreise gemäß den geltenden Preisvereinbarungen stehen auf unserer Auftragsbestätigung.","The prices shown are recommended retail prices for consumers (incl. VAT); your purchase prices according to the applicable price agreements are shown on our order confirmation."]],["Ik ga akkoord met de",["J'accepte les","Ich stimme den","I agree to the"]],["en plaats een bestelling.",["et je passe commande.","zu und gebe eine Bestellung auf.","and place an order."]],["Mijn gegevens en losadres onthouden op dit apparaat voor een volgende bestelling.",["Mémoriser mes coordonnées et l’adresse de déchargement sur cet appareil pour une prochaine commande.","Meine Daten und Abladeadresse auf diesem Gerät für eine nächste Bestellung speichern.","Remember my details and unloading address on this device for a next order."]],["Je gegevens zijn ingevuld vanuit een eerdere bestelling op dit apparaat.",["Vos coordonnées ont été reprises d'une commande précédente sur cet appareil.","Ihre Daten wurden aus einer früheren Bestellung auf diesem Gerät übernommen.","Your details were filled in from a previous order on this device."]],["Opgeslagen gegevens wissen",["Effacer les données enregistrées","Gespeicherte Daten löschen","Clear saved details"]],["Je selectie is nog leeg.",["Votre sélection est encore vide.","Ihre Auswahl ist noch leer.","Your selection is still empty."]],["Vul bedrijf, naam en e-mailadres in.",["Indiquez l'entreprise, le nom et l'adresse e-mail.","Geben Sie Firma, Name und E-Mail-Adresse ein.","Enter company, name and email address."]],["Vul het bedrijfsadres in.",["Indiquez l'adresse de l'entreprise.","Geben Sie die Firmenadresse ein.","Enter the company address."]],["Vink aan dat je akkoord gaat met de voorwaarden.",["Cochez que vous acceptez les conditions.","Kreuzen Sie an, dass Sie den Bedingungen zustimmen.","Tick to confirm you agree to the terms."]],["n.v.t. (afhalen)",["n/a (enlèvement)","entfällt (Abholung)","n/a (collection)"]],["gelijk aan bedrijfsadres",["identique à l'adresse de l'entreprise","wie Firmenadresse","same as company address"]],["Bezig met versturen…",["Envoi en cours…","Wird gesendet…","Sending…"]],["Het formulier kon niet worden verstuurd. Controleer de gemarkeerde velden hieronder.",["Le formulaire n'a pas pu être envoyé. Vérifiez les champs signalés ci-dessous.","Das Formular konnte nicht gesendet werden. Prüfen Sie die markierten Felder unten.","The form could not be sent. Please check the highlighted fields below."]],["Je bestelling wordt verstuurd, dit duurt iets langer dan normaal.",["Votre commande est en cours d'envoi, cela prend un peu plus de temps que d'habitude.","Ihre Bestellung wird gesendet, das dauert etwas länger als üblich.","Your order is being sent; this is taking a little longer than usual."]],["Sluit deze pagina niet.",["Ne fermez pas cette page.","Schließen Sie diese Seite nicht.","Don't close this page."]],["Het versturen is niet bevestigd. Controleer je internetverbinding en probeer het opnieuw,",["L'envoi n'a pas été confirmé. Vérifiez votre connexion internet et réessayez,","Der Versand wurde nicht bestätigt. Prüfen Sie Ihre Internetverbindung und versuchen Sie es erneut,","Sending was not confirmed. Check your internet connection and try again,"]],["of mail je bestelling naar",["ou envoyez votre commande par e-mail à","oder senden Sie Ihre Bestellung per E-Mail an","or email your order to"]],["Je btw-nummer",["Votre numéro de TVA","Ihre USt-IdNr.","Your VAT number"]],["Hartelijk dank voor je interesse in Aqua Composite. Hieronder vind je een overzicht van je aanvraag. Dit is een vrijblijvende aanvraag; er is geen bestelling geplaatst.",["Merci pour votre intérêt pour Aqua Composite. Vous trouverez ci-dessous un récapitulatif de votre demande. Il s'agit d'une demande sans engagement ; aucune commande n'a été passée.","Vielen Dank für Ihr Interesse an Aqua Composite. Nachfolgend finden Sie eine Übersicht Ihrer Anfrage. Dies ist eine unverbindliche Anfrage; es wurde keine Bestellung aufgegeben.","Thank you for your interest in Aqua Composite. Below is an overview of your request. This is a no-obligation request; no order has been placed."]],["Wij nemen zo spoedig mogelijk contact met je op om je aanvraag te bespreken.",["Nous vous contacterons dans les meilleurs délais pour discuter de votre demande.","Wir melden uns schnellstmöglich bei Ihnen, um Ihre Anfrage zu besprechen.","We'll contact you as soon as possible to discuss your request."]],["Je hebt aangegeven niet benaderd te willen worden. Heb je toch vragen, dan horen wij graag van je.",["Vous avez indiqué ne pas souhaiter être contacté. Si vous avez tout de même des questions, n'hésitez pas à nous écrire.","Sie haben angegeben, nicht kontaktiert werden zu wollen. Haben Sie dennoch Fragen, hören wir gerne von Ihnen.","You indicated you don't want to be contacted. If you do have questions, we'd be happy to hear from you."]],["Hartelijk dank voor je bestelling. Hieronder vind je een overzicht van de door jou bestelde artikelen.",["Merci pour votre commande. Vous trouverez ci-dessous un récapitulatif des articles commandés.","Vielen Dank für Ihre Bestellung. Nachfolgend finden Sie eine Übersicht der von Ihnen bestellten Artikel.","Thank you for your order. Below is an overview of the items you ordered."]],["Wij sturen je zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen en de verwachte leverdatum.",["Nous vous enverrons dans les meilleurs délais une confirmation avec les prix d'achat et la date de livraison prévue.","Wir senden Ihnen schnellstmöglich eine Auftragsbestätigung mit den Einkaufspreisen und dem voraussichtlichen Liefertermin.","We'll send you a confirmation with purchase prices and the expected delivery date as soon as possible."]],["· adviesprijs",["· prix conseillé","· Preisempfehlung","· recommended price"]],["Bevestiging van je aanvraag",["Confirmation de votre demande","Bestätigung Ihrer Anfrage","Confirmation of your request"]],["Geachte heer, mevrouw",["Madame, Monsieur,","Sehr geehrte Damen und Herren,","Dear Sir or Madam,"]],["Bestelbevestiging-",["Confirmation-de-commande-","Bestellbestaetigung-","Order-confirmation-"]],["Met vriendelijke groet,",["Cordialement,","Mit freundlichen Grüßen","Kind regards,"]],["PDF wordt gemaakt…",["Création du PDF…","PDF wird erstellt…","Creating PDF…"]],["is verstuurd. Hieronder zie je de bevestiging; je kunt die als PDF downloaden of afdrukken.",["a été envoyée. Vous trouverez ci-dessous la confirmation ; vous pouvez la télécharger en PDF ou l'imprimer.","wurde gesendet. Unten sehen Sie die Bestätigung; Sie können sie als PDF herunterladen oder drucken.","has been sent. You can see the confirmation below; you can download it as a PDF or print it."]],["is verstuurd. Je ontvangt ook een bevestiging per e-mail. Hieronder zie je de bestelbevestiging; je kunt die als PDF downloaden of afdrukken.",["a été envoyée. Vous recevrez également une confirmation par e-mail. Vous trouverez ci-dessous la confirmation de commande ; vous pouvez la télécharger en PDF ou l'imprimer.","wurde gesendet. Sie erhalten auch eine Bestätigung per E-Mail. Unten sehen Sie die Auftragsbestätigung; Sie können sie als PDF herunterladen oder drucken.","has been sent. You'll also receive a confirmation by email. You can see the order confirmation below; you can download it as a PDF or print it."]],["Hartelijk dank voor je interesse in Aqua Composite. Hieronder vind je een overzicht van je aanvraag.",["Merci pour votre intérêt pour Aqua Composite. Vous trouverez ci-dessous un récapitulatif de votre demande.","Vielen Dank für Ihr Interesse an Aqua Composite. Nachfolgend finden Sie eine Übersicht Ihrer Anfrage.","Thank you for your interest in Aqua Composite. Below is an overview of your request."]],["Dit is een vrijblijvende aanvraag; er is geen bestelling geplaatst.",["Il s'agit d'une demande sans engagement ; aucune commande n'a été passée.","Dies ist eine unverbindliche Anfrage; es wurde keine Bestellung aufgegeben.","This is a no-obligation request; no order has been placed."]],["Wij sturen je",["Nous vous enverrons","Wir senden Ihnen","We'll send you"]],["zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen",["dans les meilleurs délais une confirmation avec les prix d'achat","schnellstmöglich eine Auftragsbestätigung mit den Einkaufspreisen","a confirmation with purchase prices as soon as possible"]],["en de verwachte leverdatum.",["et la date de livraison prévue.","und dem voraussichtlichen Liefertermin.","and the expected delivery date."]],["PDF downloaden",["Télécharger le PDF","PDF herunterladen","Download PDF"]],["[...] Volledige specificatie op aanvraag.",["[...] Spécification complète sur demande.","[...] Vollständige Spezifikation auf Anfrage.","[...] Full specification on request."]],["Je e-mailprogramma wordt geopend.",["Votre programme de messagerie va s’ouvrir.","Ihr E-Mail-Programm wird geöffnet.","Your email program will open."]],["Gebeurt dat niet?",["Rien ne se passe ?","Passiert das nicht?","Didn't happen?"]],["Kopieer dan de onderstaande tekst en mail die naar",["Copiez alors le texte ci-dessous et envoyez-le par e-mail à","Kopieren Sie dann den folgenden Text und senden Sie ihn per E-Mail an","Then copy the text below and email it to"]],["nog niets gekozen",["rien de choisi pour le moment","noch nichts ausgewählt","nothing chosen yet"]],["adviestotaal incl. btw · levering:",["total conseillé TVA comprise · livraison :","Empfehlungssumme inkl. MwSt. · Lieferung:","recommended total incl. VAT · delivery:"]],["Doorloop de stappen links. Zodra je een product toevoegt,",["Suivez les étapes à gauche. Dès que vous ajoutez un produit,","Gehen Sie die Schritte links durch. Sobald Sie ein Produkt hinzufügen,","Work through the steps on the left. As soon as you add a product,"]],["zie je hier het aantal pakken meelopen.",["vous voyez ici le nombre de paquets évoluer.","sehen Sie hier die Anzahl der Pakete mitlaufen.","you'll see the number of packs update here."]],["2 delig hoekprofiel folie",["Profilé d'angle 2 parties film","2-teiliges Eckprofil Folie","2-part corner profile foil"]],["2 delig verbindingsprofiel folie",["Profilé de jonction 2 parties film","2-teiliges Verbindungsprofil Folie","2-part connecting profile foil"]],["2 delig startprofiel folie",["Profilé de départ 2 parties film","2-teiliges Startprofil Folie","2-part starter profile foil"]],["Startprofiel Gevelpaneel",["Profilé de départ panneau de façade","Startprofil Fassadenpaneel","Starter profile cladding panel"]],["gevelbekleding en de Aqua Composite SPC-producten kunnen niet in één levering worden gecombineerd. Rond deze bestelling af en plaats voor het andere een aparte bestelling.",["(bardage) et les produits SPC Aqua Composite ne peuvent pas être combinés dans une même livraison. Finalisez cette commande et passez une commande séparée pour le reste.","(Fassadenverkleidung) und die Aqua Composite SPC-Produkte können nicht in einer Lieferung kombiniert werden. Schließen Sie diese Bestellung ab und geben Sie für das andere eine separate Bestellung auf.","cladding and Aqua Composite SPC products cannot be combined in one delivery. Complete this order and place a separate order for the rest."]]],"w":[["Kantenband",["Bande de chant","Kantenband","Edge tape"]],["Tweedelige binnenhoek",["Angle intérieur en deux parties","Zweiteiliges Innenecke-Profil","Two-part inside corner"]],["Binnenhoek",["Angle intérieur","Innenecke","Inside corner"]],["Buitenhoek",["Angle extérieur","Außenecke","Outside corner"]],["U-Profiel",["Profilé en U","U-Profil","U-profile"]],["Eindprofiel",["Profilé de finition","Abschlussprofil","End profile"]],["Wit",["blanc","weiß","white"]],["Zwart",["noir","schwarz","black"]],["Grijs",["gris","grau","grey"]],["2 delig U profiel folie",["Profilé en U 2 parties film","2-teiliges U-Profil Folie","2-part U-profile foil"]],["Antraciet",["anthracite","anthrazit","anthracite"]],["Crème",["crème","creme","cream"]],["Lariks",["mélèze","Lärche","larch"]],["U profiel",["Profilé en U","U-Profil","U-profile"]],["folie",["film","Folie","foil"]],["Z profiel",["Profilé en Z","Z-Profil","Z-profile"]],["Ventilatiehoek",["Angle de ventilation","Lüftungswinkel","Ventilation angle"]],["Ventilatieprofiel",["Profilé de ventilation","Lüftungsprofil","Ventilation profile"]],["Hoekstuk boeideel",["Pièce d'angle bandeau de rive","Eckstück Stirnbrett","Fascia corner piece"]],["Verbinding boeideel",["Jonction bandeau de rive","Verbinder Stirnbrett","Fascia connector"]],["Boeideel",["Bandeau de rive","Stirnbrett","Fascia board"]],["panelen",["panneaux","Paneele","panels"]],["pakken",["paquets","Pakete","packs"]],["bijv.",["p. ex.","z. B.","e.g."]],["Je aanvraag",["Votre demande","Ihre Anfrage","Your request"]],["Je bestelling",["Votre commande","Ihre Bestellung","Your order"]],["Adviesprijs per pak incl. btw",["Prix conseillé par paquet TVA comprise","Preisempfehlung pro Paket inkl. MwSt.","Recommended price per pack incl. VAT"]],["Adviesprijs per stuk incl. btw",["Prix conseillé par pièce TVA comprise","Preisempfehlung pro Stück inkl. MwSt.","Recommended price per piece incl. VAT"]],["Adviesprijs per",["Prix conseillé par","Preisempfehlung pro","Recommended price per"]],["incl. btw",["TVA comprise","inkl. MwSt.","incl. VAT"]],["excl. btw",["HTVA","zzgl. MwSt.","excl. VAT"]],["pak van",["paquet de","Paket mit","pack of"]],["per pak",["par paquet","pro Paket","per pack"]],["per m²",["par m²","pro m²","per m²"]],["per stuk",["par pièce","pro Stück","per piece"]],["Inclusief",["Y compris","Inklusive","Including"]],["Geleverd",["Livré","Geliefert","Supplied"]],["lengte",["longueur","Länge","length"]],["breedte",["largeur","Breite","width"]],["Start",["Début","Start","Start"]],["stuks",["pièces","Stück","pieces"]],["stuk",["pièce","Stück","piece"]],["pakken",["paquets","Pakete","packs"]],["pak",["paquet","Paket","pack"]],["artikelen",["articles","Artikel","items"]],["artikel",["article","Artikel","item"]],["advies",["conseil","Empfehlung","advice"]],["gekozen",["choisi(s)","ausgewählt","selected"]],["Vrijblijvende aanvraag",["Demande sans engagement","Unverbindliche Anfrage","No-obligation request"]],["regels",["lignes","Zeilen","lines"]],["regel",["ligne","Zeile","line"]],["Bestelling",["Commande","Bestellung","Order"]],["netto",["net","netto","net"]],["geleverd",["livrés","geliefert","supplied"]],["wijzigen",["modifier","ändern","change"]],["Levering",["Livraison","Lieferung","Delivery"]],["Bedrijf",["Entreprise","Firma","Company"]],["Naam",["Nom","Name","Name"]],["E-mailadres",["Adresse e-mail","E-Mail-Adresse","Email address"]],["Telefoon",["Téléphone","Telefon","Phone"]]],"r":[["Klaar\\. Je kunt vandaag nog (\\d+) renders? maken\\.",["Terminé. Vous pouvez encore réaliser $1 rendu(s) aujourd'hui.","Fertig. Sie können heute noch $1 Rendering(s) erstellen.","Done. You can create $1 more render(s) today."]],["Minimale afname: ([\\d,.]+) pakken\\.",["Commande minimale : $1 paquets.","Mindestabnahme: $1 Pakete.","Minimum order: $1 packs."]]]}; /* HB i18n: vertaalt de interface naar FR/DE/EN op basis van de paginataal */ (function(){ var D=window.HB_BF_DICT; if(!D) return; function taal(){var l='';try{l=document.documentElement.lang||'';if((!l||/^nl/i.test(l))&&window.parent&&window.parent!==window){l=window.parent.document.documentElement.lang||l;}}catch(e){}return (l||'nl').slice(0,2).toLowerCase();} var L=taal(), I={fr:0,de:1,en:2}[L]; if(I==null) return; window.HB_LANG=L; var E={}, S=[], W=[], R=[]; D.e.forEach(function(x){E[x[0]]=x[1][I];}); D.s.forEach(function(x){S.push([x[0],x[1][I]]);}); S.sort(function(a,b){return b[0].length-a[0].length;}); D.w.forEach(function(x){W.push([new RegExp('(^|[^A-Za-zÀ-ÿ])'+x[0].replace(/[.*+?^${}()|[\]\\]/g,'\\$&')+'(?=$|[^A-Za-zÀ-ÿ])','g'),x[1][I],x[0].length]);}); W.sort(function(a,b){return b[2]-a[2];}); D.r.forEach(function(x){R.push([new RegExp(x[0],'g'),x[1][I]]);}); function tr(t){ if(!t||!/[A-Za-zÀ-ÿ]/.test(t)) return t; var c=t.trim(); if(E.hasOwnProperty(c)) return t.replace(c,E[c]); var o=t; R.forEach(function(r){o=o.replace(r[0],r[1]);}); S.forEach(function(s){if(o.indexOf(s[0])>-1) o=o.split(s[0]).join(s[1]);}); W.forEach(function(w){o=o.replace(w[0],function(m,p){return p+w[1];});}); return o; } window.HB_T=tr; var done=new WeakMap(); var ATTR=['placeholder','title','aria-label','alt']; function doNode(n){ if(n.nodeType===3){var v=n.nodeValue; if(done.get(n)===v) return; var t=tr(v); if(t!==v) n.nodeValue=t; done.set(n,n.nodeValue); return;} if(n.nodeType!==1||n.tagName==='SCRIPT'||n.tagName==='STYLE') return; ATTR.forEach(function(a){var v=n.getAttribute(a); if(v){var t=tr(v); if(t!==v) n.setAttribute(a,t);}}); if(n.tagName==='TEXTAREA') return; if(n.tagName==='INPUT'&&/^(button|submit)$/i.test(n.type)&&n.value){var t2=tr(n.value); if(t2!==n.value) n.value=t2;} for(var c=n.firstChild;c;c=c.nextSibling) doNode(c); } var A=window.alert, C=window.confirm; window.alert=function(m){return A.call(window,tr(String(m)));}; window.confirm=function(m){return C.call(window,tr(String(m)));}; function pdfHook(){var J=window.jspdf&&window.jspdf.jsPDF; if(!J||J.__hb) return; J.__hb=1; var A=J.API; var T0=A.text; A.text=function(t){var a=[].slice.call(arguments); if(typeof t==='string') a[0]=tr(t); else if(Array.isArray(t)) a[0]=t.map(function(x){return typeof x==='string'?tr(x):x;}); return T0.apply(this,a);}; var AT=A.autoTable; if(AT){A.autoTable=function(o){function m(r){return (r||[]).map(function(row){return (row||[]).map(function(c){if(typeof c==='string') return tr(c); if(c&&typeof c.content==='string'){c.content=tr(c.content);} return c;});});} if(o){if(o.head) o.head=m(o.head); if(o.body) o.body=m(o.body); if(o.foot) o.foot=m(o.foot);} return AT.apply(this,arguments);};} } setInterval(pdfHook,1000); function start(){ var root=document.querySelector('#aqua-configurator')||document.body; root.setAttribute('data-no-translation',''); doNode(root); new MutationObserver(function(ms){ms.forEach(function(m){ if(m.type==='characterData') doNode(m.target); else if(m.type==='attributes') doNode(m.target); else m.addedNodes.forEach(doNode); });}).observe(root,{childList:true,subtree:true,characterData:true,attributes:true,attributeFilter:ATTR}); } if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',start); else start(); })(); // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // ========================================================================== // Aqua Composite bestelformulier (v3o: adviesprijzen voor nieuwe klanten) - HB Composite BV // Plaats op de pagina een leeg blok met id aqua-configurator en laad dit // bestand met een script-verwijzing (defer). Zet het WPForms-blok op // dezelfde pagina: het bestelformulier vult en verstuurt dat formulier. // ========================================================================== (function(){ var root=document.getElementById('aqua-configurator'); if(!root){return;} var st=document.createElement('style');st.textContent="#aqua-configurator{\n --inkt:#23282b; --zacht:#5d676c; --lijn:#ddd8d0; --lijn2:#eae6df;\n --papier:#f3f1ec; --wit:#ffffff; --veld:#faf9f6;\n --merk:#489ba9; --merk-d:#2e6b76; --merk-dd:#1f5965; --merk-l:#eaf4f6;\n --ok:#2f7d4f; --let:#a8632a;\n --r:10px; --sch:0 1px 2px rgba(35,40,43,.06), 0 6px 18px rgba(35,40,43,.05);\n}\n#aqua-configurator *{box-sizing:border-box}\n#aqua-configurator{-webkit-text-size-adjust:100%}\n#aqua-configurator{\n margin:0; background:var(--papier); color:var(--inkt);\n font:16px/1.55 ui-sans-serif,-apple-system,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;\n font-variant-numeric:tabular-nums;\n}\n#aqua-configurator h1,#aqua-configurator h2,#aqua-configurator h3{margin:0; font-weight:600; letter-spacing:-.01em}\n#aqua-configurator h1,#aqua-configurator .paneel>h2{font-family:\"Iowan Old Style\",\"Palatino Linotype\",Palatino,Georgia,\"Times New Roman\",serif; font-weight:600}\n#aqua-configurator button{font:inherit; color:inherit}\n#aqua-configurator input,#aqua-configurator select{font:inherit; color:inherit}\n#aqua-configurator .wrap{max-width:1180px; margin:0 auto; padding:0 20px}\n#aqua-configurator .topbar{background:var(--wit); border-bottom:1px solid var(--lijn)}\n#aqua-configurator .topbar .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:62px; flex-wrap:wrap}\n#aqua-configurator .merk{display:flex; align-items:baseline; gap:10px; font-size:18px}\n#aqua-configurator .merk b{font-weight:700; letter-spacing:.06em}\n#aqua-configurator .merk span{color:var(--merk-d); font-style:italic}\n#aqua-configurator .topbar small{color:var(--zacht); font-size:13px}\n#aqua-configurator .kop{padding:30px 0 22px}\n#aqua-configurator .kop h1{font-size:clamp(25px,4vw,34px)}\n#aqua-configurator .kop p{margin:8px 0 0; color:var(--zacht); max-width:62ch}\n#aqua-configurator .grid{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:26px; align-items:start; padding-bottom:50px}\n@media(max-width:900px){#aqua-configurator .grid{grid-template-columns:1fr}\n }\n#aqua-configurator .stappen{display:flex; gap:4px; flex-wrap:wrap; margin-bottom:18px}\n#aqua-configurator .stappen button{\n background:none; border:0; padding:7px 11px; border-radius:99px; cursor:pointer;\n font-size:13px; color:var(--zacht); display:flex; align-items:center; gap:7px;\n}\n#aqua-configurator .stappen button .n{\n width:21px; height:21px; border-radius:50%; display:grid; place-items:center;\n background:var(--lijn2); color:var(--zacht); font-size:11.5px; font-weight:700;\n}\n#aqua-configurator .stappen button.klaar .n{background:var(--merk-d); color:#fff}\n#aqua-configurator .stappen button.nu{background:var(--merk-l); color:var(--merk-dd); font-weight:600}\n#aqua-configurator .stappen button.nu .n{background:var(--merk-dd); color:#fff}\n#aqua-configurator .stappen button:disabled{opacity:.45; cursor:not-allowed}\n#aqua-configurator .paneel{background:var(--wit); border:1px solid var(--lijn); border-radius:var(--r); box-shadow:var(--sch); padding:24px}\n@media(max-width:560px){#aqua-configurator .paneel{padding:17px}\n }\n#aqua-configurator .paneel > h2{font-size:20px}\n#aqua-configurator .paneel > .sub{margin:6px 0 20px; color:var(--zacht); font-size:14.5px}\n#aqua-configurator .kaarten{display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}\n#aqua-configurator .kaart{\n text-align:left; background:var(--veld); border:1.5px solid var(--lijn); border-radius:var(--r);\n padding:14px; cursor:pointer; display:flex; flex-direction:column; gap:6px; transition:.13s;\n}\n#aqua-configurator .kaart:hover{border-color:var(--merk); background:#fff}\n#aqua-configurator .kaart[aria-pressed=\"true\"]{border-color:var(--merk-dd); background:#fff; box-shadow:0 0 0 3px var(--merk-l)}\n#aqua-configurator .kaart .t{font-weight:600}\n#aqua-configurator .kaart .d{font-size:13px; color:var(--zacht); line-height:1.45}\n#aqua-configurator .kaart .p{font-size:13px; color:var(--merk-dd); font-weight:600; margin-top:2px}\n#aqua-configurator .kaart .ic{\n height:52px; border-radius:7px; background:var(--merk-l); margin-bottom:4px;\n display:grid; place-items:center; color:var(--merk-dd);\n}\n#aqua-configurator .kaart .ic svg{width:27px; height:27px}\n#aqua-configurator .decors{display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(152px,1fr))}\n@media(max-width:560px){#aqua-configurator .decors{gap:9px; grid-template-columns:repeat(2,minmax(0,1fr))}\n#aqua-configurator .kaarten{grid-template-columns:1fr}\n#aqua-configurator .staal{height:78px}\n\n}\n#aqua-configurator .decor{\n background:var(--veld); border:1.5px solid var(--lijn); border-radius:var(--r);\n padding:0 0 11px; cursor:pointer; overflow:hidden; text-align:left; transition:.13s;\n}\n#aqua-configurator .decor:hover{border-color:var(--merk)}\n#aqua-configurator .decor[aria-pressed=\"true\"]{border-color:var(--merk-dd); box-shadow:0 0 0 3px var(--merk-l); background:#fff}\n#aqua-configurator .staal{display:block; height:96px; position:relative; overflow:hidden}\n#aqua-configurator .staal::after{content:\"\"; position:absolute; inset:0; box-shadow:inset 0 -14px 22px -14px rgba(0,0,0,.28)}\n#aqua-configurator .decor .nm{display:block; font-weight:600; font-size:13.5px; padding:9px 11px 0; line-height:1.3}\n#aqua-configurator .decor .mt{display:block; font-size:11.5px; color:var(--zacht); padding:2px 11px 0}\n#aqua-configurator .decor .pr{display:block; font-size:12.5px; color:var(--merk-dd); font-weight:600; padding:4px 11px 0}\n#aqua-configurator .hero{margin:0 0 22px; border:1px solid var(--lijn); border-radius:var(--r); overflow:hidden;\n background:var(--veld); position:relative}\n#aqua-configurator .hero .beeld{display:block; aspect-ratio:16/9; overflow:hidden}\n@media(max-width:560px){#aqua-configurator .hero .beeld{aspect-ratio:4/3}\n }\n#aqua-configurator .hero figcaption{display:flex; align-items:center; gap:12px; padding:12px 14px; background:var(--wit);\n border-top:1px solid var(--lijn)}\n#aqua-configurator .hero .staalmini{width:42px; height:42px; flex:0 0 42px; border-radius:6px; overflow:hidden; border:1px solid var(--lijn); display:block}\n#aqua-configurator .hero .tekst{min-width:0}\n#aqua-configurator .hero .tekst b{font-size:16px}\n#aqua-configurator .hero small{color:var(--zacht); font-size:12.5px}\n#aqua-configurator .hero .wijzig{margin-left:auto; background:none; border:0; color:var(--merk-dd); cursor:pointer;\n font-size:13.5px; text-decoration:underline; text-underline-offset:3px; white-space:nowrap}\n#aqua-configurator .hero .geenfoto{position:absolute; top:10px; left:10px; background:rgba(255,255,255,.92); color:var(--zacht);\n font-size:11.5px; padding:4px 9px; border-radius:99px}\n#aqua-configurator .hero.bevestig{margin-bottom:14px}\n#aqua-configurator .staal>img,#aqua-configurator .duim>img,#aqua-configurator .duim2>img,#aqua-configurator .beeld>img,#aqua-configurator .staalmini>img{\n width:100%; height:100%; object-fit:cover; display:block; border:0}\n#aqua-configurator .rij{display:flex; gap:14px; flex-wrap:wrap; align-items:flex-end}\n#aqua-configurator .veld{display:flex; flex-direction:column; gap:5px; min-width:150px; flex:1}\n#aqua-configurator .veld label{font-size:13px; font-weight:600; color:var(--zacht)}\n#aqua-configurator .veld input,#aqua-configurator .veld select{\n padding:10px 11px; border:1.5px solid var(--lijn); border-radius:8px; background:var(--veld); width:100%;\n}\n#aqua-configurator .veld input:focus,#aqua-configurator .veld select:focus{outline:2px solid var(--merk); outline-offset:1px; background:#fff}\n#aqua-configurator .hint{font-size:12.5px; color:var(--zacht)}\n#aqua-configurator .chips{display:flex; gap:8px; flex-wrap:wrap}\n#aqua-configurator .chip{padding:8px 14px; border:1.5px solid var(--lijn); border-radius:99px; background:var(--veld); cursor:pointer; font-size:14px}\n#aqua-configurator .chip[aria-pressed=\"true\"]{border-color:var(--merk-dd); background:var(--merk-l); color:var(--merk-dd); font-weight:600}\n#aqua-configurator .uitkomst{background:var(--merk-l); border:1px solid #cfe4e8; border-radius:var(--r); padding:15px 17px; margin-top:18px}\n#aqua-configurator .uitkomst .groot{font-size:22px; font-weight:700; color:var(--merk-dd)}\n#aqua-configurator .uitkomst .reg{display:flex; justify-content:space-between; gap:12px; font-size:14px; padding:3px 0}\n#aqua-configurator .uitkomst .reg span:last-child{font-weight:600}\n#aqua-configurator .accgroep{border:1px solid var(--lijn); border-radius:var(--r); margin-bottom:12px; background:var(--wit)}\n#aqua-configurator .accgroep > summary{cursor:pointer; padding:13px 16px; font-weight:600; font-size:15px;\n display:flex; align-items:center; gap:12px; list-style:none}\n#aqua-configurator .accgroep > summary::-webkit-details-marker{display:none}\n#aqua-configurator .accgroep > summary::before{content:\"\je25b8\"; color:var(--merk-d); font-size:12px; transition:transform .15s}\n#aqua-configurator .accgroep[open] > summary::before{transform:rotate(90deg)}\n#aqua-configurator .accgroep > summary .telt{margin-left:auto; font-weight:400; font-size:12.5px; color:var(--zacht)}\n#aqua-configurator .accgroep .uitleg{margin:0 16px 12px 32px; font-size:13px; color:var(--zacht); line-height:1.5}\n#aqua-configurator .acc{border-top:1px solid var(--lijn2)}\n#aqua-configurator .acc > h3{font-size:14.5px; padding:11px 15px; background:var(--veld); border-bottom:1px solid var(--lijn); font-weight:600}\n#aqua-configurator .accrij{display:flex; align-items:center; gap:12px; padding:11px 15px; border-bottom:1px solid var(--lijn2); flex-wrap:wrap}\n#aqua-configurator .accrij:last-child{border-bottom:0}\n#aqua-configurator .accrij .nm{flex:1; min-width:180px; font-size:14px}\n#aqua-configurator .accrij .nm small{display:block; color:var(--zacht); font-size:12.5px}\n#aqua-configurator .accrij .pr{font-size:13.5px; color:var(--zacht); white-space:nowrap}\n#aqua-configurator .aantal{display:flex; align-items:center; border:1.5px solid var(--lijn); border-radius:8px; overflow:hidden; background:#fff}\n#aqua-configurator .aantal button{width:32px; height:34px; border:0; background:var(--veld); cursor:pointer; font-size:16px; line-height:1}\n#aqua-configurator .aantal button:hover{background:var(--merk-l)}\n#aqua-configurator .aantal input{width:54px; height:34px; border:0; text-align:center; background:#fff; padding:0}\n#aqua-configurator .aantal input::-webkit-outer-spin-button,#aqua-configurator .aantal input::-webkit-inner-spin-button{-webkit-appearance:none}\n#aqua-configurator .tip{font-size:12.5px; color:var(--merk-dd); background:var(--merk-l); border-radius:7px; padding:3px 9px; white-space:nowrap}\n#aqua-configurator .melding{border-left:3px solid var(--let); background:#fdf6ef; padding:11px 14px; border-radius:0 8px 8px 0; font-size:13.5px; margin-top:14px}\n#aqua-configurator .melding.goed{border-color:var(--ok); background:#f1f8f3}\n#aqua-configurator .melding b{font-weight:600}\n#aqua-configurator .ac-nav{display:flex; justify-content:space-between; gap:12px; margin-top:24px; padding-top:18px; border-top:1px solid var(--lijn2)}\n#aqua-configurator .knop{\n padding:11px 20px; border-radius:8px; border:1.5px solid var(--merk-dd); background:var(--merk-dd); color:#fff;\n font-weight:600; cursor:pointer; transition:.13s;\n}\n#aqua-configurator .knop:hover{background:var(--merk-d); border-color:var(--merk-d)}\n#aqua-configurator .knop[disabled]{opacity:.38; cursor:not-allowed}\n#aqua-configurator .knop.leeg{background:none; color:var(--merk-dd)}\n#aqua-configurator .knop.leeg:hover{background:var(--merk-l)}\n#aqua-configurator .knop.groot{width:100%; padding:14px; font-size:16px; margin-top:6px}\n#aqua-configurator .zij{position:sticky; top:18px; background:var(--wit); border:1px solid var(--lijn); border-radius:var(--r); box-shadow:var(--sch); overflow:hidden}\n#aqua-configurator .zij h3{padding:15px 18px 4px; font-size:15px}\n#aqua-configurator .zij .zsub{padding:0 18px 12px; font-size:12.5px; color:var(--zacht)}\n#aqua-configurator .zlijst{padding:0 18px}\n#aqua-configurator .zreg{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--lijn2); font-size:13.5px}\n#aqua-configurator .zreg .k{color:var(--zacht)}\n#aqua-configurator .zreg .v{font-weight:600; text-align:right; white-space:nowrap}\n#aqua-configurator .zreg .k{min-width:0}\n#aqua-configurator .zreg .v small{display:block; font-weight:400; color:var(--zacht); font-size:11.5px}\n#aqua-configurator .ztot{margin:14px 18px 0; padding:14px 0 18px; border-top:2px solid var(--inkt)}\n#aqua-configurator .ztot .bedrag{font-size:27px; font-weight:700; letter-spacing:-.02em}\n#aqua-configurator .ztot .onder{font-size:12.5px; color:var(--zacht); margin-top:3px}\n#aqua-configurator .zleeg{padding:0 18px 20px; color:var(--zacht); font-size:13.5px}\n#aqua-configurator table.ov{width:100%; border-collapse:collapse; font-size:14px; margin-top:6px}\n#aqua-configurator table.ov th{text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--zacht); padding:0 8px 7px 0; border-bottom:1px solid var(--lijn)}\n#aqua-configurator table.ov td{padding:9px 8px 9px 0; border-bottom:1px solid var(--lijn2); vertical-align:top}\n#aqua-configurator table.ov td.r,#aqua-configurator table.ov th.r{text-align:right; padding-right:0; white-space:nowrap}\n#aqua-configurator table.ov tr.sub td{border-bottom:0; padding-top:0; color:var(--zacht); font-size:12.5px}\n#aqua-configurator table.ov .art{display:flex; gap:11px; align-items:flex-start}\n#aqua-configurator table.ov .duim{width:38px; height:38px; flex:0 0 38px; border-radius:6px; overflow:hidden; border:1px solid var(--lijn); display:block}\n#aqua-configurator table.ov tfoot td{border:0; padding-top:10px; font-weight:600}\n#aqua-configurator table.ov tfoot tr.eind td{border-top:2px solid var(--inkt); font-size:17px; padding-top:11px}\n#aqua-configurator .betaal{border:1px solid var(--lijn); border-radius:var(--r); padding:18px; margin-top:20px; background:var(--veld)}\n#aqua-configurator .betaal h3{font-size:16px}\n#aqua-configurator .betaal .uit{margin:6px 0 16px; font-size:14px; color:var(--zacht); max-width:62ch}\n#aqua-configurator .betaalrij{display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap}\n#aqua-configurator .betaal .qr{background:#fff; padding:14px; border:1px solid var(--lijn); border-radius:8px; line-height:0}\n#aqua-configurator .betaal dl{display:grid; grid-template-columns:auto 1fr; gap:4px 16px; margin:0; align-content:start; min-width:240px}\n#aqua-configurator .betaal dt{color:var(--zacht); font-size:13px}\n#aqua-configurator .betaal dd{margin:0; font-size:14px; font-weight:600}\n#aqua-configurator .betaal dd.groot{font-size:22px; color:var(--merk-dd); line-height:1.15}\n#aqua-configurator .betaal dd.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13.5px; letter-spacing:.01em}\n#aqua-configurator .betaal .klein{margin:16px 0 0; font-size:12.5px; color:var(--zacht); max-width:70ch}\n#aqua-configurator .wijzigreg{background:none; border:0; padding:0; cursor:pointer; color:var(--merk-dd);\n font-size:12.5px; text-decoration:underline; text-underline-offset:3px}\n#aqua-configurator .wijzigreg:hover{color:var(--merk)}\n#aqua-configurator .wegknop{border:0; background:none; cursor:pointer; color:var(--let); padding:0 0 0 7px; font-size:15px}\n#aqua-configurator .navrechts{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}\n@media(max-width:560px){#aqua-configurator .ac-nav{flex-direction:column; align-items:stretch}\n#aqua-configurator .navrechts{flex-direction:column}\n#aqua-configurator .ac-nav .knop{width:100%}\n\n}\n#aqua-configurator .zreg .k .wijzigreg{margin-top:2px}\n#aqua-configurator .kortvak{margin-top:22px; padding-top:18px; border-top:1px solid var(--lijn2)}\n#aqua-configurator .kortgoed{display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:#f1f8f3;\n border:1px solid #c9e3d2; border-radius:8px; padding:11px 14px; font-size:14px}\n#aqua-configurator .kortgoed .wis{margin-left:auto; background:none; border:0; color:var(--let); cursor:pointer;\n font-size:13px; text-decoration:underline; text-underline-offset:3px}\n#aqua-configurator table.ov tr.kortingrij td{color:var(--ok)}\n#aqua-configurator .zreg.kort .v{color:var(--ok)}\n#aqua-configurator .akkoord{display:flex; gap:11px; align-items:flex-start; margin:20px 0 4px; font-size:14px; cursor:pointer}\n#aqua-configurator .akkoord input{margin-top:3px; width:17px; height:17px; flex:0 0 17px; accent-color:var(--merk-dd)}\n#aqua-configurator .akkoord a{color:var(--merk-dd)}\n#aqua-configurator .knoppen{display:flex; gap:12px; flex-wrap:wrap; margin-top:22px}\n#aqua-configurator .kopje{margin-top:26px; font-size:16px}\n#aqua-configurator .klantregel{margin:12px 0 0; font-size:13px; color:var(--zacht); line-height:1.6}\n#aqua-configurator .spechoud{margin-top:18px}\n#aqua-configurator .spechoud summary{cursor:pointer; font-size:13.5px; color:var(--merk-dd); padding:6px 0}\n@media print{#aqua-configurator .topbar{border-bottom:1px solid #999}\n#aqua-configurator .stappen,#aqua-configurator .ac-nav,#aqua-configurator .zij,#aqua-configurator .knoppen,#aqua-configurator .spechoud,#aqua-configurator .kop p,#aqua-configurator .hero .wijzig{display:none !important}\n#aqua-configurator{background:#fff}\n#aqua-configurator .grid{display:block}\n#aqua-configurator .paneel{border:0; box-shadow:none; padding:0}\n#aqua-configurator .betaal,#aqua-configurator .hero,#aqua-configurator table.ov{break-inside:avoid}\n#aqua-configurator .hero .beeld{aspect-ratio:21/9}\n#aqua-configurator a[href]:after{content:\"\"}\n\n}\n#aqua-configurator .kaart.uit{opacity:.5}\n#aqua-configurator .spec{width:100%; height:200px; margin-top:12px; border:1.5px solid var(--lijn); border-radius:8px;\n padding:11px; background:var(--veld); font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; resize:vertical}\n#aqua-configurator .ac-verborgen{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); opacity:0}\n#aqua-configurator .voet{border-top:1px solid var(--lijn); background:var(--wit); padding:18px 0 26px; font-size:12.5px; color:var(--zacht)}\n#aqua-configurator .voet .wrap{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap}\n#aqua-configurator .vw{display:none}\n#aqua-configurator .vw.aan{display:block}\n#aqua-configurator .srv{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}\n#aqua-configurator #paneel .knop,#aqua-configurator #zij .knop{background:var(--merk-dd)!important;color:#fff!important;border:1.5px solid var(--merk-dd)!important;\n text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;line-height:1.3!important;display:inline-block!important}\n#aqua-configurator #paneel .knop.leeg{background:#fff!important;color:var(--merk-dd)!important}\n#aqua-configurator #paneel .knop.leeg:hover{background:var(--merk-l)!important}\n#aqua-configurator #paneel .wijzigreg,#aqua-configurator #zij .wijzigreg{background:none!important;color:var(--merk-dd)!important;border:0!important;padding:0!important;box-shadow:none!important}\n#aqua-configurator #paneel .ac-nav,#aqua-configurator #stappen{display:flex!important;visibility:visible!important}\n\n\n#aqua-configurator{display:block;max-width:none}\n#aqua-configurator .wrap{max-width:1180px}\n.ac-verborgen{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;opacity:0!important;pointer-events:none!important}\n";document.head.appendChild(st); root.innerHTML="
\n

Stel je bestelling samen

\n

Kies toepassing, serie en decor en vul je oppervlakte of het aantal pakken in. Dealers plaatsen hier rechtstreeks hun bestelling en ontvangen zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen. Particulieren kunnen de tool vrijblijvend gebruiken; hun aanvraag gaat naar een dealer bij hen in de buurt. Alle getoonde prijzen zijn adviesverkoopprijzen voor consumenten, inclusief btw.

\n
\n
\n
\n
\n
\n
\n \n
"; const DATA = {"versie": "prijslijst 07-2026", "series": [{"id": "aqua-composite-flooring-plank", "naam": "Flooring Plank", "kort": "Plank", "toep": ["vloer"], "groep": "Vloeren", "intro": "Massieve waterdichte SPC-kern met Luxury Wood Embossed houtreliëf en micro V-groef. Slechts 4 mm dik, daarom bij uitstek geschikt voor renovatie.", "afm": "1220 x 228 x 4 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 4,0 mm", "Slijtlaag 0,3 mm (klasse 32)", "Oppervlak: Luxury Wood Embossed", "Plaatsing: zwevend of volvlaks verlijmd"], "items": [{"code": "ACF0600", "decor": "Timeless Oak", "m2": 2.23, "ean": "8721335200003", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Timeless-Oak-2-681x1024.webp", "url": "https://hbcomposite.com/timeless-oak/", "kl": "#b29e89", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACF0600-Aqua-Composite-Flooring-TimelessOak-1024x880.png", "afw": "LWE"}, {"code": "ACF0605", "decor": "Residential Oak", "m2": 2.23, "ean": "8721335200010", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Residential-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/residential-oak/", "kl": "#a1998c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACF0605-Aqua-Composite-Flooring-ResidentialOak-1024x880.png", "afw": "LWE"}, {"code": "ACF0606", "decor": "Eternal Oak", "m2": 2.23, "ean": "8721335200027", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Eternal-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/eternal-oak/", "kl": "#ac8d6c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Vloer-Plank-1024x683.png", "afw": "LWE"}, {"code": "ACF0607", "decor": "Traditional Oak", "m2": 2.23, "ean": "8721335200034", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Traditional-Oak-kl-1-714x1024.webp", "url": "https://hbcomposite.com/traditional-oak/", "kl": "#804f29", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACF0607-Aqua-Composite-Flooring-TraditionalOak-1024x880.png", "afw": "LWE"}, {"code": "ACF0608", "decor": "Bohemian Oak", "m2": 2.23, "ean": "8721335200041", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Bohemian-Oak-kl-1-714x1024.webp", "url": "https://hbcomposite.com/bohemian-oak/", "kl": "#a88961", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACF0608-Aqua-Composite-Floorig-BohemianOak-1024x880.png", "afw": "LWE"}, {"code": "ACF0609", "decor": "Heritage Oak", "m2": 2.23, "ean": "8721335200058", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Heritage-Oak-kl-1-714x1024.webp", "url": "https://hbcomposite.com/heritage-oak/", "kl": "#98826b", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACF0609-Aqua-Composite-Flooring-HeritageOak-1024x880.png", "afw": "LWE"}, {"code": "ACF0610", "decor": "Majestic Oak", "m2": 2.23, "ean": "8721335200065", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Majestic-Oak-kl-1-714x1024.webp", "url": "https://hbcomposite.com/majestic-oak/", "kl": "#928a81", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACF0610-Aqua-Composite-Flooring-MajesticOak-1024x880.png", "afw": "LWE"}, {"code": "ACF0611", "decor": "Savannah Oak", "m2": 2.23, "ean": "8721335200072", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Savannah-Oak-kl-1-714x1024.webp", "url": "https://hbcomposite.com/savannah-oak/", "kl": "#b7aaa1", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACF0611-Aqua-Composite-Flooring-SavanahOak-1024x880.png", "afw": "LWE"}], "m2pak": 2.23, "stuks": 8}, {"id": "aqua-composite-flooring-superior", "naam": "Flooring Plank Superior", "kort": "Plank Superior", "toep": ["vloer"], "groep": "Vloeren", "intro": "Zwaardere uitvoering met Embossed in Register: het houtreliëf loopt exact in lijn met het decor. Dikkere slijtlaag, geschikt voor intensief gebruik.", "afm": "1220 x 228 x 4,5 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 4,5 mm", "Slijtlaag 0,5 mm (klasse 33)", "Oppervlak: Embossed in Register", "Plaatsing: zwevend of volvlaks verlijmd"], "items": [{"code": "ACSF0601", "decor": "Oak Dream", "m2": 2.23, "ean": "8721335200355", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakDream-kl-1-751x1024.webp", "url": "https://hbcomposite.com/oak-dream/", "kl": "#a2886b", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACSF0601-Aqua-Composite-Flooring-Superior-OakDream-1-1024x765.jpg", "afw": "EIR painted bevel"}, {"code": "ACSF0602", "decor": "Oak Paradise", "m2": 2.23, "ean": "8721335200362", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakParadise-kl-1-751x1024.webp", "url": "https://hbcomposite.com/oak-paradise/", "kl": "#beae94", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACSF0602-Aqua-Composite-Flooring-Superior-OakParadise-1-1024x763.jpg", "afw": "EIR painted bevel"}, {"code": "ACSF0603", "decor": "Oak Wonder", "m2": 2.23, "ean": "8721335200379", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakWonder-kl-1-755x1024.webp", "url": "https://hbcomposite.com/oak-wonder/", "kl": "#c9b290", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACSF0603-Aqua-Composite-Flooring-Superior-OakWonder-1-1024x761.jpg", "afw": "EIR painted bevel"}, {"code": "ACSF0604", "decor": "Oak Glory", "m2": 2.23, "ean": "8721335200386", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakGlory-kl-1-753x1024.webp", "url": "https://hbcomposite.com/oak-glory/", "kl": "#a19071", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACSF0604-Aqua-Composite-Flooring-Superior-OakGlory-1-1024x760.jpg", "afw": "EIR painted bevel"}], "m2pak": 2.23, "stuks": 8}, {"id": "aqua-composite-flooring-herringbone-2-03-m2", "naam": "Flooring Herringbone", "kort": "Visgraat", "toep": ["vloer"], "groep": "Vloeren", "intro": "Klassiek visgraatmotief in SPC, met geverfde V-groef en Drop Lock-klik. Houd rekening met meer snijverlies dan bij een rechte plank.", "afm": "750 x 150 x 4,5 mm", "perstuk": false, "verlies": 10, "perset": false, "minpak": 1, "specs": ["Dikte 4,5 mm", "Slijtlaag 0,5 mm (klasse 33)", "Oppervlak: Luxury Wood Embossed", "Plaatsing: zwevend of volvlaks verlijmd"], "items": [{"code": "ACHF0600-A", "decor": "Timeless Oak", "m2": 2.03, "ean": "8721335201475", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Timeless-Oak-2-681x1024.webp", "url": "https://hbcomposite.com/timeless-oak/", "kl": "#b29e89", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0600-A-Aqua-Composite-Herringbone-TimelessOak-1024x832.png", "afw": "LWE painted bevel"}, {"code": "ACHF0605-A", "decor": "Residential Oak", "m2": 2.03, "ean": "8721335201482", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Residential-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/residential-oak/", "kl": "#a1998c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0605-A-Aqua-Composite-Herringbone-ResidentialOak-1024x832.png", "afw": "LWE painted bevel"}, {"code": "ACHF0606-A", "decor": "Eternal Oak", "m2": 2.03, "ean": "8721335201499", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Eternal-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/eternal-oak/", "kl": "#ac8d6c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0606-A-Aqua-Composite-Herringbone-EternalOak-1024x832.png", "afw": "LWE painted bevel"}, {"code": "ACHF0607-A", "decor": "Traditional Oak", "m2": 2.03, "ean": "8721335201505", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Traditional-Oak-kl-1-714x1024.webp", "url": "https://hbcomposite.com/traditional-oak/", "kl": "#804f29", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0607-A-Aqua-Composite-Herringbone-TraditionalOak-WallFloor-1024x694.png", "afw": "LWE painted bevel"}], "m2pak": 2.03, "stuks": 18}, {"id": "aqua-composite-flooring-herringbone-1-80-m2", "naam": "Flooring Herringbone Superior", "kort": "Visgraat Superior", "toep": ["vloer"], "groep": "Vloeren", "intro": "Visgraat met Embossed in Register: het reliëf volgt de houtnerf van het decor exact. De meest verfijnde uitvoering uit de vloercollectie.", "afm": "750 x 150 x 4,5 mm", "perstuk": false, "verlies": 10, "perset": false, "minpak": 1, "specs": ["Dikte 4,5 mm", "Slijtlaag 0,5 mm (klasse 33)", "Oppervlak: Embossed in Register", "Plaatsing: zwevend of volvlaks verlijmd"], "items": [{"code": "ACHF0601", "decor": "Oak Dream", "m2": 1.8, "ean": "8721335200096", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakDream-kl-1-751x1024.webp", "url": "https://hbcomposite.com/oak-dream/", "kl": "#a2886b", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0601-Aqua-Composite-Superior-Herringbone-OakDream-2.jpg", "afw": "EIR painted bevel"}, {"code": "ACHF0602", "decor": "Oak Paradise", "m2": 1.8, "ean": "8721335200102", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakParadise-kl-1-751x1024.webp", "url": "https://hbcomposite.com/oak-paradise/", "kl": "#beae94", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0602-Aqua-Composite-Superior-Herringbone-OakParadise-1-1024x760.jpg", "afw": "EIR painted bevel"}, {"code": "ACHF0603", "decor": "Oak Wonder", "m2": 1.8, "ean": "8721335200119", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakWonder-kl-1-755x1024.webp", "url": "https://hbcomposite.com/oak-wonder/", "kl": "#c9b290", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0603-Aqua-Composite-Superior-Herringbone-OakWonder-1-1024x763.jpg", "afw": "EIR painted bevel"}, {"code": "ACHF0604", "decor": "Oak Glory", "m2": 1.8, "ean": "8721335200126", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Plank-OakGlory-kl-1-753x1024.webp", "url": "https://hbcomposite.com/oak-glory/", "kl": "#a19071", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACHF0604-Aqua-Composite-Superior-Herringbone-OakGlory-1-1024x763.jpg", "afw": "EIR painted bevel"}], "m2pak": 1.8, "stuks": 16}, {"id": "aqua-composite-tiles", "naam": "Tiles 61 × 30,5 cm", "kort": "Tegels", "toep": ["vloer", "wand"], "groep": "Tegels", "intro": "Tegelformaat met natuurgetrouwe steenstructuur. Door de dikte van 4 mm vaak rechtstreeks over bestaande vloer- of wandtegels te plaatsen, zonder breekwerk.", "afm": "610 x 305 x 4 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 4,0 mm", "Slijtlaag 0,3 mm (klasse 32)", "Oppervlak: Mat steenstructuur", "Plaatsing: zwevend of verlijmd, vloer én wand"], "items": [{"code": "ACT0100", "decor": "Anthracite Stone", "m2": 2.23, "ean": "8721335200393", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Anthracite-Stone-zwarter-1-679x1024.webp", "url": "https://hbcomposite.com/anthracite-stone/", "kl": "#4b4a41", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACT0100-Aqua-Composite-Tiles-Anthracite-Stone-1024x998.jpg", "afw": "ST"}, {"code": "ACT0101", "decor": "Concrete Light", "m2": 2.23, "ean": "8721335200409", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Light-1-682x1024.webp", "url": "https://hbcomposite.com/concrete-light/", "kl": "#a0a4a2", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACT0101-Aqua-Composite-Tiles-Concrete-Light-1024x1024.png", "afw": "ST"}, {"code": "ACT0102", "decor": "Sand Beige", "m2": 2.23, "ean": "8721335200416", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Sand-Beige-681x1024.webp", "url": "https://hbcomposite.com/sand-beige/", "kl": "#e3dfd8", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/HB_SandBeige_Douche-1024x683.png", "afw": "ST"}, {"code": "ACT0103", "decor": "Marble Black", "m2": 2.23, "ean": "8721335200423", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Black-1-679x1024.webp", "url": "https://hbcomposite.com/marble-black-2/", "kl": "#2e2e2e", "afw": "ST"}, {"code": "ACT0104", "decor": "Marble Grey", "m2": 2.23, "ean": "8721335200430", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Grey-1-682x1024.webp", "url": "https://hbcomposite.com/marble-grey/", "kl": "#a1a0a5", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/MarbleGrey_Tiles-1024x768.png", "afw": "ST"}, {"code": "ACT0105", "decor": "Marble Beige", "m2": 2.23, "ean": "8721335200447", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Beige-5-1-714x1024.webp", "url": "https://hbcomposite.com/marble-beige/", "kl": "#bdb9b7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/Tiles-Marble-beige-1024x979.png", "afw": "ST"}, {"code": "ACT0106", "decor": "Sandstone Lines", "m2": 2.23, "ean": "8721335200454", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Sandstone-Lines-1-714x1024.webp", "url": "https://hbcomposite.com/sandstone-lines/", "kl": "#d5d5d5", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACT0106-Aqua-Composite-Tiles-Sandstone-Lines-1024x998.jpg", "afw": "ST"}, {"code": "ACT0107", "decor": "Concrete Dark", "m2": 2.23, "ean": "8721335200461", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Dark-1-679x1024.webp", "url": "https://hbcomposite.com/concrete-dark/", "kl": "#989898", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACT0107-Aqua-Composite-Tiles-Concrete-Dark-1024x998.jpg", "afw": "ST"}, {"code": "ACT0108", "decor": "Concrete Black", "m2": 2.23, "ean": "8721335200478", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Black-1-713x1024.webp", "url": "https://hbcomposite.com/concrete-black/", "kl": "#585451", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACT0108-Setting-Aqua-Composite-Tiles-Concrete-Black-1024x998.jpg", "afw": "ST"}, {"code": "ACT0112", "decor": "Marmo Luna", "m2": 2.23, "ean": "8721335200492", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luna-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-luna/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/luna-tiles-1024x683.png", "afw": "ST"}, {"code": "ACT0400", "decor": "Matt White", "m2": 2.23, "ean": "8721335200508", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Matt-White-1-679x1024.webp", "url": "https://hbcomposite.com/matt-white/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACT0400-Aqua-Composite-Tiles-White-1024x998.jpg", "afw": "ST"}, {"code": "ACT0111", "decor": "Grigio Imperiale", "m2": 2.23, "ean": "8721335201598", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Grigio-Imperiale-1-679x1024.webp", "url": "https://hbcomposite.com/grigio-imperale/", "kl": "#938b77", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACT0111-Aqua-Composite-Tiles-Grigio-Imperiale-1024x998.jpg", "afw": "ST"}], "m2pak": 2.23, "stuks": 12}, {"id": "aqua-composite-tiles-xl", "naam": "Tiles XL 95 × 47,5 cm", "kort": "XL-tegels", "toep": ["vloer", "wand"], "groep": "Tegels", "intro": "Groot tegelformaat voor een rustiger beeld met minder voegen. Zelfde opbouw als de standaardtegel, zelfde kliksysteem.", "afm": "950 x 475 x 4 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 4,0 mm", "Slijtlaag 0,3 mm (klasse 32)", "Oppervlak: Mat steenstructuur", "Plaatsing: zwevend of verlijmd, vloer én wand"], "items": [{"code": "ACTXL0100", "decor": "Anthracite Stone", "m2": 2.26, "ean": "8721335200515", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Anthracite-Stone-zwarter-1-679x1024.webp", "url": "https://hbcomposite.com/anthracite-stone/", "kl": "#4b4a41", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0100-Aqua-Composite-Tiles-XL-Anthracite-Stone-1024x732.jpg", "afw": "ST"}, {"code": "ACTXL0101", "decor": "Concrete Light", "m2": 2.26, "ean": "8721335200522", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Light-1-682x1024.webp", "url": "https://hbcomposite.com/concrete-light/", "kl": "#a0a4a2", "afw": "ST"}, {"code": "ACTXL0102", "decor": "Sand Beige", "m2": 2.26, "ean": "8721335200539", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Sand-Beige-681x1024.webp", "url": "https://hbcomposite.com/sand-beige/", "kl": "#e3dfd8", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/HB_SandBeige_Douche-1024x683.png", "afw": "ST"}, {"code": "ACTXL0103", "decor": "Marble Black", "m2": 2.26, "ean": "8721335200546", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Black-1-679x1024.webp", "url": "https://hbcomposite.com/marble-black-2/", "kl": "#2e2e2e", "afw": "ST"}, {"code": "ACTXL0104", "decor": "Marble Grey", "m2": 2.26, "ean": "8721335200553", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Grey-1-682x1024.webp", "url": "https://hbcomposite.com/marble-grey/", "kl": "#a1a0a5", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/MarbleGrey_XLTiles-1024x731.png", "afw": "ST"}, {"code": "ACTXL0105", "decor": "Marble Beige", "m2": 2.26, "ean": "8721335200560", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Beige-5-1-714x1024.webp", "url": "https://hbcomposite.com/marble-beige/", "kl": "#bdb9b7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/XL-tiles-Marble-beige-1024x716.png", "afw": "ST"}, {"code": "ACTXL0106", "decor": "Sandstone Lines", "m2": 2.26, "ean": "8721335200577", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Sandstone-Lines-1-714x1024.webp", "url": "https://hbcomposite.com/sandstone-lines/", "kl": "#d5d5d5", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0106-Aqua-Composite-Tiles-XL-Sandstone-Lines-1024x732.jpg", "afw": "ST"}, {"code": "ACTXL0107", "decor": "Concrete Dark", "m2": 2.26, "ean": "8721335200584", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Dark-1-679x1024.webp", "url": "https://hbcomposite.com/concrete-dark/", "kl": "#989898", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0107-Aqua-Composite-Tiles-XL-Concrete-Dark-1024x732.jpg", "afw": "ST"}, {"code": "ACTXL0108", "decor": "Concrete Black", "m2": 2.26, "ean": "8721335200591", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Black-1-713x1024.webp", "url": "https://hbcomposite.com/concrete-black/", "kl": "#585451", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0108-Aqua-Composite-Tiles-XL-Concrete-Black-2-1024x683.jpg", "afw": "ST"}, {"code": "ACTXL0110", "decor": "Limestone", "m2": 2.26, "ean": "8721335200607", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Limestone-7-1-712x1024.webp", "url": "https://hbcomposite.com/limestone/", "kl": "#f1f1f1", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/Tile-Limestone-1024x683.png", "afw": "ST"}, {"code": "ACTXL0112", "decor": "Marmo Luna", "m2": 2.26, "ean": "8721335200621", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luna-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-luna/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/luna-tiles-1024x683.png", "afw": "ST"}, {"code": "ACTXL0400", "decor": "Matt White", "m2": 2.26, "ean": "8721335200669", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Matt-White-1-679x1024.webp", "url": "https://hbcomposite.com/matt-white/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0400-Aqua-Composite-Tiles-XL-White-1024x732.jpg", "afw": "ST"}, {"code": "ACTXL0111", "decor": "Grigio Imperiale", "m2": 2.26, "ean": "8721335200614", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Grigio-Imperiale-1-679x1024.webp", "url": "https://hbcomposite.com/grigio-imperale/", "kl": "#938b77", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0111-Aqua-Composite-Tiles-XL-Grigio-Imperiale-1024x732.jpg", "afw": "ST"}, {"code": "ACTXL0113", "decor": "Marmo Luce", "m2": 2.26, "ean": "8721335200638", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luce-1-685x1024.webp", "url": "https://hbcomposite.com/marmo-luce/", "kl": "#f2eee7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0113-Aqua-Composite-Tiles-XL-Marmo-Luce-1024x732.jpg", "afw": "ST"}, {"code": "ACTXL0114", "decor": "Marmo Notte", "m2": 2.26, "ean": "8721335200645", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Notte-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-notte/", "kl": "#302b28", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/e2d082c0-3157-496a-9b7d-ec4df1330c85-1024x821.png", "afw": "ST"}, {"code": "ACTXL0115", "decor": "Marmo Oro", "m2": 2.26, "ean": "8721335200652", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Oro-9-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-oro/", "kl": "#efebdc", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACTXL0115-Aqua-Composite-Tiles-XL-Marmo-Oro-1024x732.jpg", "afw": "ST"}], "m2pak": 2.26, "stuks": 5}, {"id": "aqua-composite-panels", "naam": "Panels 260,5 × 48,2 cm", "kort": "Panelen", "toep": ["wand"], "groep": "Wandpanelen", "intro": "Wandpaneel over de volle hoogte met Click & Screw-verbinding. Naadloos beeld, 100% waterdicht, ook in douche- en badruimtes.", "afm": "2605 x 482 x 4,5 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 4,5 mm", "Slijtlaag klasse 32", "Oppervlak: Ultramat / Minipearl / houtstructuur", "Plaatsing: verlijmd of geschroefd"], "items": [{"code": "ACP0100", "decor": "Anthracite Stone", "m2": 2.511, "ean": "8721335200164", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Anthracite-Stone-zwarter-1-679x1024.webp", "url": "https://hbcomposite.com/anthracite-stone/", "kl": "#4b4a41", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0100-Aqua-Composite-Panels-Anthracite-Stone-1024x683.jpg", "afw": "UM"}, {"code": "ACP0101", "decor": "Concrete Light", "m2": 2.511, "ean": "8721335200171", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Light-1-682x1024.webp", "url": "https://hbcomposite.com/concrete-light/", "kl": "#a0a4a2", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0101-Aqua-Composite-Panels-Concrete-Light-1-1024x683.png", "afw": "UM"}, {"code": "ACP0102", "decor": "Sand Beige", "m2": 2.511, "ean": "8721335200188", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Sand-Beige-681x1024.webp", "url": "https://hbcomposite.com/sand-beige/", "kl": "#e3dfd8", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0102-Aqua-Composite-Panels-Sand-Beige-1-1024x683.jpg", "afw": "UM"}, {"code": "ACP0103", "decor": "Marble Black", "m2": 2.511, "ean": "8721335200195", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Black-1-679x1024.webp", "url": "https://hbcomposite.com/marble-black-2/", "kl": "#2e2e2e", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0103-Aqua-Composite-Panels-Marble-Black-1024x683.jpg", "afw": "UM"}, {"code": "ACP0104", "decor": "Marble Grey", "m2": 2.511, "ean": "8721335200201", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Grey-1-682x1024.webp", "url": "https://hbcomposite.com/marble-grey/", "kl": "#a1a0a5", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/MarbleGrey_Panels-1024x768.jpg", "afw": "UM"}, {"code": "ACP0105", "decor": "Marble Beige", "m2": 2.511, "ean": "8721335200218", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Beige-5-1-714x1024.webp", "url": "https://hbcomposite.com/marble-beige/", "kl": "#bdb9b7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/Panels-Marble-beige-1024x683.jpg", "afw": "UM"}, {"code": "ACP0107", "decor": "Concrete Dark", "m2": 2.511, "ean": "8721335200225", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Dark-1-679x1024.webp", "url": "https://hbcomposite.com/concrete-dark/", "kl": "#989898", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0107-Aqua-Composite-Panels-Concrete-Dark-1024x683.jpg", "afw": "UM"}, {"code": "ACP0108", "decor": "Concrete Black", "m2": 2.511, "ean": "8721335200232", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Black-1-713x1024.webp", "url": "https://hbcomposite.com/concrete-black/", "kl": "#585451", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0108-Aqua-Composite-Panels-Concrete-black-1024x683.jpg", "afw": "UM"}, {"code": "ACP0110", "decor": "Limestone", "m2": 2.511, "ean": "8721335200249", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Limestone-7-1-712x1024.webp", "url": "https://hbcomposite.com/limestone/", "kl": "#f1f1f1", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/Limestone-panels-1024x683.jpg", "afw": "UM"}, {"code": "ACP0112", "decor": "Marmo Luna", "m2": 2.511, "ean": "8721335200263", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luna-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-luna/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/luna-panels-1024x683.jpg", "afw": "UM"}, {"code": "ACP0400", "decor": "Matt White", "m2": 2.511, "ean": "8721335200300", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Matt-White-1-679x1024.webp", "url": "https://hbcomposite.com/matt-white/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0400-Aqua-Composite-Panels-Matt-White-1024x683.jpg", "afw": "STR"}, {"code": "ACP0600", "decor": "Timeless Oak", "m2": 2.511, "ean": "8721335201239", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Timeless-Oak-2-681x1024.webp", "url": "https://hbcomposite.com/timeless-oak/", "kl": "#b29e89", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0600-Aqua-Composite-Panels-TimelessOak-1024x683.jpg", "afw": "LWE"}, {"code": "ACP0605", "decor": "Residential Oak", "m2": 2.511, "ean": "8721335201444", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Residential-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/residential-oak/", "kl": "#a1998c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0605-Aqua-Composite-Panels-ResidentialOak-1024x683.jpg", "afw": "LWE"}, {"code": "ACP0606", "decor": "Eternal Oak", "m2": 2.511, "ean": "8721335201222", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Eternal-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/eternal-oak/", "kl": "#ac8d6c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0606-Aqua-Composite-Panels-EternalOak-1024x683.jpg", "afw": "LWE"}, {"code": "ACP0111", "decor": "Grigio Imperiale", "m2": 2.511, "ean": "8721335200256", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Grigio-Imperiale-1-679x1024.webp", "url": "https://hbcomposite.com/grigio-imperale/", "kl": "#938b77", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0111-Aqua-Composite-Panels-Grigio-Imperiale-1024x683.jpg", "afw": "UM"}, {"code": "ACP0113", "decor": "Marmo Luce", "m2": 2.511, "ean": "8721335200270", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luce-1-685x1024.webp", "url": "https://hbcomposite.com/marmo-luce/", "kl": "#f2eee7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0113-Aqua-Composite-Panels-Marmo-Luce-1024x683.jpg", "afw": "UM"}, {"code": "ACP0114", "decor": "Marmo Notte", "m2": 2.511, "ean": "8721335200287", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Notte-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-notte/", "kl": "#302b28", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0114-Aqua-Composite-Panels-Marmo-Notte2-1024x683.png", "afw": "UM"}, {"code": "ACP0402", "decor": "Platinum Grey", "m2": 2.511, "ean": "8721335200317", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Platinum-Grey-7036-1-698x1024.webp", "url": "https://hbcomposite.com/platinum-grey/", "kl": "#969191", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0402-Aqua-Composite-Panels-Platinum-Grey-1024x683.jpg", "afw": "UM"}, {"code": "ACP0403", "decor": "Light Grey", "m2": 2.511, "ean": "8721335200324", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Light-Grey-1-688x1024-640x480.webp", "url": "https://hbcomposite.com/light-grey/", "kl": "#9ba3ac", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0403-Aqua-Composite-Panels-lightgrey-1024x683-640x480.jpg", "afw": "STR"}, {"code": "ACP0404", "decor": "Graphite Black", "m2": 2.511, "ean": "8721335201451", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Graphite-Black-1-696x1024.webp", "url": "https://hbcomposite.com/graphite-black/", "kl": "#1a1c20", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0404-Aqua-Composite-Panels-graphite-black-1024x683.jpg", "afw": "STR"}], "m2pak": 2.511, "stuks": 2}, {"id": "aqua-composite-combi-panels", "naam": "Combi-Panels 122 × 32 cm", "kort": "Combi-panelen", "toep": ["wand"], "groep": "Wandpanelen", "intro": "Korter paneelformaat voor accentwanden en lagere vlakken, met dezelfde naadloze Click & Screw-verbinding als de grote panelen.", "afm": "1220 x 320 x 4,5 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 4,5 mm", "Slijtlaag 0,3 mm (klasse 32)", "Oppervlak: Steenstructuur / Minipearl / houtstructuur", "Plaatsing: verlijmd of geschroefd"], "items": [{"code": "ACCP0101", "decor": "Concrete Light", "m2": 2.34, "ean": "8721335201512", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Light-1-682x1024.webp", "url": "https://hbcomposite.com/concrete-light/", "kl": "#a0a4a2", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0101-Aqua-Composite-Panels-Concrete-Light-1-1024x683.png", "afw": "ST"}, {"code": "ACCP0110", "decor": "Limestone", "m2": 2.34, "ean": "8721335201529", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Limestone-7-1-712x1024.webp", "url": "https://hbcomposite.com/limestone/", "kl": "#f1f1f1", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/Limestone-panels-1024x683.jpg", "afw": "ST"}, {"code": "ACCP0112", "decor": "Marmo Luna", "m2": 2.34, "ean": "8721335201536", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luna-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-luna/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/luna-panels-1024x683.jpg", "afw": "ST"}, {"code": "ACCP0400", "decor": "Matt White", "m2": 2.34, "ean": "8721335201550", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Matt-White-1-679x1024.webp", "url": "https://hbcomposite.com/matt-white/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0400-Aqua-Composite-Panels-Matt-White-1024x683.jpg", "afw": "STR"}, {"code": "ACCP0606", "decor": "Eternal Oak", "m2": 2.34, "ean": "8721335201581", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Eternal-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/eternal-oak/", "kl": "#ac8d6c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0606-Aqua-Composite-Panels-EternalOak-1024x683.jpg", "afw": "LWE"}, {"code": "ACCP0113", "decor": "Marmo Luce", "m2": 2.34, "ean": "8721335201543", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luce-1-685x1024.webp", "url": "https://hbcomposite.com/marmo-luce/", "kl": "#f2eee7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0113-Aqua-Composite-Panels-Marmo-Luce-1024x683.jpg", "afw": "ST"}, {"code": "ACCP0402", "decor": "Platinum Grey", "m2": 2.34, "ean": "8721335201567", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Platinum-Grey-7036-1-698x1024.webp", "url": "https://hbcomposite.com/platinum-grey/", "kl": "#969191", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0402-Aqua-Composite-Panels-Platinum-Grey-1024x683.jpg", "afw": "STR"}, {"code": "ACCP0404", "decor": "Graphite Black", "m2": 2.34, "ean": "8721335201574", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Graphite-Black-1-696x1024.webp", "url": "https://hbcomposite.com/graphite-black/", "kl": "#1a1c20", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACP0404-Aqua-Composite-Panels-graphite-black-1024x683.jpg", "afw": "STR"}], "m2pak": 2.34, "stuks": 6}, {"id": "digiprint-panels-horizon-collection", "naam": "Digi-Panels — Horizon collectie", "kort": "Horizon", "toep": ["wand"], "groep": "Digi-Panels", "intro": "Doorlopende digitale print over een volledige wand, zonder voegen of onderbrekingen. Per wandbeeld besteld, in twee breedtes.", "afm": "2605 x 482 x 4,5 mm", "perstuk": false, "verlies": 5, "perset": true, "minpak": 1, "specs": ["Dikte 4,5 mm", "Slijtlaag klasse 32", "Oppervlak: Digitale print, meerlaags afgewerkt", "Plaatsing: verlijmd of geschroefd"], "items": [{"code": "HBC0.20.01.01.01", "decor": "Bamboo Leaves", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202076", "img": "https://hbcomposite.com/wp-content/uploads/2026/06/HBC0.20.01.01-Bamboo-Leaves_4-panelen-1-727x1024.jpg", "url": "https://hbcomposite.com/bamboo-leaves/", "kl": "#7e981c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/06/HBC0.20.01.01-Bamboo-Leaves_6-panelen-1-768x714.jpg"}, {"code": "HBC0.20.01.01.02", "decor": "Bamboo Leaves", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202083", "img": "https://hbcomposite.com/wp-content/uploads/2026/06/HBC0.20.01.01-Bamboo-Leaves_6-panelen-1-768x714.jpg", "url": "https://hbcomposite.com/bamboo-leaves/", "kl": "#547e18"}, {"code": "HBC0.20.01.02.01", "decor": "Forest Waterfall", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202090", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.02-Forest-Waterfall_4-panelen-1-727x1024.jpg", "url": "https://hbcomposite.com/forest-waterfall/", "kl": "#4f6042", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.02-Forest-Waterfall_6-panelen-2-768x714.jpg"}, {"code": "HBC0.20.01.02.02", "decor": "Forest Waterfall", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202106", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.02-Forest-Waterfall_6-panelen-2-768x714.jpg", "url": "https://hbcomposite.com/forest-waterfall/", "kl": "#43572f"}, {"code": "HBC0.20.01.03.01", "decor": "Wild Grass", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202113", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.03-Wild-Grass_4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/wild-grass/", "kl": "#f1e6d1", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/06/HBC0.20.01.03-Wild-Grass_6-panelen-768x714.jpg"}, {"code": "HBC0.20.01.03.02", "decor": "Wild Grass", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202120", "img": "https://hbcomposite.com/wp-content/uploads/2026/06/HBC0.20.01.03-Wild-Grass_6-panelen-768x714.jpg", "url": "https://hbcomposite.com/wild-grass/", "kl": "#ece1cd"}, {"code": "HBC0.20.01.04.01", "decor": "Jungle Stream", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202137", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.04-Jungle-Stream_4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/jungle-stream/", "kl": "#5e6e80", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.04-Jungle-Stream_6-panelen-1-768x714.jpg"}, {"code": "HBC0.20.01.04.02", "decor": "Jungle Stream", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202144", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.04-Jungle-Stream_6-panelen-1-768x714.jpg", "url": "https://hbcomposite.com/jungle-stream/", "kl": "#35403a"}, {"code": "HBC0.20.01.05.01", "decor": "Ice Cave", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202151", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.05-Ice-Cave_4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/ice-cave/", "kl": "#306781", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/06/HBC0.20.01.05-Ice-Cave_6-panelen-768x714.jpg"}, {"code": "HBC0.20.01.05.02", "decor": "Ice Cave", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202168", "img": "https://hbcomposite.com/wp-content/uploads/2026/06/HBC0.20.01.05-Ice-Cave_6-panelen-768x714.jpg", "url": "https://hbcomposite.com/ice-cave/", "kl": "#357893"}, {"code": "HBC0.20.01.07.01", "decor": "Dandelion", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202175", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.07-Dandelion_4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/dandelion/", "kl": "#e0dde1", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Dandelion-1-768x728.jpg"}, {"code": "HBC0.20.01.07.02", "decor": "Dandelion", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202182", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.07-Dandelion_6-panelen-1-768x714.jpg", "url": "https://hbcomposite.com/dandelion/", "kl": "#dfdcde", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Dandelion-1-768x728.jpg"}, {"code": "HBC0.20.01.08.01", "decor": "Sunlight in the Forest", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202199", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.08-Sunlight-in-the-forest_4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/sunlight-in-the-forest/", "kl": "#949b82", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.08-Sunlight-in-the-forest_6-panelen-1-768x714.jpg"}, {"code": "HBC0.20.01.08.02", "decor": "Sunlight in the Forest", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202205", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.08-Sunlight-in-the-forest_6-panelen-1-768x714.jpg", "url": "https://hbcomposite.com/sunlight-in-the-forest/", "kl": "#a0a88a"}, {"code": "HBC0.20.01.09.01", "decor": "Vertical Garden", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202212", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.09-Vertical-Garden_4-panelen-734x1024.jpg", "url": "https://hbcomposite.com/vertical-garden/", "kl": "#295726", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Vertical-Garden-768x952.jpg"}, {"code": "HBC0.20.01.09.02", "decor": "Vertical Garden", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202229", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.01.09-Vertical-Garden_6-panelen-1-768x714.jpg", "url": "https://hbcomposite.com/vertical-garden/", "kl": "#2d5d28", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Vertical-Garden-768x952.jpg"}, {"code": "HBC0.20.02.02.01", "decor": "Sand Dunes", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202236", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.02-Sand-Dunes_4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/sand-dunes/", "kl": "#6a80a3", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.02-Sand-Dunes_6-panelen-1-768x714.jpg"}, {"code": "HBC0.20.02.02.02", "decor": "Sand Dunes", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202243", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.02-Sand-Dunes_6-panelen-1-768x714.jpg", "url": "https://hbcomposite.com/sand-dunes/", "kl": "#7481a0"}, {"code": "HBC0.20.02.03.01", "decor": "Ocean Wave", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202250", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.03-Ocean-Wave-4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/ocean-wave/", "kl": "#b5d3e3", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.03-Ocean-Wave-6-panelen-1-768x714.jpg"}, {"code": "HBC0.20.02.03.02", "decor": "Ocean Wave", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202267", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.03-Ocean-Wave-6-panelen-1-768x714.jpg", "url": "https://hbcomposite.com/ocean-wave/", "kl": "#429eb8"}, {"code": "HBC0.20.02.04.01", "decor": "Tropical Pier", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202274", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Tropical-Pier-768x578.jpg", "url": "https://hbcomposite.com/tropical-pier/", "kl": "#94b1b3"}, {"code": "HBC0.20.02.04.02", "decor": "Tropical Pier", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202281", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Tropical-Pier-768x578.jpg", "url": "https://hbcomposite.com/tropical-pier/", "kl": "#94b1b3"}, {"code": "HBC0.20.02.05.01", "decor": "Red Rocks", "variant": "192,8 × 260,5 cm", "panelen": 4, "netto": 186.8, "m2": 5.022, "ean": "8721335202298", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.05-Red-Rocks_4-panelen-727x1024.jpg", "url": "https://hbcomposite.com/red-rocks/", "kl": "#ba4816", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.05-Red-Rocks_6-panelen-1-1-768x714.jpg"}, {"code": "HBC0.20.02.05.02", "decor": "Red Rocks", "variant": "289,2 × 260,5 cm", "panelen": 6, "netto": 280.2, "m2": 7.534, "ean": "8721335202304", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/HBC0.20.02.05-Red-Rocks_6-panelen-1-1-768x714.jpg", "url": "https://hbcomposite.com/red-rocks/", "kl": "#e05717"}], "m2pak": 5.022, "stuks": null}, {"id": "digiprint-panels-flow-collection", "naam": "Digi-Panels — Flow collectie", "kort": "Flow", "toep": ["wand"], "groep": "Digi-Panels", "intro": "Doorlopend printdecor op panelen van 48,2 cm, te combineren tot elke wandbreedte. Bestelbaar per pak van 2 panelen.", "afm": "2605 x 482 x 4,5 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 2, "specs": ["Dikte 4,5 mm", "Slijtlaag klasse 32", "Oppervlak: Digitale print, meerlaags afgewerkt", "Plaatsing: verlijmd of geschroefd"], "items": [{"code": "QD01.3.003.01", "decor": "Granito Muro", "m2": 2.511, "ean": "8721335202311", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/Granito-Muro-1-1024x1024-640x480.jpeg", "url": "https://hbcomposite.com/granito-muro/", "kl": "#6a6a6a", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Granito-Muro-2-1536x1077-1-1024x718-640x480.jpg"}, {"code": "QD01.3.038.01", "decor": "Terrazzo Beige", "m2": 2.511, "ean": "8721335202328", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/Terrazzo-Beige-1-1024x1024-640x480.jpeg", "url": "https://hbcomposite.com/terrazzo-beige/", "kl": "#c1bbb1", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Terrazzo-Beige_1-1536x1131-1-1024x754-640x480.jpg"}, {"code": "QD01.3.039.01", "decor": "Terrazzo Grey", "m2": 2.511, "ean": "8721335202335", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/Terrazzo-Grey-1-1024x1024-640x480.jpeg", "url": "https://hbcomposite.com/terrazzo-grey/", "kl": "#cfd0d4", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Terrazzo-Grey_2-1133x1536-1-755x1024-640x480.png"}, {"code": "QD02.2.017.01", "decor": "Bianco Spina", "m2": 2.511, "ean": "8721335202342", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/Bianco-Spina-1-1024x1024-640x480.jpeg", "url": "https://hbcomposite.com/bianco-spina/", "kl": "#fafafc", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Bianco-Spina_2-1133x1536-1-755x1024-640x480.png"}, {"code": "QD04.4.017.01", "decor": "Iron Patina", "m2": 2.511, "ean": "8721335202359", "img": "https://hbcomposite.com/wp-content/uploads/2026/07/Iron-Patina-1-1024x1024-640x480.jpeg", "url": "https://hbcomposite.com/iron-patina/", "kl": "#714e36", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/07/Aqua-Composite-DigiPanels_Iron-Patina-1-1024x834-640x480.jpg"}], "m2pak": 2.511, "stuks": 2}, {"id": "aqua-composite-boards", "naam": "Boards 260,5 × 96,5 cm", "kort": "Boards", "toep": ["wand"], "groep": "Wandpanelen", "intro": "Grote plaat van bijna een meter breed: de snelste weg naar een vlakke, voegloze wand. Wordt met polymeerlijm bevestigd.", "afm": "2605 x 965 x 4,5 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 4,5 mm", "Slijtlaag klasse 32", "Oppervlak: Ultramat / Minipearl / houtstructuur", "Plaatsing: verlijmd", "Per 2 stuks in doos"], "items": [{"code": "ACB0101", "decor": "Concrete Light", "m2": 2.514, "ean": "8721335201604", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Light-1-682x1024.webp", "url": "https://hbcomposite.com/concrete-light/", "kl": "#a0a4a2", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACB0101-Aqua_Composite-Boards-concrete-light_1-scaled-1-1024x683.jpg", "afw": "UM"}, {"code": "ACB0102", "decor": "Sand Beige", "m2": 2.514, "ean": "8721335201611", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Sand-Beige-681x1024.webp", "url": "https://hbcomposite.com/sand-beige/", "kl": "#e3dfd8", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/HB_SandBeige_Douche-1024x683.png", "afw": "UM"}, {"code": "ACB0105", "decor": "Marble Beige", "m2": 2.514, "ean": "8721335201635", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marble-Beige-5-1-714x1024.webp", "url": "https://hbcomposite.com/marble-beige/", "kl": "#bdb9b7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/Boards-Marble-beige-1024x700.png", "afw": "UM"}, {"code": "ACB0112", "decor": "Marmo Luna", "m2": 2.514, "ean": "8721335201642", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luna-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-luna/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACB0112-Aqua_Composite-Boards-marmo-luna_2-1024x697.png", "afw": "UM"}, {"code": "ACB0400", "decor": "Matt White", "m2": 2.514, "ean": "8721335201673", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Matt-White-1-679x1024.webp", "url": "https://hbcomposite.com/matt-white/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACB0400-Aqua_Composite-Boards-matt-white_2-1024x697.png", "afw": "STR"}, {"code": "ACB0606", "decor": "Eternal Oak", "m2": 2.514, "ean": "8721335201697", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Eternal-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/eternal-oak/", "kl": "#ac8d6c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACB0606-Aqua_Composite-Boards-eternal-oak_1-1024x683.jpg", "afw": "LWE"}, {"code": "ACB0113", "decor": "Marmo Luce", "m2": 2.514, "ean": "8721335201659", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Luce-1-685x1024.webp", "url": "https://hbcomposite.com/marmo-luce/", "kl": "#f2eee7", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACB0113-Aqua_Composite-Boards-marmo-luce_1-1024x683.jpg", "afw": "UM"}, {"code": "ACB0114", "decor": "Marmo Notte", "m2": 2.514, "ean": "8721335201666", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Marmo-Notte-1-681x1024.webp", "url": "https://hbcomposite.com/marmo-notte/", "kl": "#302b28", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/ACB0114-Aqua_Composite-Boards-marmo-notte_2-1024x697.png", "afw": "UM"}], "m2pak": 2.514, "stuks": 1}, {"id": "vensterbanken", "naam": "Vensterbanken 290 × 30 cm", "kort": "Vensterbanken", "toep": ["vensterbank"], "groep": "Vensterbanken", "intro": "Slechts 5 mm dik en daarmee rechtstreeks over de bestaande vensterbank te plaatsen. Neus van 36 mm, af te werken met bijpassend zelfklevend kantenband.", "afm": "2900 x 300 x 5 mm", "perstuk": true, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 5,0 mm", "Oppervlak: Minipearl / Luxury Wood Embossed", "Plaatsing: verlijmd met polymeerlijm", "Per 2 stuks in doos"], "items": [{"code": "ACWS0100", "decor": "Anthracite Stone", "ean": "8721335200676", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Anthracite-Stone-zwarter-1-679x1024.webp", "url": "https://hbcomposite.com/anthracite-stone/", "kl": "#4b4a41", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0100-Aqua-Composite_Windowsill-Anthracite-Stone-1024x733.jpg", "afw": "STR"}, {"code": "ACWS0101", "decor": "Concrete Light", "ean": "8721335200683", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Light-1-682x1024.webp", "url": "https://hbcomposite.com/concrete-light/", "kl": "#a0a4a2", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/windowsill_concretelight-1024x768.png", "afw": "STR"}, {"code": "ACWS0102", "decor": "Sand Beige", "ean": "8721335200690", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Sand-Beige-681x1024.webp", "url": "https://hbcomposite.com/sand-beige/", "kl": "#e3dfd8", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0102-Aqua-Composite-WindowSill-Sand-Beige-1-1024x683.jpg", "afw": "STR"}, {"code": "ACWS0107", "decor": "Concrete Dark", "ean": "8721335200706", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Concrete-Dark-1-679x1024.webp", "url": "https://hbcomposite.com/concrete-dark/", "kl": "#989898", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0107-Aqua-Composite_Windowsill-Concrete-Dark-2-1024x733.jpg", "afw": "STR"}, {"code": "ACWS0400", "decor": "Matt White", "ean": "8721335200713", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Matt-White-1-679x1024.webp", "url": "https://hbcomposite.com/matt-white/", "kl": "#fafafa", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0400-Aqua-Composite-WindowSill-Matt-White-2-1024x733.jpg", "afw": "STR"}, {"code": "ACWS0404", "decor": "Graphite Black", "ean": "8721335201468", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Graphite-Black-1-696x1024.webp", "url": "https://hbcomposite.com/graphite-black/", "kl": "#1a1c20", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0404-Aqua-Composite-WindowSill-graphite-black-1024x733.jpg", "afw": "STR"}, {"code": "ACWS0600", "decor": "Timeless Oak", "ean": "8721335200720", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Timeless-Oak-2-681x1024.webp", "url": "https://hbcomposite.com/timeless-oak/", "kl": "#b29e89", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0600-Aqua-Composite-WindowSill-Timeless-Oak-1-1024x683.jpg", "afw": "LWE"}, {"code": "ACWS0605", "decor": "Residential Oak", "ean": "8721335200737", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Residential-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/residential-oak/", "kl": "#a1998c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0605-Aqua-Composite-WindowSill-residential-Oak-1-1024x683.jpg", "afw": "LWE"}, {"code": "ACWS0606", "decor": "Eternal Oak", "ean": "8721335200744", "img": "https://hbcomposite.com/wp-content/uploads/2026/04/Eternal-Oak-1-679x1024.webp", "url": "https://hbcomposite.com/eternal-oak/", "kl": "#ac8d6c", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/04/WSS0606-Aqua-Composite-WindowSill-Eternal-Oak-1-1024x683.jpg", "afw": "LWE"}]}, {"id": "gevelpaneel-180-mm", "naam": "Gevelpaneel 180 mm", "kort": "Gevelpaneel", "toep": ["gevel"], "groep": "Exterior Line", "intro": "Kunststof gevelpaneel van 6 meter met kleurechte structuurfolie, zonder schaduwvoeg. Duits fabricaat met 10 jaar garantie op kleurechtheid en slagvastheid.", "afm": "6000 x 180 x 17 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 17 mm", "Oppervlak: Structuurfolie", "Plaatsing: horizontaal of verticaal, op regelwerk"], "items": [{"code": "019.600.02", "decor": "Wit", "m2": 5.4, "ean": "4055032590490", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Wit-683x1024.jpg", "url": null, "kl": "#d7d6d2"}, {"code": "019.600.03", "decor": "Zwart", "m2": 5.4, "ean": "4055032592364", "kl": "#23252a"}, {"code": "019.600.04", "decor": "Antraciet", "m2": 5.4, "ean": "4055032589838", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Antraciet-683x1024.jpg", "url": null, "kl": "#191a1f", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/05/Gevelpaneel-Exterior-Enkel-Antraciet-768x512.png"}, {"code": "019.600.12", "decor": "Crème", "m2": 5.4, "ean": "4055032590506", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Creme-683x1024.jpg", "url": null, "kl": "#cec2b8", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/05/Gevelpaneel-Exterior-Enkel-Creme-768x576.png"}], "m2pak": 5.4, "stuks": 5}, {"id": "gevelpaneel-duo-200-mm", "naam": "Gevelpaneel DUO 200 mm", "kort": "Gevelpaneel DUO", "toep": ["gevel"], "groep": "Exterior Line", "intro": "Gevelpaneel van 6 meter met antracieten schaduwvoeg, werkende maat 200 mm. Houtdecors met kleurechte structuurfolie.", "afm": "6000 x 200 x 17 mm", "perstuk": false, "verlies": 5, "perset": false, "minpak": 1, "specs": ["Dikte 17 mm", "Oppervlak: Structuurfolie, voeg antraciet", "Plaatsing: horizontaal of verticaal, op regelwerk"], "items": [{"code": "018.600.05 DUO", "decor": "Anteak", "m2": 6, "ean": "4055032679225", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Duo-Anteak-recht-683x1024.jpg", "url": null, "kl": "#7e7162"}, {"code": "018.600.06 DUO", "decor": "Corriander Oak", "m2": 6, "ean": "4055032681471", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Duo-Coriander-Oak-recht-683x1024.jpg", "url": null, "kl": "#9a8463", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/05/Gevelpaneel-Exterior-Duo-Corriander-Oak-768x511.png"}, {"code": "018.600.09 DUO", "decor": "Kitami Oak", "m2": 6, "ean": "4055032689873", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Duo-Kitami-Oak-recht-683x1024.jpg", "url": null, "kl": "#282828"}, {"code": "018.600.17 DUO", "decor": "Lariks", "m2": 6, "ean": "4055032681617", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Duo-Lariks-recht-683x1024.jpg", "url": null, "kl": "#ba9569", "sfeer": "https://hbcomposite.com/wp-content/uploads/2026/05/Gevelpaneel-Exterior-Duo-Lariks-768x576.png"}, {"code": "018.600.20 DUO", "decor": "Turner Oak Toffee", "m2": 6, "ean": "4055032678242", "img": "https://hbcomposite.com/wp-content/uploads/2026/05/Duo-Turner-Oak-Toffee-recht-683x1024.jpg", "url": null, "kl": "#4e4034"}], "m2pak": 6, "stuks": 5}], "acc": [{"id": "ondervloer", "wereld": "spc", "titel": "Ondervloeren", "uitleg": "Voor zwevend gelegde vloeren. Zorgt voor een egale basis en voldoende druksterkte onder de klikverbinding.", "items": [{"code": "OVSPC001", "naam": "AC Supreme Underlay", "sub": "rol van 15 m² — hoogste druksterkte", "per": 15.0}, {"code": "OVSPC002", "naam": "AC XPO Underlay", "sub": "pak van 14,85 m²", "per": 14.85}]}, {"id": "lijm", "wereld": "spc", "titel": "Lijm", "uitleg": "Hybride polymeerlijm voor tegels, panelen en vensterbanken. Ontvet vooraf zowel de ondergrond als de achterzijde.", "items": [{"code": "ACHPL0029", "naam": "Hybride polymeerlijm — koker 290 ml", "sub": "verbruik ca. 1 koker per 2 m²", "verbruik": 0.5}, {"code": "ACHPL5000", "naam": "Hybride polymeerlijm — emmer 5 kg", "sub": "volvlaks met lijmkam, 0,8 kg per m²", "verbruik": 0.16}]}, {"id": "kantenband", "wereld": "spc", "titel": "Kantenband voor vensterbanken", "uitleg": "Zelfklevende strip van 300 × 35 mm om de open zijden netjes af te werken.", "items": [{"code": "WSS0100", "naam": "Kantenband Anthracite Stone"}, {"code": "WSS0101", "naam": "Kantenband Concrete Light"}, {"code": "WSS0102", "naam": "Kantenband Sand Beige"}, {"code": "WSS0107", "naam": "Kantenband Concrete Dark"}, {"code": "WSS0400", "naam": "Kantenband Matt White"}, {"code": "WSS0404", "naam": "Kantenband Graphite Black"}, {"code": "WSS0600", "naam": "Kantenband Timeless Oak"}, {"code": "WSS0605", "naam": "Kantenband Residential Oak"}, {"code": "WSS0606", "naam": "Kantenband Eternal Oak"}]}, {"id": "pvc", "wereld": "spc", "titel": "PVC-profielen 2600 mm", "uitleg": "Binnen- en buitenhoeken en U-profielen voor een nette rand, per stuk te bestellen.", "items": [{"code": "EBIHP001", "naam": "Binnenhoek Wit 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "EBIHP002", "naam": "Binnenhoek Zwart 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "EBIHP003", "naam": "Binnenhoek Grijs 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "EBIHP004", "naam": "Binnenhoek Aluminium 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "TBIHP001", "naam": "Tweedelige binnenhoek Wit 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "TBIHP002", "naam": "Tweedelige binnenhoek Zwart 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "TBIHP003", "naam": "Tweedelige binnenhoek Grijs 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "TBIHP004", "naam": "Tweedelige binnenhoek Aluminium 2600 mm - 18 x 7 x 4,5 mm"}, {"code": "EBUHP001", "naam": "Buitenhoek Wit 2600 mm - 10 x 12 x 4,5 mm"}, {"code": "EBUHP002", "naam": "Buitenhoek Zwart 2600 mm - 10 x 12 x 4,5 mm"}, {"code": "EBUHP003", "naam": "Buitenhoek Grijs 2600 mm - 10 x 12 x 4,5 mm"}, {"code": "EBUHP004", "naam": "Buitenhoek Aluminium 2600 mm - 10 x 12 x 4,5 mm"}, {"code": "EUP001", "naam": "U-Profiel Wit 2600 mm - 8 x 20 x 4,5 mm"}, {"code": "EUP002", "naam": "U-Profiel Zwart 2600 mm - 8 x 20 x 4,5 mm"}, {"code": "EUP003", "naam": "U-Profiel Grijs 2600 mm - 8 x 20 x 4,5 mm"}, {"code": "EUP004", "naam": "U-Profiel Aluminium 2600 mm - 8 x 20 x 4,5 mm"}]}, {"id": "alu", "wereld": "spc", "titel": "Aluminium profielen 2700 mm", "uitleg": "Aluminium hoek- en startprofielen in vier afwerkingen, per stuk te bestellen.", "items": [{"code": "ABIP001", "naam": "Aluminum Inside Corner Matt White 2700 mm - 12 x 5 x 4,5 mm"}, {"code": "ABIP002", "naam": "Aluminum Inside Corner Matt Black 2700 mm - 12 x 5 x 4,5 mm"}, {"code": "ABIP003", "naam": "Aluminum Inside Corner Matt Silver Brush 2700 mm - 12 x 5 x 4,5 mm"}, {"code": "ABIP004", "naam": "Aluminum Inside Corner Matt Champagne 2700 mm - 12 x 5 x 4,5 mm"}, {"code": "ABULP001", "naam": "Aluminum Outside Corner Matt White 2700 mm - 10 x 10 x 4,5 mm"}, {"code": "ABULP002", "naam": "Aluminum Outside Corner Matt Black 2700 mm - 10 x 10 x 4,5 mm"}, {"code": "ABULP003", "naam": "Aluminum Outside Corner Matt Silver Brush 2700 mm - 10 x 10 x 4,5 mm"}, {"code": "ABULP004", "naam": "Aluminum Outside Corner Matt Champagne 2700 mm - 10 x 10 x 4,5 mm"}, {"code": "ABUSP001", "naam": "Aluminum Outside Corner Matt White 2700 mm - 6 x 6 x 4,5 mm"}, {"code": "ABUSP002", "naam": "Aluminum Outside Corner Matt Black 2700 mm - 6 x 6 x 4,5 mm"}, {"code": "ABUSP003", "naam": "Aluminum Outside Corner Matt Silver Brush 2700 mm - 6 x 6 x 4,5 mm"}, {"code": "ABUSP004", "naam": "Aluminum Outside Corner Matt Champagne 2700 mm - 6 x 6 x 4,5 mm"}, {"code": "ASP001", "naam": "Aluminum Starting Profile Matt White 2700 mm - 18 x 4 x 4,5 mm"}, {"code": "ASP002", "naam": "Aluminum Starting Profile Matt Black 2700 mm - 18 x 4 x 4,5 mm"}, {"code": "ASP003", "naam": "Aluminum Starting Profile Matt Silver Brush 2700 mm - 18 x 4 x 4,5 mm"}, {"code": "ASP004", "naam": "Aluminum Starting Profile Matt Champagne 2700 mm - 18 x 4 x 4,5 mm"}]}, {"id": "gevelhoek", "wereld": "gevel", "titel": "Exterior Line — hoek- en verbindingsprofielen", "uitleg": "6 meter lang, in dezelfde kleurechte structuurfolie als de gevelpanelen.", "items": [{"code": "025.600.02", "naam": "2 delig hoekprofiel folie Wit"}, {"code": "025.600.03", "naam": "2 delig hoekprofiel folie Zwart"}, {"code": "025.600.04", "naam": "2 delig hoekprofiel folie Antraciet"}, {"code": "025.600.12", "naam": "2 delig hoekprofiel folie Crème"}, {"code": "025.600.05", "naam": "2 delig hoekprofiel folie Anteak"}, {"code": "025.600.06", "naam": "2 delig hoekprofiel folie Coriander oak"}, {"code": "025.600.09", "naam": "2 delig hoekprofiel folie Kitami oak"}, {"code": "025.600.17", "naam": "2 delig hoekprofiel folie Lariks"}, {"code": "025.600.20", "naam": "2 delig hoekprofiel folie Turner Oak Toffee"}, {"code": "023.600.02", "naam": "2 delig verbindingsprofiel folie Wit"}, {"code": "023.600.03", "naam": "2 delig verbindingsprofiel folie Zwart"}, {"code": "023.600.04", "naam": "2 delig verbindingsprofiel folie Antraciet"}, {"code": "023.600.12", "naam": "2 delig verbindingsprofiel folie Crème"}, {"code": "023.600.05", "naam": "2 delig verbindingsprofiel folie Anteak"}, {"code": "023.600.06", "naam": "2 delig verbindingsprofiel folie Coriander oak"}, {"code": "023.600.09", "naam": "2 delig verbindingsprofiel folie Kitami oak"}, {"code": "023.600.17", "naam": "2 delig verbindingsprofiel folie Lariks"}, {"code": "023.600.20", "naam": "2 delig verbindingsprofiel folie Turner Oak Toffee"}, {"code": "024.600.02", "naam": "2 delig U profiel folie Wit"}, {"code": "024.600.03", "naam": "2 delig U profiel folie Zwart"}, {"code": "024.600.04", "naam": "2 delig U profiel folie Antraciet"}, {"code": "024.600.12", "naam": "2 delig U profiel folie Crème"}, {"code": "024.600.05", "naam": "2 delig U profiel folie Anteak"}, {"code": "024.600.06", "naam": "2 delig U profiel folie Coriander oak"}, {"code": "024.600.09", "naam": "2 delig U profiel folie Kitami oak"}, {"code": "024.600.17", "naam": "2 delig U profiel folie Lariks"}, {"code": "024.600.20", "naam": "2 delig U profiel folie Turner oak toffee"}, {"code": "021.600.02", "naam": "U profiel 18 mm folie Wit"}, {"code": "021.600.03", "naam": "U profiel 18 mm folie Zwart"}, {"code": "021.600.04", "naam": "U profiel 18 mm folie Antraciet"}, {"code": "021.600.12", "naam": "U profiel 18 mm folie Crème"}, {"code": "021.600.05", "naam": "U profiel 18 mm folie Anteak"}, {"code": "021.600.06", "naam": "U profiel 18 mm folie Coriander oak"}, {"code": "021.600.09", "naam": "U profiel 18 mm folie Kitami oak"}, {"code": "021.600.17", "naam": "U profiel 18 mm folie Lariks"}, {"code": "021.600.20", "naam": "U profiel 18 mm folie Turner Oak Toffee"}]}, {"id": "gevelstart", "wereld": "gevel", "titel": "Exterior Line — start- en ventilatieprofielen", "uitleg": "De basis van het montagesysteem; ventilatieprofielen houden de luchtspouw achter de gevel open.", "items": [{"code": "009.300.00", "naam": "Startprofiel Gevelpaneel Aluminium 3000 mm"}, {"code": "014.600.03", "naam": "Z profiel 6000 x 20 x 50 x 30 mm Zwart"}, {"code": "1005.250.03", "naam": "Ventilatiehoek 2500 x 25 x 25 mm Zwart"}, {"code": "1006.250.03", "naam": "Ventilatieprofiel 2500 x 17 x 20 mm Zwart"}]}, {"id": "boeideel", "wereld": "gevel", "titel": "Exterior Line — boeidelen en toebehoren", "uitleg": "Sluit de gevel strak af tot aan de dakgoot.", "items": [{"code": "007.600.04", "naam": "Boeideel 310 mm Antraciet"}, {"code": "007.600.01", "naam": "Boeideel 310 mm Wit"}, {"code": "010.310.04", "naam": "Hoekstuk boeideel 310 mm Antraciet"}, {"code": "011.310.04", "naam": "Verbinding boeideel 310 mm Antraciet"}, {"code": "010.310.01", "naam": "Hoekstuk boeideel 310 mm Wit"}, {"code": "011.310.01", "naam": "Verbinding boeideel 310 mm Wit"}]}]}; /* ============================================================ Aqua Composite bestelformulier — logica (zonder prijzen) ============================================================ */ "use strict"; /* ------------------------------------------------------------ INSTELLINGEN VOORWAARDEN Leveringscondities zoals op de prijslijst (excl. btw). url: link naar de algemene leverings- en verkoopvoorwaarden. Leeg laten ("") toont de tekst zonder link. WPFORMS Koppeling met het WPForms-formulier op dezelfde pagina. formulierId : null = het eerste WPForms-formulier op de pagina, of het nummer van een specifiek formulier. verbergen : true verbergt het WPForms-formulier. velden : leeg = automatische herkenning op label, of handmatig: { naam:1, email:2, onderwerp:3, bericht:4, bedrijf:6, telefoon:7, btw:8, debiteur:9 } Alles komt in elk geval volledig in het berichtveld terecht. Geen WPForms-formulier? Dan valt de tool terug op e-mail. ------------------------------------------------------------ */ var IMG_BASIS = ""; var WPFORMS = { formulierId: null, verbergen: true, velden: {} }; var EMAIL = "info@hbcomposite.com"; var VOORWAARDEN = { franco: 900, // franco orderwaarde, excl. btw url: "https://hbcomposite.com/wp-content/uploads/2026/10/HB_Composite_Algemene_verkoopvoorwaarden_NL_V03082026.pdf" }; var D = DATA; var STAPPEN = ["Start","Toepassing","Serie","Decor","Hoeveelheid","Accessoires","Levering","Overzicht"]; var S = { stap: 1, klanttype: null, // "bestaand" | "nieuw" contact: true, // nieuwe klant wil gecontacteerd worden klantref: "", // ordernummer of referentie van de klant debiteur: "", c: null, regels: [], lev: { wijze:"bezorgen", zelfde:false, adres:"", postcode:"", plaats:"", land:"", contact:"", tel:"", heftruck:"" }, klant: { bedrijf:"", naam:"", btw:"", email:"", tel:"", adres:"", postcode:"", plaats:"", land:"", opm:"", akkoord:false } }; /* ---------------- gegevens onthouden (alleen in de browser van de klant) ---------------- */ var OPSLAG="hbc-bestelformulier-gegevens"; var K_VELDEN=["bedrijf","naam","btw","email","tel","adres","postcode","plaats","land"]; var L_VELDEN=["zelfde","adres","postcode","plaats","land","contact","tel","heftruck","wijze"]; S.onthoud=true; S.opgeslagen=false; function laadGegevens(){ try{ var j=JSON.parse(window.localStorage.getItem(OPSLAG)||"null"); if(!j) return; K_VELDEN.forEach(function(k){ if(j.klant&&j.klant[k]!=null) S.klant[k]=j.klant[k]; }); L_VELDEN.forEach(function(k){ if(j.lev&&j.lev[k]!=null) S.lev[k]=j.lev[k]; }); if(!WIJZE[S.lev.wijze]) S.lev.wijze="bezorgen"; if(j.debiteur) S.debiteur=j.debiteur; if(j.klanttype) S.klanttype=j.klanttype; S.opgeslagen=true; }catch(e){} } function bewaarGegevens(){ try{ if(!S.onthoud){ window.localStorage.removeItem(OPSLAG); S.opgeslagen=false; return; } var j={klant:{},lev:{},debiteur:S.debiteur,klanttype:S.klanttype}; K_VELDEN.forEach(function(k){ j.klant[k]=S.klant[k]; }); L_VELDEN.forEach(function(k){ j.lev[k]=S.lev[k]; }); window.localStorage.setItem(OPSLAG,JSON.stringify(j)); S.opgeslagen=true; }catch(e){} } function wisGegevens(){ try{ window.localStorage.removeItem(OPSLAG); }catch(e){} K_VELDEN.forEach(function(k){ S.klant[k]=""; }); S.lev={ wijze:"bezorgen", zelfde:false, adres:"", postcode:"", plaats:"", land:"", contact:"", tel:"", heftruck:"" }; S.debiteur=""; S.opgeslagen=false; } /* ---------------- hulp ---------------- */ function $(s,r){ return (r||document).querySelector(s); } function el(t,a,k){ var n=document.createElement(t); a=a||{}; for(var p in a){ if(p==="cls") n.className=a[p]; else if(p==="html") n.innerHTML=a[p]; else if(p==="txt") n.textContent=a[p]; else if(p.slice(0,2)==="on") n.addEventListener(p.slice(2),a[p]); else if(a[p]!==null&&a[p]!==undefined&&a[p]!==false) n.setAttribute(p,a[p]); } (k||[]).forEach(function(c){ if(c) n.appendChild(typeof c==="string"?document.createTextNode(c):c); }); return n; } function esc(s){ return String(s==null?"":s).replace(/[&<>"]/g,function(c){ return {"&":"&","<":"<",">":">",'"':"""}[c]; }); } function eurEx(v){ return "€ "+(v%1===0 ? v.toLocaleString("nl-NL")+",-" : v.toLocaleString("nl-NL",{minimumFractionDigits:2}))+" excl. btw"; } function num(v,d){ d=d===undefined?2:d; return v.toLocaleString("nl-NL",{minimumFractionDigits:d,maximumFractionDigits:d}); } function beeld(u){ return u ? (IMG_BASIS ? IMG_BASIS+u.replace(/^https?:\/\/[^/]+/,"") : u) : null; } function groot(i){ return i.sfeer || i.img || null; } function vlakje(cls, url, kl, alt){ var n=el("span",{cls:cls,style:"background:"+(kl||"#b09070")}); if(url){ var g=el("img",{src:beeld(url),alt:alt||"",loading:"lazy",decoding:"async"}); g.addEventListener("error",function(){ g.remove(); }); n.appendChild(g); } return n; } function nieuw(){ return S.klanttype==="nieuw"; } function toonPrijs(){ return true; } function adviesNoot(){ return "De getoonde prijzen zijn adviesverkoopprijzen voor consumenten, inclusief btw ("+PRIJZEN.versie+"). Je inkoopprijzen volgens de geldende prijsafspraken staan op onze tegenbevestiging."; } /* ---------------- adviesprijzen voor consumenten (alleen bij "Ik ben nieuw") ---------------- */ var PRIJZEN = {"versie":"prijslijst 07-2026","franco":500,"levering":75,"p":{"ACF0600":[66.68,29.9],"ACF0605":[66.68,29.9],"ACF0606":[66.68,29.9],"ACF0607":[66.68,29.9],"ACF0608":[66.68,29.9],"ACF0609":[66.68,29.9],"ACF0610":[66.68,29.9],"ACF0611":[66.68,29.9],"ACSF0601":[84.5,37.89],"ACSF0602":[84.5,37.89],"ACSF0603":[84.5,37.89],"ACSF0604":[84.5,37.89],"ACHF0600-A":[76.94,37.9],"ACHF0605-A":[76.94,37.9],"ACHF0606-A":[76.94,37.9],"ACHF0607-A":[76.94,37.9],"ACHF0601":[75.42,41.9],"ACHF0602":[75.42,41.9],"ACHF0603":[75.42,41.9],"ACHF0604":[75.42,41.9],"ACT0100":[80.06,35.9],"ACT0101":[80.06,35.9],"ACT0102":[80.06,35.9],"ACT0103":[80.06,35.9],"ACT0104":[80.06,35.9],"ACT0105":[80.06,35.9],"ACT0106":[80.06,35.9],"ACT0107":[80.06,35.9],"ACT0108":[80.06,35.9],"ACT0112":[80.06,35.9],"ACT0400":[80.06,35.9],"ACT0111":[80.06,35.9],"ACTXL0100":[88.14,39],"ACTXL0101":[88.14,39],"ACTXL0102":[88.14,39],"ACTXL0103":[88.14,39],"ACTXL0104":[88.14,39],"ACTXL0105":[88.14,39],"ACTXL0106":[88.14,39],"ACTXL0107":[88.14,39],"ACTXL0108":[88.14,39],"ACTXL0110":[88.14,39],"ACTXL0112":[88.14,39],"ACTXL0400":[88.14,39],"ACTXL0111":[101.7,45],"ACTXL0113":[101.7,45],"ACTXL0114":[101.7,45],"ACTXL0115":[101.7,45],"ACP0100":[100.2,39.9],"ACP0101":[100.2,39.9],"ACP0102":[100.2,39.9],"ACP0103":[100.2,39.9],"ACP0104":[100.2,39.9],"ACP0105":[100.2,39.9],"ACP0107":[100.2,39.9],"ACP0108":[100.2,39.9],"ACP0110":[100.2,39.9],"ACP0112":[100.2,39.9],"ACP0400":[100.2,39.9],"ACP0600":[100.2,39.9],"ACP0605":[100.2,39.9],"ACP0606":[100.2,39.9],"ACP0111":[115.27,45.9],"ACP0113":[115.27,45.9],"ACP0114":[115.27,45.9],"ACP0402":[115.27,45.9],"ACP0403":[115.27,45.9],"ACP0404":[115.27,45.9],"ACCP0101":[93.36,39.9],"ACCP0110":[93.36,39.9],"ACCP0112":[93.36,39.9],"ACCP0400":[93.36,39.9],"ACCP0606":[93.36,39.9],"ACCP0113":[107.4,45.9],"ACCP0402":[107.4,45.9],"ACCP0404":[107.4,45.9],"HBC0.20.01.01.01":[728.2,145],"HBC0.20.01.01.02":[1092.44,145],"HBC0.20.01.02.01":[728.2,145],"HBC0.20.01.02.02":[1092.44,145],"HBC0.20.01.03.01":[728.2,145],"HBC0.20.01.03.02":[1092.44,145],"HBC0.20.01.04.01":[728.2,145],"HBC0.20.01.04.02":[1092.44,145],"HBC0.20.01.05.01":[728.2,145],"HBC0.20.01.05.02":[1092.44,145],"HBC0.20.01.07.01":[728.2,145],"HBC0.20.01.07.02":[1092.44,145],"HBC0.20.01.08.01":[728.2,145],"HBC0.20.01.08.02":[1092.44,145],"HBC0.20.01.09.01":[728.2,145],"HBC0.20.01.09.02":[1092.44,145],"HBC0.20.02.02.01":[728.2,145],"HBC0.20.02.02.02":[1092.44,145],"HBC0.20.02.03.01":[728.2,145],"HBC0.20.02.03.02":[1092.44,145],"HBC0.20.02.04.01":[728.2,145],"HBC0.20.02.04.02":[1092.44,145],"HBC0.20.02.05.01":[728.2,145],"HBC0.20.02.05.02":[1092.44,145],"QD01.3.003.01":[364.1,145],"QD01.3.038.01":[364.1,145],"QD01.3.039.01":[364.1,145],"QD02.2.017.01":[364.1,145],"QD04.4.017.01":[364.1,145],"ACB0101":[135.5,53.9],"ACB0102":[135.5,53.9],"ACB0105":[135.5,53.9],"ACB0112":[135.5,53.9],"ACB0400":[135.5,53.9],"ACB0606":[135.5,53.9],"ACB0113":[150.58,59.9],"ACB0114":[150.58,59.9],"ACWS0100":[121,121],"ACWS0101":[121,121],"ACWS0102":[121,121],"ACWS0107":[121,121],"ACWS0400":[121,121],"ACWS0404":[121,121],"ACWS0600":[121,121],"ACWS0605":[121,121],"ACWS0606":[121,121],"019.600.02":[515.75,95.51],"019.600.03":[515.75,95.51],"019.600.04":[515.75,95.51],"019.600.12":[515.75,95.51],"018.600.05 DUO":[573.05,95.51],"018.600.06 DUO":[573.05,95.51],"018.600.09 DUO":[573.05,95.51],"018.600.17 DUO":[573.05,95.51],"018.600.20 DUO":[573.05,95.51]},"a":{"OVSPC001":100.8,"OVSPC002":78.7,"ACHPL0029":13.75,"ACHPL5000":98.94,"WSS0100":10.9,"WSS0101":10.9,"WSS0102":10.9,"WSS0107":10.9,"WSS0400":10.9,"WSS0404":10.9,"WSS0600":10.9,"WSS0605":10.9,"WSS0606":10.9,"EBIHP001":11.88,"EBIHP002":11.88,"EBIHP003":11.88,"EBIHP004":12.48,"TBIHP001":17.3,"TBIHP002":17.3,"TBIHP003":17.3,"TBIHP004":22.4,"EBUHP001":11.88,"EBUHP002":11.88,"EBUHP003":11.88,"EBUHP004":12.48,"EUP001":9,"EUP002":9,"EUP003":9,"EUP004":9.98,"ABIP001":14.95,"ABIP002":14.95,"ABIP003":14.95,"ABIP004":14.95,"ABULP001":12.5,"ABULP002":12.5,"ABULP003":12.5,"ABULP004":12.5,"ABUSP001":9.95,"ABUSP002":9.95,"ABUSP003":9.95,"ABUSP004":9.95,"ASP001":12.5,"ASP002":12.5,"ASP003":12.5,"ASP004":12.5,"025.600.02":230.04,"025.600.03":230.04,"025.600.04":230.04,"025.600.12":230.04,"025.600.05":230.04,"025.600.06":230.04,"025.600.09":230.04,"025.600.17":230.04,"025.600.20":230.04,"023.600.02":153.36,"023.600.03":153.36,"023.600.04":153.36,"023.600.12":153.36,"023.600.05":153.36,"023.600.06":153.36,"023.600.09":153.36,"023.600.17":153.36,"023.600.20":153.36,"024.600.02":153.36,"024.600.03":153.36,"024.600.04":153.36,"024.600.12":153.36,"024.600.05":153.36,"024.600.06":153.36,"024.600.09":153.36,"024.600.17":153.36,"024.600.20":153.36,"021.600.02":74.63,"021.600.03":74.63,"021.600.04":74.63,"021.600.12":74.63,"021.600.05":74.63,"021.600.06":74.63,"021.600.09":74.63,"021.600.17":74.63,"021.600.20":74.63,"009.300.00":26.46,"014.600.03":52.38,"1005.250.03":20.07,"1006.250.03":52.07,"007.600.04":238.03,"007.600.01":190.4,"010.310.04":21.08,"011.310.04":15.25,"010.310.01":21.08,"011.310.01":15.25}}; function eur(v){ return "€ "+v.toLocaleString("nl-NL",{minimumFractionDigits:2,maximumFractionDigits:2}); } function prijsEenheid(code){ var p=PRIJZEN.p[code]; if(p) return p[0]; return PRIJZEN.a[code]!=null ? PRIJZEN.a[code] : null; } function prijsM2(code){ var p=PRIJZEN.p[code]; return p ? p[1] : null; } function regelPrijs(r){ var e=prijsEenheid(r.code); return e==null ? null : Math.round(e*r.aantal*100)/100; } function prijsTxt(r){ var t=regelPrijs(r); return t==null ? "op aanvraag" : eur(t); } function totalen(){ var sub=0, onbekend=false; S.regels.forEach(function(r){ var t=regelPrijs(r); if(t==null) onbekend=true; else sub+=t; }); var lev = 0; return { sub:sub, lev:lev, tot:sub+lev, onbekend:onbekend }; } function levTxt(T){ if(nieuw()) return "via de dealer"; return S.lev.wijze === "afhalen" ? "afhalen (kosteloos)" : "volgens prijsafspraak"; } function prijsNoot(){ return "Adviesprijzen voor consumenten, inclusief btw ("+PRIJZEN.versie+"). HB Composite levert niet rechtstreeks aan particulieren: je aanvraag gaat naar een HB Composite-dealer bij je in de buurt. De dealer neemt contact met je op over de levering. De definitieve prijs ontvang je van de dealer."; } function voorwaardenLink(tekst){ return VOORWAARDEN.url ? ''+tekst+'' : tekst; } function conditiesHtml(){ return "Op al onze leveringen zijn onze "+voorwaardenLink("algemene leverings- en verkoopvoorwaarden")+ " van toepassing."; } var WIJZE = { bezorgen:"Bezorgen", afhalen:"Zelf afhalen" }; /* ---------------- toepassingen ---------------- */ var TOEP = [ { id:"vloer", naam:"Vloer", wereld:"spc", d:"Plank, visgraat of tegels — zwevend of volvlaks verlijmd.", ic:'' }, { id:"wand", naam:"Wand", wereld:"spc", d:"Panelen, boards, tegels en digitale printwanden. 100% waterdicht.", ic:'' }, { id:"vensterbank", naam:"Vensterbank", wereld:"spc", d:"5 mm dik, rechtstreeks over de bestaande vensterbank.", ic:'' }, { id:"gevel", naam:"Gevelbekleding", wereld:"gevel", d:"Exterior Line: kunststof gevelpanelen van 6 meter.", ic:'' }, { id:"accessoire", naam:"Alleen accessoires", wereld:null, d:"Lijm, profielen, kantenband en ondervloeren uit het hele assortiment.", ic:'' } ]; function wereldVan(r){ return r.fam==="gevel" ? "gevel" : "spc"; } function wereldInMand(){ for(var i=0;i0){ r.direct = true; r.pakken = Math.max(s.minpak||1, c.pakken|0); r.geleverd = r.pakken * s.m2pak; r.eenheid = r.pakken===1 ? "pak" : "pakken"; } else { var nodig = c.m2 * (1 + c.verlies/100); r.nodig = nodig; r.pakken = Math.max(s.minpak||1, Math.ceil((nodig - 1e-9) / s.m2pak)); r.geleverd = r.pakken * s.m2pak; r.eenheid = r.pakken===1 ? "pak" : "pakken"; } return r; } function m2InMand(fam){ return S.regels.reduce(function(a,r){ return a+((r.soort==="product"&&r.fam===fam&&r.geleverd)?r.geleverd:0); },0); } function stuksInMand(fam){ return S.regels.reduce(function(a,r){ return a+((r.fam===fam&&r.stuks)?r.stuks:0); },0); } function hoeveelheid(r){ if(r.soort!=="product") return ""; if(r.stuks!=null) return num(r.stuks*2.9)+" m totale lengte"; if(r.direct) return num(r.geleverd)+" m² (rechtstreeks "+r.aantal+" "+r.eenheid+")"; if(r.m2!=null) return num(r.m2)+" m² netto + "+r.verlies+"% snijverlies → "+num(r.geleverd)+" m² geleverd"; return num(r.geleverd)+" m² paneeloppervlak"; } /* ---------------- stappenbalk ---------------- */ function tekenStappen(){ var n=$("#stappen"); n.innerHTML=""; var prod=productRegels(); STAPPEN.forEach(function(t,i){ var k=i+1, cls = k===S.stap ? "nu" : (k=6 || S.c || prod.length); n.appendChild(el("button",{ cls:cls, disabled:!kan, onclick:function(){ if(!kan) return; if(k>=3 && k<=5 && !S.c) naarBewerken(prod[prod.length-1], k); else ga(k); } }, [ el("span",{cls:"n",txt:k=6?S.stap:8) }; S.c={ toep:r.fam, serie:s, item:item, decor:item.decor, m2:(r.m2!=null?r.m2:20), verlies:(r.verlies!=null?r.verlies:s.verlies), pakken:(r.direct?r.aantal:null), stuks:(r.stuks||2), sets:(s.perset?r.aantal:1), leg:(r.leg||"zwevend") }; ga(stap||5); } function stopBewerken(){ S.bewerk=null; S.c=null; } function nav(terug,vooruit,vLabel,tLabel){ return el("div",{cls:"ac-nav"},[ terug ? el("button",{cls:"knop leeg",onclick:terug},[tLabel||"← Vorige stap"]) : el("span"), vooruit ? el("button",{cls:"knop",onclick:vooruit},[vLabel||"Volgende stap →"]) : el("span") ]); } function melding(p,t,goed){ var oud=$(".melding.tmp",p); if(oud) oud.remove(); p.appendChild(el("div",{cls:"melding tmp"+(goed?" goed":""),html:t})); } function veld(label,waarde,zet,opt){ opt=opt||{}; var f=el("div",{cls:"veld"},[el("label",{txt:label})]); var inp=el("input",{type:opt.type||"text",value:waarde||"",placeholder:opt.ph||null, autocomplete:opt.ac||"on"}); inp.addEventListener("input",function(){ zet(inp.value); }); f.appendChild(inp); return f; } function rijVan(velden){ var r=el("div",{cls:"rij",style:"margin-top:12px"}); velden.forEach(function(v){ r.appendChild(v); }); return r; } function vinkje(tekst,aan,zet){ var l=el("label",{cls:"akkoord"}); var cb=el("input",{type:"checkbox"}); cb.checked=!!aan; cb.addEventListener("change",function(){ zet(cb.checked); }); l.appendChild(cb); l.appendChild(el("span",{html:tekst})); return l; } /* ============================================================ STAP 1 — start: klanttype, referentie, debiteurennummer ============================================================ */ function stap1(p){ if(S.bewerk) stopBewerken(); p.appendChild(el("h2",{txt:"Welkom bij het Aqua Composite bestelformulier"})); p.appendChild(el("p",{cls:"sub",txt:"Ben je dealer van HB Composite, dan plaats je hier rechtstreeks je bestelling. Alle getoonde prijzen zijn adviesverkoopprijzen voor consumenten, inclusief btw. "+ "Particulier? Maak hier je eigen offerte: je verstuurt een vrijblijvende aanvraag die naar een dealer bij je in de buurt gaat."})); var g=el("div",{cls:"kaarten"}); [["bestaand","Ik ben dealer van HB Composite","Bestelling plaatsen. Je ontvangt van ons een tegenbevestiging met je inkoopprijzen.", ''], ["nieuw","Maak hier je eigen offerte","Vrijblijvend, met adviesverkoopprijzen incl. btw. Er wordt geen bestelling geplaatst; je aanvraag gaat naar een dealer bij je in de buurt.", ''] ].forEach(function(o){ g.appendChild(el("button",{cls:"kaart","aria-pressed":S.klanttype===o[0]?"true":"false", onclick:function(){ S.klanttype=o[0]; teken(); }},[ el("span",{cls:"ic",html:''+o[3]+''}), el("span",{cls:"t",txt:o[1]}), el("span",{cls:"d",txt:o[2]}) ])); }); p.appendChild(g); if(S.klanttype){ p.appendChild(el("h3",{cls:"kopje",txt:"Referentie"})); var velden=[ veld("Je ordernummer of referentie",S.klantref,function(v){ S.klantref=v; }, {ph:"bijv. inkoopordernummer, projectnaam of klantnaam"}) ]; if(!nieuw()) velden.push(veld("Debiteurennummer (optioneel)",S.debiteur,function(v){ S.debiteur=v; }, {ph:"staat op je factuur"})); p.appendChild(rijVan(velden)); p.appendChild(el("div",{cls:"hint",style:"margin-top:7px", txt:"Deze referentie vermelden wij op de orderbevestiging, de pakbon en de factuur."})); if(nieuw()) p.appendChild(vinkje("Ja, neem na mijn aanvraag contact met mij op.",S.contact,function(v){ S.contact=v; })); } var fout=el("div"); p.appendChild(fout); p.appendChild(nav(null,function(){ if(!S.klanttype){ fout.innerHTML='
Kies eerst of je klant bent of de tool wilt proberen.
'; return; } ga(2); })); } /* ============================================================ STAP 2 — toepassing ============================================================ */ function stap2(p){ p.appendChild(el("h2",{txt:"Waarvoor zoek je materiaal?"})); p.appendChild(el("p",{cls:"sub",txt:"Kies de toepassing. Je kunt meerdere producten in één bestelling combineren."})); var inMand=wereldInMand(); var g=el("div",{cls:"kaarten"}); TOEP.forEach(function(t){ var blok = t.wereld && inMand && t.wereld!==inMand; g.appendChild(el("button",{ cls:"kaart"+(blok?" uit":""), "aria-pressed": S.c&&S.c.toep===t.id ? "true":"false", onclick:function(){ if(blok){ melding(p,"Exterior Line gevelbekleding en de Aqua Composite SPC-producten kunnen "+ "niet in één levering worden gecombineerd. Rond deze bestelling af en plaats voor het andere een aparte bestelling."); return; } if(t.id==="accessoire"){ S.c=null; ga(6); return; } S.c={toep:t.id, serie:null, item:null, decor:null, m2:20, verlies:5, pakken:null, stuks:2, sets:1, leg:"zwevend"}; ga(3); } },[ el("span",{cls:"ic",html:''+t.ic+''}), el("span",{cls:"t",txt:t.naam}), el("span",{cls:"d",txt:blok ? "Niet te combineren met wat al in je selectie staat." : t.d}) ])); }); p.appendChild(g); p.appendChild(nav( function(){ stopBewerken(); ga(1); }, S.regels.length ? function(){ stopBewerken(); ga(7); } : null, "Door naar levering →")); } /* ============================================================ STAP 3 — serie ============================================================ */ function stap3(p){ if(!S.c){ S.stap=2; return stap2(p); } var lijst=D.series.filter(function(s){ return s.toep.indexOf(S.c.toep)>=0; }); p.appendChild(el("h2",{txt:"Kies een serie"})); p.appendChild(el("p",{cls:"sub",txt:lijst.length+" series geschikt voor "+ ({vloer:"vloeren",wand:"wanden",vensterbank:"vensterbanken",gevel:"gevels"})[S.c.toep]+"."})); var g=el("div",{cls:"kaarten"}); lijst.forEach(function(s){ var n=decorsVan(s).length; g.appendChild(el("button",{cls:"kaart","aria-pressed":S.c.serie&&S.c.serie.id===s.id?"true":"false", onclick:function(){ S.c.serie=s; S.c.item=null; S.c.decor=null; S.c.verlies=s.verlies; S.c.pakken=null; ga(4); }},[ el("span",{cls:"t",txt:s.naam}), el("span",{cls:"d",txt:s.intro}), el("span",{cls:"d",txt:s.afm ? ("Formaat "+s.afm+(s.m2pak?" · "+num(s.m2pak)+" m² per pak":"")) : ""}), el("span",{cls:"p",txt:n+" decors"+(s.perstuk?" · per stuk":s.perset?" · per wandbeeld":"")+ (toonPrijs() ? (function(){ var m=Math.min.apply(null,s.items.map(function(i){ var x=prijsM2(i.code); return x==null?Infinity:x; })); return isFinite(m) ? " · vanaf "+eur(m)+(s.perstuk?" per stuk":" per m²") : ""; })() : "")}) ])); }); p.appendChild(g); p.appendChild(nav(function(){ ga(2); },null)); } /* ============================================================ STAP 4 — decor ============================================================ */ function decorsVan(s){ var uit=[], gez={}; s.items.forEach(function(i){ if(!gez[i.decor]){ gez[i.decor]=1; uit.push(i); } }); return uit; } function variantenVan(s,decor){ return s.items.filter(function(i){ return i.decor===decor; }); } function stap4(p){ if(!S.c || !S.c.serie){ S.stap=2; return stap2(p); } var s=S.c.serie, lijst=decorsVan(s); p.appendChild(el("h2",{txt:"Kies je decor"})); p.appendChild(el("p",{cls:"sub",txt:s.naam+" — "+lijst.length+" decors. De afbeelding toont het decor; "+ "vraag bij twijfel een staal aan."})); if(s.specs.length) p.appendChild(el("div",{cls:"melding goed",html:""+s.naam+" — "+s.specs.join(" · ")})); var g=el("div",{cls:"decors"}); lijst.forEach(function(i){ var vs=variantenVan(s,i.decor); g.appendChild(el("button",{cls:"decor","aria-pressed":S.c.decor===i.decor?"true":"false", onclick:function(){ S.c.decor=i.decor; S.c.item=i; ga(5); }},[ vlakje("staal", i.img, i.kl, i.decor), el("span",{cls:"nm",txt:i.decor}), el("span",{cls:"mt",txt: vs.length>1 ? vs.length+" formaten" : i.code}), toonPrijs() && prijsM2(i.code)!=null ? el("span",{cls:"pr",txt:eur(prijsM2(i.code))+(s.perstuk?" per stuk":" per m²")}) : null ])); }); p.appendChild(g); p.appendChild(nav(function(){ ga(3); },null)); } /* ============================================================ STAP 5 — hoeveelheid ============================================================ */ /* ---------------- AI-render van het gekozen decor (via plugin Ruimteplanner AI-render) ---------------- */ var AI_RENDER_URL = "/wp-json/ruimteplanner/v1/render"; function aiRenderBlok(c){ var item = c && c.item; if(!item || !item.img) return document.createElement("span"); var toep = (c.toep || (S.c && S.c.toep) || "wand"); var SCENE = { wand: "a modern, bright bathroom with a walk-in shower and a floating vanity; the walls are clad with large-format wall panels", vloer: "a modern, bright living room with a sofa and large windows; the floor is laid with planks/tiles", vensterbank: "a bright living room corner with a large window; the window sill is", gevel: "the exterior of a modern detached house in daylight; the facade is clad with horizontal cladding boards" }; var scene = SCENE[toep] || SCENE.wand; var box = document.createElement("div"); box.style.cssText = "margin:18px 0;padding:16px;border:1px solid rgba(72,155,170,.35);border-radius:10px;background:rgba(72,155,170,.06)"; var btn = document.createElement("button"); btn.type = "button"; btn.className = "knop"; btn.textContent = "Bekijk dit decor in een AI-render"; btn.style.cssText = "background:#489baa;color:#fff;border:0;border-radius:6px;padding:10px 16px;font-weight:600;cursor:pointer"; var st = document.createElement("p"); st.className = "sub"; st.style.margin = "10px 0 0"; st.textContent = "Een fotorealistisch voorbeeld van " + item.decor + ", gemaakt door AI. Dit duurt meestal 30 tot 90 seconden."; var img = document.createElement("img"); img.alt = "AI-render " + item.decor; img.hidden = true; img.style.cssText = "display:block;width:100%;height:auto;border-radius:8px;margin-top:12px"; var dl = document.createElement("a"); dl.textContent = "Download render"; dl.hidden = true; dl.className = "knop"; dl.style.cssText = "display:inline-block;margin-top:10px;background:#fff;color:#489baa;border:2px solid #489baa;border-radius:6px;padding:8px 14px;font-weight:600;text-decoration:none"; var noot = document.createElement("p"); noot.hidden = true; noot.style.cssText = "font-size:12px;opacity:.7;margin:6px 0 0"; noot.textContent = "AI-impressie: kleur, patroon en maatvoering kunnen afwijken van het echte product. Vraag een staal aan voor de juiste kleur."; box.appendChild(btn); box.appendChild(st); box.appendChild(img); box.appendChild(dl); box.appendChild(noot); function naarData(url){ return fetch(url).then(function(r){ if(!r.ok) throw new Error("beeld"); return r.blob(); }).then(function(b){ return new Promise(function(ok,nok){ var fr = new FileReader(); fr.onload = function(){ ok(fr.result); }; fr.onerror = nok; fr.readAsDataURL(b); }); }); } btn.onclick = function(){ var basis = beeld(groot(item)); var prompt = "Create a new photorealistic photograph of " + scene + " in the decor '" + item.decor + "' (texture reference: image 2), matching its colour, pattern and finish exactly at a realistic scale. Use image 1 only as a loose guide for style and lighting. High-end architectural photography, natural daylight, no text, no logos, no people."; btn.disabled = true; var sec = 0; st.textContent = "De AI maakt je render…"; var tick = setInterval(function(){ sec++; st.textContent = "De AI maakt je render… " + sec + " s"; }, 1000); naarData(basis).then(function(snap){ return fetch(AI_RENDER_URL, { method:"POST", headers:{"Content-Type":"application/json"}, body: JSON.stringify({ image: snap, prompt: prompt, refs: [item.img] }) }); }).then(function(res){ return res.json().catch(function(){ return null; }).then(function(d){ if(!res.ok || !d || !d.image) throw new Error((d && d.error) || "De AI-render is niet gelukt. Probeer het opnieuw."); return d; }); }) .then(function(d){ img.src = d.image; img.hidden = false; noot.hidden = false; var naam = "HB-Composite-" + String(item.decor).replace(/[^A-Za-z0-9]+/g,"-") + "-AI-render.png"; if(/^data:/.test(d.image)){ dl.href = d.image; dl.download = naam; dl.hidden = false; } else { fetch(d.image).then(function(r){ return r.blob(); }).then(function(b){ dl.href = URL.createObjectURL(b); dl.download = naam; dl.hidden = false; }).catch(function(){ dl.href = d.image; dl.target = "_blank"; dl.hidden = false; }); } st.textContent = (d.remaining != null) ? ("Klaar. Je kunt vandaag nog " + d.remaining + " render" + (d.remaining === 1 ? "" : "s") + " maken.") : "Klaar."; btn.textContent = "Nieuwe render maken"; }).catch(function(err){ st.textContent = (err && err.message && !/Failed to fetch|NetworkError|Load failed/i.test(err.message)) ? err.message : "De AI-render is op dit moment niet beschikbaar."; }) .then(function(){ clearInterval(tick); btn.disabled = false; }); }; return box; } function stap5(p){ if(!S.c || !S.c.serie || !S.c.item){ S.stap=2; return stap2(p); } var s=S.c.serie, c=S.c; p.appendChild(el("h2",{txt:"Hoeveel heb je nodig?"})); var kop=el("figure",{cls:"hero"}); function tekenKop(){ kop.innerHTML=""; kop.appendChild(vlakje("beeld", groot(c.item), c.item.kl, c.item.decor+" — "+s.naam)); kop.appendChild(el("figcaption",{},[ vlakje("staalmini", c.item.img, c.item.kl, c.item.decor), el("span",{cls:"tekst"},[ el("b",{txt:c.item.decor}), el("br"), el("small",{txt:s.naam+" · "+c.item.code+(c.item.variant?" · "+c.item.variant:"")+(s.perstuk ? " · per stuk" : s.perset ? " · wandbeeld van "+num(c.item.m2)+" m²" : " · pak van "+num(s.m2pak)+" m²")}) ]), el("button",{cls:"wijzig",txt:"ander decor",onclick:function(){ ga(4); }}) ])); if(!groot(c.item)) kop.appendChild(el("span",{cls:"geenfoto",txt:"Kleurweergave bij benadering — vraag een staal aan"})); else if(!c.item.sfeer) kop.appendChild(el("span",{cls:"geenfoto",txt:"Decorstaal"})); } tekenKop(); p.appendChild(kop); p.appendChild(aiRenderBlok(c)); var uit=el("div",{cls:"uitkomst"}); function herbereken(){ var r=berekenProduct(c); uit.innerHTML=""; function reg(a,b){ uit.appendChild(el("div",{cls:"reg"},[el("span",{txt:a}),el("span",{txt:b})])); } if(s.perstuk){ uit.appendChild(el("div",{cls:"groot",txt:r.stuks+" "+r.eenheid})); reg("Totale lengte",num(r.stuks*2.9)+" m"); } else if(s.perset){ uit.appendChild(el("div",{cls:"groot",txt:r.sets+" "+r.eenheid})); reg("Dekkende printbreedte",num(r.breedte,1)+" cm"); reg("Paneeloppervlak",num(r.geleverd)+" m²"); } else if(r.direct){ uit.appendChild(el("div",{cls:"groot",txt:r.pakken+" "+r.eenheid})); reg("Ingevoerd als aantal pakken",""); reg("Geleverd ("+r.pakken+" × "+num(s.m2pak)+" m²)",num(r.geleverd)+" m²"); } else { uit.appendChild(el("div",{cls:"groot",txt:r.pakken+" "+r.eenheid})); reg("Netto oppervlak",num(c.m2)+" m²"); reg("Inclusief "+c.verlies+"% snijverlies",num(r.nodig)+" m²"); reg("Geleverd ("+r.pakken+" × "+num(s.m2pak)+" m²)",num(r.geleverd)+" m²"); } if(toonPrijs()){ var pe=prijsEenheid(c.item.code); if(pe!=null){ var nn=s.perstuk?r.stuks:(s.perset?r.sets:r.pakken); reg("Adviesprijs per "+(s.perstuk?"stuk":s.perset?"wandbeeld":"pak")+" incl. btw",eur(pe)); uit.appendChild(el("div",{cls:"reg",style:"font-weight:700;border-top:1px solid #cfe4e8;margin-top:6px;padding-top:6px"}, [el("span",{txt:"Totaal incl. btw"}),el("span",{txt:eur(pe*nn)})])); } } if(s.minpak>1) uit.appendChild(el("div",{cls:"hint",style:"margin-top:7px",txt:"Minimale afname: "+s.minpak+" pakken."})); } var vs=variantenVan(s,c.decor); if(vs.length>1){ p.appendChild(el("div",{cls:"veld"},[el("label",{txt:"Formaat"})])); var cv=el("div",{cls:"chips"}); vs.forEach(function(v){ var b=el("button",{cls:"chip","aria-pressed":c.item.code===v.code?"true":"false", txt:(v.variant||v.code)+(v.panelen?" · "+v.panelen+" panelen":""), onclick:function(){ c.item=v; Array.prototype.forEach.call(cv.children,function(x){x.setAttribute("aria-pressed","false");}); b.setAttribute("aria-pressed","true"); tekenKop(); herbereken(); }}); cv.appendChild(b); }); p.appendChild(cv); p.appendChild(el("div",{cls:"hint",style:"margin:7px 0 4px", txt:"Het wandbeeld wordt als één doorlopende print geleverd; kies de breedte die het dichtst bij je wand ligt."})); } p.appendChild(el("p",{cls:"sub",style:"margin:16px 0 10px",txt: s.perstuk ? "Vensterbanken worden per stuk geleverd, elk 290 cm lang." : s.perset ? "Geef aan hoeveel wandbeelden je nodig hebt." : "Vul het aantal pakken in, of het netto oppervlak: dan rekenen wij het om naar hele pakken."})); var rij=el("div",{cls:"rij"}); if(s.perstuk){ var vst=el("div",{cls:"veld"},[el("label",{txt:"Aantal stuks"})]); var ist=el("input",{type:"number",min:"1",step:"1",value:String(c.stuks)}); ist.addEventListener("input",function(){ c.stuks=Math.max(1,parseInt(ist.value||"1",10)); herbereken(); }); vst.appendChild(ist); rij.appendChild(vst); var vl=el("div",{cls:"veld"},[el("label",{txt:"of totale lengte (cm)"})]); var il=el("input",{type:"number",min:"0",step:"10",placeholder:"bijv. 480"}); il.addEventListener("input",function(){ var L=parseFloat(il.value||"0"); if(L>0){ c.stuks=Math.max(1,Math.ceil(L/290)); ist.value=String(c.stuks); herbereken(); } }); vl.appendChild(il); rij.appendChild(vl); } else if(s.perset){ var vse=el("div",{cls:"veld"},[el("label",{txt:"Aantal wandbeelden"})]); var ise=el("input",{type:"number",min:"1",step:"1",value:String(c.sets)}); ise.addEventListener("input",function(){ c.sets=Math.max(1,parseInt(ise.value||"1",10)); herbereken(); }); vse.appendChild(ise); rij.appendChild(vse); } else { var vm=el("div",{cls:"veld"},[el("label",{txt:"of oppervlak in m²"})]); var im=el("input",{type:"number",min:"0.1",step:"0.1",value:c.pakken>0?"":String(c.m2)}); var vb=el("div",{cls:"veld"},[el("label",{txt:"of lengte × breedte (m)"})]); var wrap=el("div",{style:"display:flex;gap:8px"}); var a1=el("input",{type:"number",min:"0",step:"0.1",placeholder:"lengte"}); var a2=el("input",{type:"number",min:"0",step:"0.1",placeholder:"breedte"}); var vp=el("div",{cls:"veld"},[el("label",{txt:"Aantal pakken"})]); var ip=el("input",{type:"number",min:String(s.minpak||1),step:"1",placeholder:"bijv. 12", value:c.pakken>0?String(c.pakken):""}); function viaM2(){ c.pakken=null; ip.value=""; } im.addEventListener("input",function(){ c.m2=Math.max(0,parseFloat(im.value||"0")); viaM2(); herbereken(); }); function uitAfm(){ var x=parseFloat(a1.value||"0"), y=parseFloat(a2.value||"0"); if(x>0&&y>0){ c.m2=Math.round(x*y*100)/100; im.value=String(c.m2); viaM2(); herbereken(); } } a1.addEventListener("input",uitAfm); a2.addEventListener("input",uitAfm); ip.addEventListener("input",function(){ var v=parseInt(ip.value||"0",10); if(v>0){ c.pakken=v; im.value=""; a1.value=""; a2.value=""; } else { c.pakken=null; if(!im.value) im.value=String(c.m2); } herbereken(); }); vp.appendChild(ip); rij.appendChild(vp); vm.appendChild(im); rij.appendChild(vm); wrap.appendChild(a1); wrap.appendChild(a2); vb.appendChild(wrap); rij.appendChild(vb); } p.appendChild(rij); if(!s.perstuk && !s.perset){ p.appendChild(el("div",{cls:"veld",style:"margin-top:16px"},[el("label",{txt:"Snijverlies (bij invoer in m²)"})])); var ch=el("div",{cls:"chips"}); [0,5,10,15].forEach(function(v){ var b=el("button",{cls:"chip","aria-pressed":c.verlies===v?"true":"false",txt:v+"%",onclick:function(){ c.verlies=v; Array.prototype.forEach.call(ch.children,function(x){x.setAttribute("aria-pressed","false");}); b.setAttribute("aria-pressed","true"); herbereken(); }}); ch.appendChild(b); }); p.appendChild(ch); p.appendChild(el("div",{cls:"hint",style:"margin-top:7px", txt: s.verlies>=10 ? "Voor een visgraatpatroon adviseren wij 10% of meer; bij veel hoeken en nissen 15%." : "5% volstaat bij een rechthoekige ruimte. Kies 10% bij veel hoeken, nissen of diagonaal leggen."})); } if(c.toep==="vloer") kiesLeg(p,c,[["zwevend","Zwevend op ondervloer"],["verlijmd","Volvlaks verlijmd"], ["weet-niet","Weet ik nog niet"]],"Hoe leg je de vloer?","Bepaalt welke ondervloer of lijm wij voorstellen."); if(c.toep==="wand") kiesLeg(p,c,[["koker","Verlijmen met kokers"],["emmer","Volvlaks met lijmkam"], ["schroef","Schroeven op regelwerk"]],"Hoe bevestig je?","Bepaalt hoeveel lijm wij voorstellen."); p.appendChild(uit); herbereken(); var bewaar=function(){ var r=berekenProduct(c); var regel={ soort:"product", fam:c.toep, serie:s.naam, serieId:s.id, decor:c.item.decor, code:c.item.code, variant:c.item.variant||null, img:c.item.img||null, sfeer:c.item.sfeer||null, kl:c.item.kl||null, url:c.item.url||null, leg:c.leg, direct:!!r.direct, m2: (s.perstuk||s.perset||r.direct)?null:c.m2, verlies:c.verlies, aantal: s.perstuk?r.stuks:(s.perset?r.sets:r.pakken), eenheid:r.eenheid, geleverd: s.perstuk?null:r.geleverd, stuks: s.perstuk?r.stuks:null }; if(S.bewerk){ var terug=S.bewerk.terug; S.regels[S.bewerk.ix]=regel; stopBewerken(); ga(terug); } else { S.regels.push(regel); S.c=null; ga(6); } }; p.appendChild(el("div",{cls:"ac-nav"},[ el("button",{cls:"knop leeg",onclick:function(){ ga(4); }},["← Vorige stap"]), el("div",{cls:"navrechts"},[ S.bewerk ? el("button",{cls:"knop leeg",onclick:function(){ var terug=S.bewerk.terug; stopBewerken(); ga(terug); }},["Annuleren"]) : null, el("button",{cls:"knop",onclick:bewaar}, [S.bewerk ? "Wijziging opslaan →" : "Toevoegen en verder →"]) ]) ])); } function kiesLeg(p,c,opties,titel,hint){ p.appendChild(el("div",{cls:"veld",style:"margin-top:18px"},[el("label",{txt:titel})])); var cl=el("div",{cls:"chips"}); if(!opties.some(function(o){return o[0]===c.leg;})) c.leg=opties[0][0]; opties.forEach(function(o){ var b=el("button",{cls:"chip","aria-pressed":c.leg===o[0]?"true":"false",txt:o[1],onclick:function(){ c.leg=o[0]; Array.prototype.forEach.call(cl.children,function(x){x.setAttribute("aria-pressed","false");}); b.setAttribute("aria-pressed","true"); }}); cl.appendChild(b); }); p.appendChild(cl); p.appendChild(el("div",{cls:"hint",style:"margin-top:7px",txt:hint})); } /* ============================================================ STAP 6 — accessoires ============================================================ */ function accRij(o,groep){ var huidig = S.regels.filter(function(r){ return r.soort==="acc" && r.code===o.code; })[0]; var rij=el("div",{cls:"accrij"}); rij.appendChild(el("div",{cls:"nm"},[ o.naam, el("small",{txt:o.code+(o.sub?" · "+o.sub:"")}) ])); if(o.tip) rij.appendChild(el("span",{cls:"tip",txt:o.tip})); if(toonPrijs() && PRIJZEN.a[o.code]!=null) rij.appendChild(el("span",{cls:"pr",txt:eur(PRIJZEN.a[o.code])+" per stuk"})); var inp=el("input",{type:"number",min:"0",step:"1",value:String(huidig?huidig.aantal:0)}); function zet(v){ v=Math.max(0,v); inp.value=String(v); var voor=wereldInMand(); S.regels=S.regels.filter(function(r){ return !(r.soort==="acc"&&r.code===o.code); }); if(v>0) S.regels.push({soort:"acc",fam:groep.wereld==="gevel"?"gevel":"acc",code:o.code,naam:o.naam, aantal:v,eenheid:v===1?"stuk":"stuks"}); if(voor!==wereldInMand()){ teken(); return; } tekenZij(); } rij.appendChild(el("div",{cls:"aantal"},[ el("button",{txt:"−","aria-label":"minder",onclick:function(){ zet((parseInt(inp.value,10)||0)-1); }}), inp, el("button",{txt:"+","aria-label":"meer",onclick:function(){ zet((parseInt(inp.value,10)||0)+1); }}) ])); inp.addEventListener("change",function(){ zet(parseInt(inp.value,10)||0); }); return rij; } function accBlok(groep,open,advies){ var n=groep.items.filter(function(i){ return S.regels.some(function(r){ return r.soort==="acc"&&r.code===i.code; }); }).length; var d=el("details",{cls:"accgroep",open:(open||n>0)?"":null}); d.appendChild(el("summary",{},[ groep.titel, el("span",{cls:"telt",txt:n?n+" gekozen":groep.items.length+" artikelen"}) ])); d.appendChild(el("p",{cls:"uitleg",txt:groep.uitleg})); var b=el("div",{cls:"acc"}); groep.items.forEach(function(i){ var o={code:i.code,naam:i.naam,sub:i.sub}; if(advies && advies[i.code]) o.tip="advies "+advies[i.code]+"×"; b.appendChild(accRij(o,groep)); }); d.appendChild(b); return d; } function stap6(p){ var puur = !S.regels.some(function(r){ return r.soort==="product"; }); p.appendChild(el("h2",{txt: puur ? "Accessoires" : "Afwerking en accessoires"})); p.appendChild(el("p",{cls:"sub",txt: puur ? "Het volledige accessoire-assortiment. Alles is per stuk te bestellen." : "Wat je nodig hebt staat open; de rest kun je uitklappen. Alles is per stuk te bestellen."})); var vloerM2=m2InMand("vloer"), wandM2=m2InMand("wand"), vb=stuksInMand("vensterbank"); var zwevend=S.regels.some(function(r){ return r.fam==="vloer"&&r.leg==="zwevend"; }); var verlijmd=S.regels.some(function(r){ return r.fam==="vloer"&&r.leg==="verlijmd"; }); var wandLijm=S.regels.some(function(r){ return r.fam==="wand"&&(r.leg==="koker"||r.leg==="emmer"); }); var lijmM2=(verlijmd?vloerM2:0)+(wandLijm?wandM2:0)+(vb>0?vb*0.9:0); var advies={}, open={}; if(zwevend&&vloerM2>0){ open.ondervloer=true; advies.OVSPC001=Math.ceil(vloerM2/15); advies.OVSPC002=Math.ceil(vloerM2/14.85); } if(lijmM2>0){ open.lijm=true; advies.ACHPL0029=Math.ceil(lijmM2/2); advies.ACHPL5000=Math.ceil(lijmM2*0.8/5); } if(vb>0) open.kantenband=true; var w=wereldInMand(); var groepen=D.acc.filter(function(g){ return !w || g.wereld===w; }); if(w==="gevel") open.gevelhoek=true; groepen.forEach(function(g){ p.appendChild(accBlok(g,!!open[g.id]||puur&&groepen.length<=3,advies)); }); var prod=productRegels(); p.appendChild(el("div",{cls:"ac-nav"},[ el("button",{cls:"knop leeg",onclick:function(){ if(prod.length) naarBewerken(prod[prod.length-1]); else ga(2); }},["← Vorige stap"]), el("div",{cls:"navrechts"},[ el("button",{cls:"knop leeg",onclick:function(){ stopBewerken(); ga(2); }},["+ Product toevoegen"]), el("button",{cls:"knop",onclick:function(){ ga(7); }},["Door naar levering →"]) ]) ])); } /* ============================================================ STAP 7 — levering en losadres ============================================================ */ function stap7(p){ var L=S.lev; p.appendChild(el("h2",{txt:"Levering"})); p.appendChild(el("p",{cls:"sub",txt:"SPC is zwaar materiaal. Geef aan hoe en waar je het wilt ontvangen."})); var ch=el("div",{cls:"chips"}); if(!WIJZE[L.wijze]) L.wijze="bezorgen"; if(nieuw()) L.wijze = "bezorgen"; ["bezorgen","afhalen"].forEach(function(k){ ch.appendChild(el("button",{cls:"chip","aria-pressed":L.wijze===k?"true":"false", onclick:function(){ L.wijze=k; teken(); }},[ WIJZE[k] ])); }); if(!nieuw()) p.appendChild(ch); else p.appendChild(el("div",{cls:"melding",html:"Levering via een dealer bij je in de buurt. HB Composite levert niet rechtstreeks aan particulieren. Je aanvraag gaat naar een dealer in je regio. De dealer neemt contact met je op over de levering."})); if(L.wijze==="afhalen"){ p.appendChild(el("div",{cls:"melding goed",html:"Afhalen gebeurt op afspraak. De afhaallocatie en het tijdstip bevestigen wij in onze orderbevestiging."})); } else { if(heeftGevel()) p.appendChild(el("div",{cls:"melding",html:"Exterior Line — de gevelpanelen zijn 6 meter lang. "+ "Een gevelorder kan niet samen met SPC-producten worden bezorgd."})); p.appendChild(el("h3",{cls:"kopje",txt:"Losadres"})); p.appendChild(vinkje("Het losadres is gelijk aan ons bedrijfsadres (vul je in bij de volgende stap).", L.zelfde,function(v){ L.zelfde=v; teken(); })); if(!L.zelfde){ p.appendChild(rijVan([ veld("Straat en huisnummer *",L.adres,function(v){ L.adres=v; }), veld("Postcode *",L.postcode,function(v){ L.postcode=v; }) ])); p.appendChild(rijVan([ veld("Plaats *",L.plaats,function(v){ L.plaats=v; }), veld("Land",L.land,function(v){ L.land=v; }) ])); } p.appendChild(rijVan([ veld("Contactpersoon op het losadres",L.contact,function(v){ L.contact=v; }), veld("Telefoon contactpersoon",L.tel,function(v){ L.tel=v; },{type:"tel"}) ])); p.appendChild(el("div",{cls:"veld",style:"margin-top:16px"},[el("label",{txt:"Is er een heftruck aanwezig om te lossen?"})])); var hc=el("div",{cls:"chips"}); [["ja","Ja"],["nee","Nee"]].forEach(function(o){ hc.appendChild(el("button",{cls:"chip","aria-pressed":L.heftruck===o[0]?"true":"false",txt:o[1], onclick:function(){ L.heftruck=o[0]; teken(); }})); }); p.appendChild(hc); } var fout=el("div"); p.appendChild(fout); p.appendChild(nav(function(){ ga(S.regels.length?6:2); },function(){ if(L.wijze!=="afhalen" && !L.zelfde && (!L.adres||!L.postcode||!L.plaats)){ fout.innerHTML='
Vul het losadres in, of vink aan dat het gelijk is aan je bedrijfsadres.
'; return; } ga(8); },"Naar het overzicht →")); } /* ============================================================ STAP 8 — overzicht en gegevens ============================================================ */ function ovTabel(bewerkbaar){ var tb=el("table",{cls:"ov"}); tb.appendChild(el("thead",{},[el("tr",{},[ el("th",{txt:"Artikel"}), el("th",{cls:"r",txt:"Aantal"}), toonPrijs() ? el("th",{cls:"r",txt:"Adviesprijs incl. btw"}) : null])])); var tbody=el("tbody"); S.regels.forEach(function(r,ix){ var naam = r.soort==="product" ? (r.serie+" — "+r.decor) : r.naam; tbody.appendChild(el("tr",{},[ el("td",{},[ el("span",{cls:"art"},[ r.soort==="product" ? vlakje("duim", r.img, r.kl, r.decor) : null, el("span",{},[ naam, el("br"), el("small",{style:"color:#5d676c", txt:r.code+(r.variant?" · "+r.variant:"")}) ]) ]) ]), el("td",{cls:"r"},[ r.aantal+" "+r.eenheid, bewerkbaar ? el("button",{title:"Verwijderen","aria-label":"Verwijderen",cls:"wegknop",txt:"×", onclick:function(){ S.regels.splice(ix,1); if(S.bewerk) stopBewerken(); teken(); }}) : null ]), toonPrijs() ? el("td",{cls:"r",txt:prijsTxt(r)}) : null ])); var det=hoeveelheid(r); if(det || bewerkbaar) tbody.appendChild(el("tr",{cls:"sub"},[ el("td",{colspan:toonPrijs()?"3":"2"},[ det, det&&bewerkbaar ? " · " : null, bewerkbaar ? (r.soort==="product" ? el("button",{cls:"wijzigreg",txt:"wijzigen",onclick:function(){ naarBewerken(ix); }}) : el("button",{cls:"wijzigreg",txt:"aantal wijzigen",onclick:function(){ stopBewerken(); ga(6); }})) : null ]) ])); }); tb.appendChild(tbody); if(toonPrijs() && S.regels.length){ var T=totalen(), tf=el("tfoot"); function tr(a,b,eind){ tf.appendChild(el("tr",{cls:eind?"eind":null},[el("td",{colspan:"2",txt:a}),el("td",{cls:"r",txt:b})])); } tr("Subtotaal",eur(T.sub)); tr("Levering",levTxt(T)); tr("Totaal incl. btw",eur(T.tot)+(T.onbekend?" *":""),true); tb.appendChild(tf); } return tb; } var VELDEN=[ ["bedrijf","Bedrijf","text",true],["naam","Naam","text",true], ["email","E-mailadres","email",true],["tel","Telefoon","tel",false], ["btw","Btw-nummer (optioneel)","text",false],["adres","Straat en huisnummer","text","adres"], ["postcode","Postcode","text","adres"],["plaats","Plaats","text","adres"],["land","Land","text",false] ]; function adresVerplicht(){ return !nieuw() || (S.lev.wijze!=="afhalen" && S.lev.zelfde); } function stap8(p){ p.appendChild(el("h2",{txt: nieuw() ? "Je aanvraag" : "Je bestelling"})); p.appendChild(el("p",{cls:"sub",txt: nieuw() ? "Controleer de samenstelling en vul je gegevens in. Dit is een vrijblijvende aanvraag; er wordt geen bestelling geplaatst." : "Controleer de samenstelling en vul je gegevens in. Na het plaatsen sturen wij je zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen."})); if(!S.regels.length) p.appendChild(el("div",{cls:"melding",txt:"Je selectie is nog leeg. Voeg eerst een product of accessoire toe."})); else p.appendChild(ovTabel(true)); var info=[]; info.push("Je referentie: "+(S.klantref?esc(S.klantref):"—")+""); if(!nieuw()) info.push("Debiteurennummer: "+(S.debiteur?esc(S.debiteur):"—")+""); info.push("Levering: "+WIJZE[S.lev.wijze]+""); p.appendChild(el("p",{cls:"klantregel",html:info.join(" · ")+ ' · '})); var ns=$("#naarStart",p); if(ns) ns.addEventListener("click",function(){ ga(1); }); p.appendChild(el("h3",{cls:"kopje",txt:"Je gegevens"})); var rij=el("div",{cls:"rij",style:"margin-top:10px"}); var verpl=adresVerplicht(); VELDEN.forEach(function(v,i){ var ster = v[3]===true || (v[3]==="adres" && verpl); var f=el("div",{cls:"veld"},[el("label",{txt:v[1]+(ster?" *":"")})]); var inp=el("input",{type:v[2],value:S.klant[v[0]],autocomplete:v[0]==="email"?"email":"on"}); inp.addEventListener("input",function(){ S.klant[v[0]]=inp.value; }); f.appendChild(inp); rij.appendChild(f); if(i%2===1){ p.appendChild(rij); rij=el("div",{cls:"rij",style:"margin-top:12px"}); } }); if(rij.children.length) p.appendChild(rij); var fo=el("div",{cls:"veld",style:"margin-top:12px"},[el("label",{txt:"Opmerking of vraag"})]); var ta=el("input",{type:"text",value:S.klant.opm, placeholder:"bijv. gewenste leverweek, afleverinstructie, staalaanvraag"}); ta.addEventListener("input",function(){ S.klant.opm=ta.value; }); fo.appendChild(ta); p.appendChild(fo); p.appendChild(el("div",{cls:"melding goed",style:"margin-top:20px",html:(nieuw() ? esc(prijsNoot())+" Op al onze leveringen zijn onze "+voorwaardenLink("algemene leverings- en verkoopvoorwaarden")+" van toepassing." : conditiesHtml())+ (nieuw() ? "" : " De getoonde prijzen zijn adviesverkoopprijzen voor consumenten (incl. btw); je inkoopprijzen volgens de geldende prijsafspraken staan op onze tegenbevestiging.")})); if(nieuw()) p.appendChild(vinkje("Ja, neem na mijn aanvraag contact met mij op.",S.contact,function(v){ S.contact=v; })); else p.appendChild(vinkje("Ik ga akkoord met de "+voorwaardenLink("algemene leverings- en verkoopvoorwaarden")+ " en plaats een bestelling.",S.klant.akkoord,function(v){ S.klant.akkoord=v; })); p.appendChild(vinkje("Mijn gegevens en losadres onthouden op dit apparaat voor een volgende bestelling.", S.onthoud,function(v){ S.onthoud=v; })); if(S.opgeslagen){ var w=el("p",{cls:"hint",style:"margin:4px 0 0",html:"Je gegevens zijn ingevuld vanuit een eerdere bestelling op dit apparaat. "+ ''}); p.appendChild(w); $("#wisGeg",w).addEventListener("click",function(){ wisGegevens(); teken(); }); } var fout=el("div"); p.appendChild(fout); var knop=el("button",{cls:"knop groot",onclick:function(){ var K=S.klant; function f(t){ fout.innerHTML='
'+t+'
'; } if(!S.regels.length) return f("Je selectie is nog leeg."); if(!K.bedrijf||!K.naam||!K.email) return f("Vul bedrijf, naam en e-mailadres in."); if(verpl && (!K.adres||!K.postcode||!K.plaats)) return f("Vul het bedrijfsadres in."); if(!nieuw() && !K.akkoord) return f("Vink aan dat je akkoord gaat met de voorwaarden."); fout.innerHTML=""; verstuur(knop,fout); }},[nieuw() ? "Aanvraag versturen" : "Bestelling plaatsen"]); p.appendChild(knop); p.appendChild(nav(function(){ ga(7); },null)); } /* ---------------- kenmerk ---------------- */ function referentie(){ if(!S.ref){ var d=new Date(), pp=function(x){ return (x<10?"0":"")+x; }; S.ref=(nieuw()?"AV":"AC")+String(d.getFullYear()).slice(2)+pp(d.getMonth()+1)+pp(d.getDate())+"-"+ String(Math.floor(Math.random()*9000)+1000); } return S.ref; } /* ---------------- besteltekst voor de e-mail ---------------- */ var AFDELING = new Array(31).join("—"); var MAAND = ["januari","februari","maart","april","mei","juni","juli", "augustus","september","oktober","november","december"]; function datumtijd(d){ var pp=function(x){ return (x<10?"0":"")+x; }; return d.getDate()+" "+MAAND[d.getMonth()]+" "+d.getFullYear()+", "+pp(d.getHours())+":"+pp(d.getMinutes()); } function losadresTekst(){ var L=S.lev; if(L.wijze==="afhalen") return "n.v.t. (afhalen)"; if(L.zelfde) return "gelijk aan bedrijfsadres"; return [L.adres,[L.postcode,L.plaats].filter(Boolean).join(" "),L.land].filter(Boolean).join(", "); } function specificatie(){ var L=[], n=0; function kop(t){ L.push("", AFDELING, t.toUpperCase(), AFDELING); } function reg(label,waarde){ if(waarde!==undefined && waarde!==null && waarde!=="") L.push(label+": "+waarde); } L.push((nieuw() ? "VRIJBLIJVENDE AANVRAAG (NIEUWE KLANT) " : "BESTELLING ")+referentie()); L.push("HB Composite · Aqua Composite"); L.push(datumtijd(new Date())); reg("Referentie klant", S.klantref); if(!nieuw()) reg("Debiteurennummer", S.debiteur); if(nieuw()) reg("Contact gewenst", S.contact ? "JA, graag contact opnemen" : "nee"); kop("Artikelen"); S.regels.forEach(function(r){ n++; L.push(""); L.push(n+". "+(r.soort==="product" ? (r.serie+" — "+r.decor) : r.naam)); reg("Artikelnummer", r.code+(r.variant?" ("+r.variant+")":"")); reg("Aantal", r.aantal+" "+r.eenheid); reg("Hoeveelheid", hoeveelheid(r)); if(toonPrijs()){ var rp=regelPrijs(r); reg("Adviesprijs incl. btw", rp!=null ? eur(rp)+" ("+r.aantal+" × "+eur(prijsEenheid(r.code))+")" : "op aanvraag"); } if(r.soort==="product" && (r.sfeer||r.img)) reg("Afbeelding", r.sfeer||r.img); }); kop("Levering"); reg("Wijze", WIJZE[S.lev.wijze]); reg("Losadres", losadresTekst()); if(S.lev.wijze!=="afhalen"){ reg("Contactpersoon losadres", S.lev.contact); reg("Telefoon contactpersoon", S.lev.tel); reg("Heftruck aanwezig", S.lev.heftruck==="ja"?"ja":S.lev.heftruck==="nee"?"nee":"niet opgegeven"); } kop("Klantgegevens"); reg("Bedrijf", S.klant.bedrijf); reg("Naam", S.klant.naam); reg("Btw-nummer", S.klant.btw); reg("E-mail", S.klant.email); reg("Telefoon", S.klant.tel); reg("Bedrijfsadres", [S.klant.adres,[S.klant.postcode,S.klant.plaats].filter(Boolean).join(" "),S.klant.land] .filter(Boolean).join(", ")); reg("Opmerking", S.klant.opm); if(!nieuw()) reg("Algemene voorwaarden", S.klant.akkoord ? "akkoord" : "niet aangevinkt"); kop("Condities"); if(toonPrijs()){ var T=totalen(); L.push("Subtotaal: "+eur(T.sub)); L.push("Levering: "+levTxt(T)); L.push("Totaal adviesprijs incl. btw: "+eur(T.tot)); L.push(prijsNoot()); } else L.push(adviesNoot()); L.push("Onze algemene leverings- en verkoopvoorwaarden zijn van toepassing"+ (VOORWAARDEN.url?": "+VOORWAARDEN.url:".")); if(!nieuw()) L.push("Tegenbevestiging met inkoopprijzen volgt zo spoedig mogelijk."); L.push("", AFDELING); L.push("HB Composite · www.hbcomposite.com · info@hbcomposite.com"); return L.join("\n"); } /* ============================================================ WPForms-koppeling ============================================================ */ var SLEUTELS=[ ["email", /e.?mail/i, "email"], ["telefoon",/telefoon|phone|gsm|mobiel|\btel\b/i,"tel"], ["btw", /btw|vat/i, null], ["debiteur",/debiteur|klantnummer|customer.?n/i, null], ["bedrijf", /bedrijf|company|firma|organisat/i, null], ["postcode",/postcode|zip/i, null], ["plaats", /plaats|woonplaats|gemeente|city/i, null], ["land", /\bland\b|country/i, null], ["adres", /adres|straat|address/i, null], ["onderwerp",/onderwerp|subject/i, null], ["naam", /naam|name/i, null], ["bericht", /bericht|message|opmerking|vraag|specificat|toelicht/i, null] ]; function wpForm(){ var f = WPFORMS.formulierId ? document.getElementById("wpforms-form-"+WPFORMS.formulierId) : document.querySelector("form.wpforms-form"); return f || null; } function wpVelden(f){ var map={}; var hand=WPFORMS.velden||{}, id=f.getAttribute("data-formid"); for(var k in hand){ var n=document.getElementById("wpforms-"+id+"-field_"+hand[k]); if(n) map[k]=n; } Array.prototype.forEach.call(f.querySelectorAll(".wpforms-field"),function(c){ var inv=c.querySelector("input,textarea,select"); if(!inv || inv.type==="hidden") return; var st=window.getComputedStyle(inv); if(st.visibility==="hidden" || st.display==="none") return; var lab=c.querySelector(".wpforms-field-label"); var tekst=((lab?lab.textContent:"")+" "+(inv.placeholder||"")).trim(); var raak=null; for(var i=0;i=0) return; var c=n.closest(".wpforms-field")||n; var st=window.getComputedStyle(c); if(c.offsetParent===null || st.display==="none" || st.visibility==="hidden" || st.position==="absolute") n.value=""; }); var houder=(f.closest && f.closest(".wpforms-container")) || f.parentNode; var label=knop.textContent; knop.disabled=true; knop.textContent="Bezig met versturen…"; var knopje=f.querySelector("button[type=submit], input[type=submit]"); if(!knopje){ knop.disabled=false; knop.textContent=label; viaMail(spec); return; } knopje.click(); var begin=Date.now(), klaar=false, traagMelding=false; function gelukt(){ if(klaar) return; klaar=true; clearInterval(pols); bevestiging(); } function mislukt(t){ if(klaar) return; klaar=true; clearInterval(pols); knop.disabled=false; knop.textContent=label; toonFormulier(f); fout.innerHTML='
'+(t||"Het formulier kon niet worden verstuurd. Controleer de gemarkeerde velden hieronder.")+'
'; } /* WPForms meldt zelf of het verzenden gelukt is */ if(window.jQuery){ window.jQuery(f).one("wpformsAjaxSubmitSuccess",function(){ setTimeout(gelukt,50); }); window.jQuery(f).one("wpformsAjaxSubmitFailed wpformsAjaxSubmitError",function(){ setTimeout(function(){ mislukt(); },50); }); } var pols=setInterval(function(){ var ok=(houder && houder.querySelector(".wpforms-confirmation-container, .wpforms-confirmation-container-full")) || (f.isConnected===false); var mis=f.querySelector(".wpforms-error:not(:empty), .wpforms-has-error"); var tijd=Date.now()-begin; if(ok) gelukt(); else if(mis && tijd>1200) mislukt(); else if(tijd>12000 && !traagMelding){ traagMelding=true; fout.innerHTML='
Je bestelling wordt verstuurd, dit duurt iets langer dan normaal. '+ 'Sluit deze pagina niet.
'; } else if(tijd>90000) mislukt("Het versturen is niet bevestigd. Controleer je internetverbinding en probeer het opnieuw, "+ "of mail je bestelling naar "+EMAIL+"."); },350); } /* ============================================================ Bestelbevestiging ============================================================ */ var BRIEF = { logo: "data:image/jpeg;base64,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", naam: "HB Composite", voet1: "HB Composite | www.hbcomposite.com | info@hbcomposite.com", voet2: "", plaats: "" }; function briefStijl(){ if(document.getElementById("ac-brief-stijl")) return; var st=document.createElement("style"); st.id="ac-brief-stijl"; var F="Aptos,Calibri,'Segoe UI',Arial,sans-serif"; st.textContent= ".ac-brief{background:#fff;color:#000;border:1px solid #ddd8d0;box-shadow:0 6px 24px rgba(35,40,43,.08);"+ "width:100%;max-width:794px;min-height:1123px;margin:0 auto;padding:48px 94px 40px;box-sizing:border-box;"+ "font:14.5px/1.45 "+F+";display:flex;flex-direction:column}"+ ".ac-brief .bk{display:flex;justify-content:flex-end;margin:0 0 40px}"+ ".ac-brief .bk img{width:92px;height:92px;display:block}"+ ".ac-brief .inh{flex:1}"+ ".ac-brief .adr{line-height:1.45;margin-bottom:30px;min-height:84px}"+ ".ac-brief .dat{margin-bottom:22px}"+ ".ac-brief h2.bt{font:700 17px/1.3 "+F+";margin:0 0 12px;color:#000}"+ ".ac-brief .kenm{display:grid;grid-template-columns:auto 1fr;gap:2px 22px;margin:0 0 20px;font-size:13.5px}"+ ".ac-brief .kenm span{color:#555}"+ ".ac-brief p{margin:0 0 11px}"+ ".ac-brief table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:13.5px}"+ ".ac-brief th{text-align:left;font-weight:700;padding:0 8px 5px 0;color:#000!important;font-size:13.5px!important;text-transform:none!important;letter-spacing:normal!important}"+ ".ac-brief td{padding:7px 8px 7px 0;vertical-align:top}"+ ".ac-brief td.r,.ac-brief th.r{text-align:right;padding-right:0;white-space:nowrap}"+ ".ac-brief td small{color:#555;display:block;font-size:12px}"+ ".ac-brief table,.ac-brief th,.ac-brief td{border-left:0!important;border-right:0!important;border-top:0!important;background:none!important}"+ ".ac-brief th{border-bottom:1px solid #000!important}.ac-brief td{border-bottom:1px solid #d9d9d9!important}"+ ".ac-brief h3.bs{font:700 14.5px/1.3 "+F+";margin:18px 0 4px;color:#000}"+ ".ac-brief .lev{display:grid;grid-template-columns:auto 1fr;gap:2px 22px;margin:0 0 18px;font-size:13.5px}"+ ".ac-brief .lev dt{color:#555}.ac-brief .lev dd{margin:0}"+ ".ac-brief .groet{margin-top:24px}"+ ".ac-brief .vt{margin-top:40px;font-size:10.7px;line-height:1.35;text-align:center;color:#000}"+ "@media(max-width:700px){.ac-brief{min-height:0;padding:28px 20px 22px}.ac-brief .bk img{width:70px;height:70px}}"+ "#ac-print{display:none}"+ "@media print{@page{size:A4;margin:0}"+ "html,body{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important}"+ "body>*:not(#ac-print){display:none!important}"+ "#ac-print{display:block!important}"+ "#ac-print .ac-brief{display:block;width:auto;max-width:none;min-height:0;margin:0;border:0;box-shadow:none;"+ "padding:12.5mm 25mm 30mm 25mm;font-size:11pt;-webkit-box-decoration-break:clone;box-decoration-break:clone}"+ "#ac-print .ac-brief .bk img{width:24.2mm;height:24.2mm}"+ "#ac-print .ac-brief .bk{margin-bottom:12mm}"+ "#ac-print .ac-brief th{color:#000!important}"+ "#ac-print .ac-brief tr{break-inside:avoid}"+ "#ac-print .ac-brief .vt{position:fixed;left:25mm;right:25mm;bottom:10mm;margin:0;font-size:8pt;background:#fff}}"; document.head.appendChild(st); } function maakAfdruk(){ var oud=document.getElementById("ac-print"); if(oud) oud.remove(); var brief=document.querySelector("#paneel .ac-brief"); if(!brief) return; var d=document.createElement("div"); d.id="ac-print"; d.appendChild(brief.cloneNode(true)); document.body.appendChild(d); } var PDF_LIB="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"; function laadPdfLib(klaar,fout){ if(window.jspdf && window.jspdf.jsPDF) return klaar(); var sc=document.createElement("script"); sc.src=PDF_LIB; sc.async=true; sc.onload=function(){ (window.jspdf && window.jspdf.jsPDF) ? klaar() : fout(); }; sc.onerror=fout; document.head.appendChild(sc); } /* alle gegevens voor de brief, los van het scherm */ function briefGegevens(){ var K=S.klant, L=S.lev, adr=[K.bedrijf||"", "t.a.v. "+(K.naam||"")]; if(K.adres) adr.push(K.adres); if(K.postcode||K.plaats) adr.push([K.postcode,K.plaats].filter(Boolean).join(" ")); if(K.land) adr.push(K.land); var kenm=[[nieuw()?"Aanvraagnummer":"Bestelnummer", referentie()],["Je referentie", S.klantref||"—"]]; if(!nieuw()) kenm.push(["Debiteurennummer", S.debiteur||"—"]); if(K.btw) kenm.push(["Je btw-nummer", K.btw]); var tekst = nieuw() ? ["Hartelijk dank voor je interesse in Aqua Composite. Hieronder vind je een overzicht van je aanvraag. Dit is een vrijblijvende aanvraag; er is geen bestelling geplaatst.", S.contact ? "Wij nemen zo spoedig mogelijk contact met je op om je aanvraag te bespreken." : "Je hebt aangegeven niet benaderd te willen worden. Heb je toch vragen, dan horen wij graag van je."] : ["Hartelijk dank voor je bestelling. Hieronder vind je een overzicht van de door jou bestelde artikelen.", "Wij sturen je zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen en de verwachte leverdatum."]; var regels=S.regels.map(function(r){ return { naam: r.soort==="product" ? (r.serie+" — "+r.decor) : r.naam, det: hoeveelheid(r)+(toonPrijs() ? " · adviesprijs "+prijsTxt(r) : ""), code: r.code+(r.variant?" ("+r.variant+")":""), aantal: r.aantal+" "+r.eenheid }; }); var lev=[["Wijze", WIJZE[L.wijze]]]; if(L.wijze!=="afhalen"){ lev.push(["Losadres", losadresTekst()]); var c=[L.contact,L.tel].filter(Boolean).join(" · "); if(c) lev.push(["Contact losadres", c]); if(L.heftruck) lev.push(["Heftruck aanwezig", L.heftruck]); } if(K.opm) lev.push(["Je opmerking", K.opm]); return { logo:BRIEF.logo, adres:adr, datum:briefDatum(), titel: nieuw() ? "Bevestiging van je aanvraag" : "Bestelbevestiging", kenm:kenm, aanhef:"Geachte heer, mevrouw "+(K.naam||"")+",", tekst:tekst, regels:regels, lev:lev, tot: toonPrijs() ? (function(){ var T=totalen(); return [["Subtotaal",eur(T.sub)],["Levering",levTxt(T)],["Totaal incl. btw",eur(T.tot)]]; })() : null, noot: nieuw() ? prijsNoot() : adviesNoot(), naam:BRIEF.naam, voet:[BRIEF.voet1,BRIEF.voet2], bestand:(nieuw()?"Aanvraag-":"Bestelbevestiging-")+referentie()+".pdf" }; } /* PDF rechtstreeks opbouwen volgens het briefpapier: A4, marges 25 mm, logo rechtsboven, voettekst 8 pt */ function bouwPdf(JsPDF, g){ var doc=new JsPDF({unit:"mm",format:"a4"}); var L=25, R=185, B=268, y; function voet(){ doc.setFont("helvetica","normal"); doc.setFontSize(8); doc.setTextColor(0); doc.text(g.voet[0],105,286,{align:"center"}); if(g.voet[1]) doc.text(g.voet[1],105,289.6,{align:"center"}); } function nieuwePagina(){ voet(); doc.addPage(); y=25; } function ruimte(h){ if(y+h>B) nieuwePagina(); } function zet(s,stijl,kleur){ doc.setFont("helvetica",stijl||"normal"); doc.setFontSize(s); doc.setTextColor(kleur==null?0:kleur); } try{ doc.addImage(g.logo,"JPEG",R-24.2,12.5,24.2,24.2); }catch(e){} y=52; zet(10.5); g.adres.forEach(function(r,i){ zet(10.5,i===0?"bold":"normal"); doc.text(r,L,y); y+=5; }); y+=6; zet(10.5); doc.text(g.datum,L,y); y+=11; zet(13,"bold"); doc.text(g.titel,L,y); y+=7; g.kenm.forEach(function(k){ zet(9.5,"normal",90); doc.text(k[0],L,y); zet(9.5,"bold"); doc.text(String(k[1]),L+38,y); y+=4.8; }); y+=5; zet(10.5); doc.text(g.aanhef,L,y); y+=7; g.tekst.forEach(function(t){ var ls=doc.splitTextToSize(t,R-L); ruimte(ls.length*5); doc.text(ls,L,y); y+=ls.length*5+2; }); y+=3; function kop(){ zet(9.5,"bold"); doc.text("Artikel",L,y); doc.text("Artikelnr.",128,y); doc.text("Aantal",R,y,{align:"right"}); y+=2; doc.setDrawColor(0); doc.setLineWidth(0.3); doc.line(L,y,R,y); y+=5; } ruimte(20); kop(); g.regels.forEach(function(r){ zet(9.5); var ls=doc.splitTextToSize(r.naam,100); var dl=r.det ? (zet(8),doc.splitTextToSize(r.det,100)) : []; var h=ls.length*4.4+dl.length*3.8+3; if(y+h>B){ nieuwePagina(); kop(); } zet(9.5); doc.text(ls,L,y); doc.text(r.code,128,y); doc.text(r.aantal,R,y,{align:"right"}); var yy=y+ls.length*4.4; if(dl.length){ zet(8,"normal",90); doc.text(dl,L,yy-0.6); yy+=dl.length*3.8; } y=yy+0.2; doc.setDrawColor(210); doc.setLineWidth(0.2); doc.line(L,y-2.4,R,y-2.4); y+=3; }); if(g.tot){ ruimte(20); g.tot.forEach(function(t,i){ var last=i===g.tot.length-1; zet(last?10.5:9.5,last?"bold":"normal"); doc.text(t[0],128,y); doc.text(t[1],R,y,{align:"right"}); y+=5.2; }); if(g.noot){ zet(8,"normal",90); var nl=doc.splitTextToSize(g.noot,R-L); ruimte(nl.length*3.8+2); doc.text(nl,L,y+1); y+=nl.length*3.8+2; } } y+=3; ruimte(12); zet(10.5,"bold"); doc.text("Levering",L,y); y+=5.5; g.lev.forEach(function(k){ zet(9.5); var ls=doc.splitTextToSize(String(k[1]),R-L-38); ruimte(ls.length*4.6); zet(9.5,"normal",90); doc.text(k[0],L,y); zet(9.5); doc.text(ls,L+38,y); y+=ls.length*4.6+0.4; }); y+=8; ruimte(16); zet(10.5); doc.text("Met vriendelijke groet,",L,y); y+=10; zet(10.5,"bold"); doc.text(g.naam,L,y); voet(); return doc; } function pdfOpslaan(knop){ var label=knop.textContent; knop.disabled=true; knop.textContent="PDF wordt gemaakt…"; function terug(){ knop.disabled=false; knop.textContent=label; } laadPdfLib(function(){ try{ var g=briefGegevens(); bouwPdf(window.jspdf.jsPDF,g).save(g.bestand); terug(); } catch(e){ terug(); maakAfdruk(); window.print(); } }, function(){ terug(); maakAfdruk(); window.print(); }); } function ruimAfdrukOp(){ var o=document.getElementById("ac-print"); if(o) o.remove(); } window.addEventListener("beforeprint",maakAfdruk); window.addEventListener("afterprint",ruimAfdrukOp); function briefDatum(){ var d=new Date(); return d.getDate()+" "+MAAND[d.getMonth()]+" "+d.getFullYear(); } function bevestiging(){ bewaarGegevens(); var p=$("#paneel"); p.innerHTML=""; p.style.cssText="background:none;border:0;box-shadow:none;padding:0"; document.body.classList.add("bevestigd"); $("#stappen").innerHTML=""; briefStijl(); var K=S.klant, L=S.lev; p.appendChild(el("div",{cls:"melding goed",style:"margin:0 0 18px",html: nieuw() ? "Je aanvraag "+referentie()+" is verstuurd. Hieronder zie je de bevestiging; je kunt die als PDF downloaden of afdrukken." : "Je bestelling "+referentie()+" is verstuurd. Je ontvangt ook een bevestiging per e-mail. Hieronder zie je de bestelbevestiging; je kunt die als PDF downloaden of afdrukken."})); var b=el("article",{cls:"ac-brief"}); /* briefhoofd */ b.appendChild(el("div",{cls:"bk"},[ el("img",{src:BRIEF.logo,alt:BRIEF.naam}) ])); var inh=el("div",{cls:"inh"}); b.appendChild(inh); /* geadresseerde */ var adr=[ ""+esc(K.bedrijf)+"", "t.a.v. "+esc(K.naam) ]; if(K.adres) adr.push(esc(K.adres)); if(K.postcode||K.plaats) adr.push(esc([K.postcode,K.plaats].filter(Boolean).join(" "))); if(K.land) adr.push(esc(K.land)); inh.appendChild(el("div",{cls:"adr",html:adr.join("
")})); inh.appendChild(el("div",{cls:"dat",txt:briefDatum()})); inh.appendChild(el("h2",{cls:"bt",txt: nieuw() ? "Bevestiging van je aanvraag" : "Bestelbevestiging"})); var km=el("div",{cls:"kenm"}); function kenm(k,v){ km.appendChild(el("span",{txt:k})); km.appendChild(el("b",{txt:v||"—"})); } kenm(nieuw()?"Aanvraagnummer":"Bestelnummer", referentie()); kenm("Je referentie", S.klantref); if(!nieuw()) kenm("Debiteurennummer", S.debiteur); if(K.btw) kenm("Je btw-nummer", K.btw); inh.appendChild(km); inh.appendChild(el("p",{txt:"Geachte heer, mevrouw "+(K.naam||"")+","})); if(nieuw()){ inh.appendChild(el("p",{txt:"Hartelijk dank voor je interesse in Aqua Composite. Hieronder vind je een overzicht van je aanvraag. "+ "Dit is een vrijblijvende aanvraag; er is geen bestelling geplaatst."})); inh.appendChild(el("p",{txt: S.contact ? "Wij nemen zo spoedig mogelijk contact met je op om je aanvraag te bespreken." : "Je hebt aangegeven niet benaderd te willen worden. Heb je toch vragen, dan horen wij graag van je."})); } else { inh.appendChild(el("p",{txt:"Hartelijk dank voor je bestelling. Hieronder vind je een overzicht van de door jou bestelde artikelen."})); inh.appendChild(el("p",{html:"Wij sturen je zo spoedig mogelijk een tegenbevestiging met de inkoopprijzen en de verwachte leverdatum."})); } /* artikelen */ var tb=el("table"); tb.appendChild(el("thead",{},[el("tr",{},[el("th",{txt:"Artikel"}),el("th",{txt:"Artikelnr."}),el("th",{cls:"r",txt:"Aantal"}), toonPrijs() ? el("th",{cls:"r",txt:"Adviesprijs incl. btw"}) : null])])); var tbo=el("tbody"); S.regels.forEach(function(r){ var det=hoeveelheid(r); tbo.appendChild(el("tr",{},[ el("td",{},[ r.soort==="product" ? (r.serie+" — "+r.decor) : r.naam, det ? el("small",{txt:det}) : null ]), el("td",{txt:r.code+(r.variant?" ("+r.variant+")":"")}), el("td",{cls:"r",txt:r.aantal+" "+r.eenheid}), toonPrijs() ? el("td",{cls:"r",txt:prijsTxt(r)}) : null ])); }); tb.appendChild(tbo); inh.appendChild(tb); if(toonPrijs()){ var T=totalen(); inh.appendChild(el("p",{html:"Subtotaal "+esc(eur(T.sub))+" · Levering "+esc(levTxt(T))+"
Totaal adviesprijs incl. btw: "+esc(eur(T.tot))+""})); inh.appendChild(el("p",{style:"font-size:12.5px;color:#555",txt:prijsNoot()})); } /* levering */ inh.appendChild(el("h3",{cls:"bs",txt:"Levering"})); var dl=el("dl",{cls:"lev"}); function lv(k,v){ if(v){ dl.appendChild(el("dt",{txt:k})); dl.appendChild(el("dd",{txt:v})); } } lv("Wijze", WIJZE[L.wijze]); if(L.wijze!=="afhalen"){ lv("Losadres", losadresTekst()); lv("Contact losadres", [L.contact,L.tel].filter(Boolean).join(" · ")); lv("Heftruck aanwezig", L.heftruck==="ja"?"ja":L.heftruck==="nee"?"nee":""); } if(K.opm) lv("Je opmerking", K.opm); inh.appendChild(dl); inh.appendChild(el("div",{cls:"groet",html:"Met vriendelijke groet,

"+BRIEF.naam+""})); b.appendChild(el("div",{cls:"vt",html:esc(BRIEF.voet1)+(BRIEF.voet2?"
"+esc(BRIEF.voet2):"")})); p.appendChild(b); p.appendChild(el("div",{cls:"knoppen"},[ el("button",{cls:"knop",onclick:function(){ pdfOpslaan(this); }},["PDF downloaden"]), el("button",{cls:"knop leeg",onclick:function(){ maakAfdruk(); window.print(); }},["Afdrukken"]), el("button",{cls:"knop leeg",onclick:function(){ document.body.classList.remove("bevestigd"); S.regels=[]; S.c=null; S.bewerk=null; S.ref=null; S.klantref=""; S.klant.akkoord=false; S.klant.opm=""; S.stap=1; teken(); }},["Nieuwe bestelling"]) ])); tekenZij(); function naarBoven(){ var doel=document.getElementById("aqua-configurator")||p; var y=doel.getBoundingClientRect().top+(window.pageYOffset||0)-20; window.scrollTo(0,Math.max(0,y)); } naarBoven(); setTimeout(naarBoven,400); setTimeout(naarBoven,1200); } function toonFormulier(f){ var c=f.closest(".wpforms-container")||f; c.style.display=""; c.classList.remove("ac-verborgen"); } function viaMail(tekst){ var kort=tekst.length>1500 ? tekst.slice(0,1500)+"\n\n[...] Volledige specificatie op aanvraag." : tekst; window.location.href="mailto:"+EMAIL+"?subject="+encodeURIComponent(onderwerp())+"&body="+encodeURIComponent(kort); var p=$("#paneel"); var m=el("div",{cls:"melding goed",html:"Je e-mailprogramma wordt geopend. Gebeurt dat niet? "+ "Kopieer dan de onderstaande tekst en mail die naar "+EMAIL+"."}); var pre=el("textarea",{cls:"spec"}); pre.value=tekst; p.insertBefore(pre,p.children[2]); p.insertBefore(m,pre); } function verbergForm(){ if(!WPFORMS.verbergen) return; var f=wpForm(); if(!f) return; var c=f.closest(".wpforms-container")||f; c.classList.add("ac-verborgen"); } /* ============================================================ zijpaneel ============================================================ */ function tekenZij(){ var z=$("#zij"); z.innerHTML=""; z.appendChild(el("h3",{txt:"Je selectie"})); var sub=[]; if(S.klanttype) sub.push(nieuw()?"Vrijblijvende aanvraag":"Bestelling"); if(S.klantref) sub.push("ref. "+S.klantref); sub.push(S.regels.length ? S.regels.length+" regel"+(S.regels.length===1?"":"s") : "nog niets gekozen"); z.appendChild(el("div",{cls:"zsub",txt:sub.join(" · ")})); if(S.regels.length){ var bewerkbaar = !document.body.classList.contains("bevestigd"); var l=el("div",{cls:"zlijst"}); S.regels.forEach(function(r,ix){ var naam=el("span",{cls:"k"},[ r.soort==="product" ? (r.serie+" — "+r.decor) : r.naam ]); if(bewerkbaar){ naam.appendChild(el("br")); naam.appendChild(r.soort==="product" ? el("button",{cls:"wijzigreg",txt:"wijzigen",onclick:function(){ naarBewerken(ix); }}) : el("button",{cls:"wijzigreg",txt:"wijzigen",onclick:function(){ stopBewerken(); ga(6); }})); } l.appendChild(el("div",{cls:"zreg"},[ naam, el("span",{cls:"v"},[ r.aantal+" "+r.eenheid, r.geleverd ? el("small",{txt:num(r.geleverd)+" m²"}) : null, toonPrijs() ? el("small",{txt:prijsTxt(r)}) : null ]) ])); }); z.appendChild(l); if(toonPrijs()){ var T=totalen(); z.appendChild(el("div",{cls:"ztot"},[ el("div",{cls:"bedrag",txt:eur(T.tot)}), el("div",{cls:"onder",txt:"adviestotaal incl. btw · levering: "+levTxt(T)}) ])); } } else { z.appendChild(el("div",{cls:"zleeg",txt:"Doorloop de stappen links. Zodra je een product toevoegt, "+ "zie je hier het aantal pakken meelopen."})); } } /* ============================================================ render ============================================================ */ function teken(){ var y=window.pageYOffset||0; tekenStappen(); var p=$("#paneel"); p.innerHTML=""; p.style.cssText=""; [null,stap1,stap2,stap3,stap4,stap5,stap6,stap7,stap8][S.stap](p); tekenZij(); window.scrollTo(0,y); } laadGegevens(); teken(); if(document.readyState==="loading") document.addEventListener("DOMContentLoaded",verbergForm); else verbergForm(); })();