'use strict'; // // HTML Utilities // function onDocumentReady(eventHandler) { if(document.readyState != 'loading') { eventHandler(); } else { document.addEventListener('DOMContentLoaded', eventHandler); } } // // Wizard initialization table for each known product kind // // Functions to initialize the product kind steps const productKindWizards = {}; // // Internationalization utilities // const moneyFormattersDecimal = { 'en': new Intl.NumberFormat('en-EN', { style: 'currency', currency: 'EUR', minimumFractionDigits: 2, maximumFractionDigits: 2 }), 'nl': new Intl.NumberFormat('nl-NL', { style: 'currency', currency: 'EUR', minimumFractionDigits: 2, maximumFractionDigits: 2 }), 'de': new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR', minimumFractionDigits: 2, maximumFractionDigits: 2 }) } const moneyFormattersWhole = { 'en': new Intl.NumberFormat('en-EN', { style: 'currency', currency: 'EUR', minimumFractionDigits: 0, maximumFractionDigits: 0 }), 'nl': new Intl.NumberFormat('nl-NL', { style: 'currency', currency: 'EUR', minimumFractionDigits: 0, maximumFractionDigits: 0 }), 'de': new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR', minimumFractionDigits: 0, maximumFractionDigits: 0 }) } function formatMoney(amount) { var language = document.body.dataset.language; if(Number.isInteger(amount)) { const formatter = moneyFormattersWhole[language] || moneyFormattersWhole['en']; return formatter.format(amount); } else { const formatter = moneyFormattersDecimal[language] || moneyFormattersDecimal['en']; return formatter.format(amount); } }