'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);
}
}