• IMPRESSION ORIGINALE

Corporate Gifts

CORPORATE GIFTS

FILL IN THE FORM TO ORDER ONLINE

  • Please list each product on a seperate line.
    Brand NameProductDetails (colour, size, material)Gifting options (Regular or option 2, 3 or 4)Quantity 

<div id=”mc_embed_shell”>
<link href=”//cdn-images.mailchimp.com/embedcode/classic-061523.css” rel=”stylesheet” type=”text/css”>
<style type=”text/css”>
#mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: 600px;}
/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.
We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
</style>
<div id=”mc_embed_signup”>
<form action=”https://impressionoriginale.us14.list-manage.com/subscribe/post?u=bfdd36cb87e3c9e7ecf72603d&amp;id=f4ba0395d3&amp;f_id=00d5b7e5f0″ method=”post” id=”mc-embedded-subscribe-form” name=”mc-embedded-subscribe-form” class=”validate” target=”_blank”>

 

<div id=”mc_embed_signup_scroll”><h2>Commande Calligraphie – Atelier le Bon Marché</h2>
<div class=”indicates-required”><span class=”asterisk”>*</span> indique “obligatoire”</div>
<div class=”mc-field-group”><label for=”mce-EMAIL”>Email <span class=”asterisk”>*</span></label><input type=”email” name=”EMAIL” class=”required email” id=”mce-EMAIL” required=”” value=””></div><div class=”mc-field-group”><label for=”mce-FNAME”>First Name / Prénom </label><input type=”text” name=”FNAME” class=” text” id=”mce-FNAME” value=””></div><div class=”mc-field-group”><label for=”mce-LNAME”>Last Name / Nom de famille </label><input type=”text” name=”LNAME” class=” text” id=”mce-LNAME” value=””></div><div class=”mc-field-group”><label for=”mce-MMERGE3″>Numéro de téléphone </label><input type=”number” name=”MMERGE3″ class=” number” id=”mce-MMERGE3″ value=””></div><div class=”mc-field-group”><label for=”mce-MMERGE4″>Texte à calligraphier </label><input type=”text” name=”MMERGE4″ class=” text” id=”mce-MMERGE4″ value=””></div><div class=”mc-field-group”><label for=”mce-MMERGE5″>Style de Calligraphie </label><select name=”MMERGE5″ class=”” id=”mce-MMERGE5″><option value=””></option><option value=”Caroline”>Caroline</option><option value=”La Chancellerie”>La Chancellerie</option><option value=”Anglaise”>Anglaise</option><option value=”Délicate”>Délicate</option><option value=”Brush”>Brush</option><option value=”Singulière”>Singulière</option><option value=”Raffinée”>Raffinée</option><option value=”Malicieuse”>Malicieuse</option><option value=”Audacieuse”>Audacieuse</option></select></div><div class=”mc-field-group”><label for=”mce-MMERGE6″>Couleur d’encre </label><input type=”text” name=”MMERGE6″ class=” text” id=”mce-MMERGE6″ value=””></div><div class=”mc-field-group size1of2″><label for=”mce-MMERGE7-month”>Date de remise (souhaitée) </label><div class=”datefield”><span class=”subfield dayfield”><input class=”datepart ” type=”text” pattern=”[0-9]*” placeholder=”DD” size=”2″ maxlength=”2″ name=”MMERGE7[day]” id=”mce-MMERGE7-day” value=””></span> /<span class=”subfield monthfield”><input class=”datepart ” type=”text” pattern=”[0-9]*” placeholder=”MM” size=”2″ maxlength=”2″ name=”MMERGE7[month]” id=”mce-MMERGE7-month” value=””></span> /<span class=”subfield yearfield”><input class=”datepart ” type=”text” pattern=”[0-9]*” placeholder=”YYYY” size=”4″ maxlength=”4″ name=”MMERGE7[year]” id=”mce-MMERGE7-year” value=””></span><span class=”small-meta nowrap”>( dd / mm / yyyy )</span></div></div>
<div id=”mce-responses” class=”clear foot”>
<div class=”response” id=”mce-error-response” style=”display: none;”></div>
<div class=”response” id=”mce-success-response” style=”display: none;”></div>
</div>
<div aria-hidden=”true” style=”position: absolute; left: -5000px;”>
/* real people should not fill this in and expect good things – do not remove this or risk form bot signups */
<input type=”text” name=”b_bfdd36cb87e3c9e7ecf72603d_f4ba0395d3″ tabindex=”-1″ value=””>
</div>
<div class=”optionalParent”>
<div class=”clear foot”>
<input type=”submit” name=”subscribe” id=”mc-embedded-subscribe” class=”button” value=”Subscribe”>
<p style=”margin: 0px auto;”><a href=”http://eepurl.com/jiwIf6″ title=”Avec Mailchimp, les campagnes de marketing par e-mail sont un jeu d’enfant”><span style=”display: inline-block; background-color: transparent; border-radius: 4px;”><img class=”refferal_badge” src=”https://digitalasset.intuit.com/render/content/dam/intuit/mc-fe/en_us/images/intuit-mc-rewards-text-dark.svg” alt=”Intuit&nbsp;Mailchimp” style=”width: 220px; height: 40px; display: flex; padding: 2px 0px; justify-content: center; align-items: center;”></span></a></p>
</div>
</div>
</div>
</form>
</div>
<script type=”text/javascript” src=”//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js”></script><script type=”text/javascript”>(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]=’EMAIL’;ftypes[0]=’email’;fnames[1]=’FNAME’;ftypes[1]=’text’;fnames[2]=’LNAME’;ftypes[2]=’text’;fnames[3]=’MMERGE3′;ftypes[3]=’number’;fnames[4]=’MMERGE4′;ftypes[4]=’text’;fnames[5]=’MMERGE5′;ftypes[5]=’dropdown’;fnames[6]=’MMERGE6′;ftypes[6]=’text’;fnames[7]=’MMERGE7′;ftypes[7]=’date’;/*
* Translated default messages for the $ validation plugin.
* Locale: FR
*/
$.extend($.validator.messages, {
required: “Ce champ est requis.”,
remote: “Veuillez remplir ce champ pour continuer.”,
email: “Veuillez entrer une adresse email valide.”,
url: “Veuillez entrer une URL valide.”,
date: “Veuillez entrer une date valide.”,
dateISO: “Veuillez entrer une date valide (ISO).”,
number: “Veuillez entrer un nombre valide.”,
digits: “Veuillez entrer (seulement) une valeur numérique.”,
creditcard: “Veuillez entrer un numéro de carte de crédit valide.”,
equalTo: “Veuillez entrer une nouvelle fois la même valeur.”,
accept: “Veuillez entrer une valeur avec une extension valide.”,
maxlength: $.validator.format(“Veuillez ne pas entrer plus de {0} caractères.”),
minlength: $.validator.format(“Veuillez entrer au moins {0} caractères.”),
rangelength: $.validator.format(“Veuillez entrer entre {0} et {1} caractères.”),
range: $.validator.format(“Veuillez entrer une valeur entre {0} et {1}.”),
max: $.validator.format(“Veuillez entrer une valeur inférieure ou égale à {0}.”),
min: $.validator.format(“Veuillez entrer une valeur supérieure ou égale à {0}.”)
});}(jQuery));var $mcj = jQuery.noConflict(true);
// SMS Phone Multi-Country Functionality
if(!window.MC) {
window.MC = {};
}
window.MC.smsPhoneData = {
defaultCountryCode: ‘FR’,
programs: [],
smsProgramDataCountryNames: []
};

function getCountryUnicodeFlag(countryCode) {
return countryCode.toUpperCase().replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397))
};

// HTML sanitization function to prevent XSS
function sanitizeHtml(str) {
if (typeof str !== ‘string’) return ”;
return str
.replace(/&/g, ‘&amp;’)
.replace(/</g, ‘&lt;’)
.replace(/>/g, ‘&gt;’)
.replace(/”/g, ‘&quot;’)
.replace(/’/g, ‘&#x27;’)
.replace(/\//g, ‘&#x2F;’);
}

// URL sanitization function to prevent javascript: and data: URLs
function sanitizeUrl(url) {
if (typeof url !== ‘string’) return ”;
const trimmedUrl = url.trim().toLowerCase();
if (trimmedUrl.startsWith(‘javascript:’) || trimmedUrl.startsWith(‘data:’) || trimmedUrl.startsWith(‘vbscript:’)) {
return ‘#’;
}
return url;
}

const getBrowserLanguage = () => {
if (!window?.navigator?.language?.split(‘-‘)[1]) {
return window?.navigator?.language?.toUpperCase();
}
return window?.navigator?.language?.split(‘-‘)[1];
};

function getDefaultCountryProgram(defaultCountryCode, smsProgramData) {
if (!smsProgramData || smsProgramData.length === 0) {
return null;
}

const browserLanguage = getBrowserLanguage();

if (browserLanguage) {
const foundProgram = smsProgramData.find(
(program) => program?.countryCode === browserLanguage,
);
if (foundProgram) {
return foundProgram;
}
}

if (defaultCountryCode) {
const foundProgram = smsProgramData.find(
(program) => program?.countryCode === defaultCountryCode,
);
if (foundProgram) {
return foundProgram;
}
}

return smsProgramData[0];
}

function updateSmsLegalText(countryCode, fieldName) {
if (!countryCode || !fieldName) {
return;
}

const programs = window?.MC?.smsPhoneData?.programs;
if (!programs || !Array.isArray(programs)) {
return;
}

const program = programs.find(program => program?.countryCode === countryCode);
if (!program || !program.requiredTemplate) {
return;
}

const legalTextElement = document.querySelector(‘#legal-text-‘ + fieldName);
if (!legalTextElement) {
return;
}

// Remove HTML tags and clean up the text
const divRegex = new RegExp(‘</?[div][^>]*>’, ‘gi’);
const fullAnchorRegex = new RegExp(‘<a.*?</a>’, ‘g’);
const anchorRegex = new RegExp(‘<a href=”(.*?)” target=”(.*?)”>(.*?)</a>’);

const requiredLegalText = program.requiredTemplate
.replace(divRegex, ”)
.replace(fullAnchorRegex, ”)
.slice(0, -1);

const anchorMatches = program.requiredTemplate.match(anchorRegex);

if (anchorMatches && anchorMatches.length >= 4) {
// Create link element safely using DOM methods instead of innerHTML
const linkElement = document.createElement(‘a’);
linkElement.href = sanitizeUrl(anchorMatches[1]);
linkElement.target = sanitizeHtml(anchorMatches[2]);
linkElement.textContent = sanitizeHtml(anchorMatches[3]);

legalTextElement.textContent = requiredLegalText + ‘ ‘;
legalTextElement.appendChild(linkElement);
legalTextElement.appendChild(document.createTextNode(‘.’));
} else {
legalTextElement.textContent = requiredLegalText + ‘.’;
}
}

function generateDropdownOptions(smsProgramData) {
if (!smsProgramData || smsProgramData.length === 0) {
return ”;
}

return smsProgramData.map(program => {
const flag = getCountryUnicodeFlag(program.countryCode);
const countryName = getCountryName(program.countryCode);
const callingCode = program.countryCallingCode || ”;
// Sanitize all values to prevent XSS
const sanitizedCountryCode = sanitizeHtml(program.countryCode || ”);
const sanitizedCountryName = sanitizeHtml(countryName || ”);
const sanitizedCallingCode = sanitizeHtml(callingCode || ”);
return ‘<option value=”‘ + sanitizedCountryCode + ‘”>’ + sanitizedCountryName + ‘ ‘ + sanitizedCallingCode + ‘</option>’;
}).join(”);
}

function getCountryName(countryCode) {
if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) {
for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) {
if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) {
return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name;
}
}
}
return countryCode;
}

function getDefaultPlaceholder(countryCode) {
if (!countryCode || typeof countryCode !== ‘string’) {
return ‘+1 000 000 0000’; // Default US placeholder
}

const mockPlaceholders = [
{
countryCode: ‘US’,
placeholder: ‘+1 000 000 0000’,
helpText: ‘Include the US country code +1 before the phone number’,
},
{
countryCode: ‘GB’,
placeholder: ‘+44 0000 000000’,
helpText: ‘Include the GB country code +44 before the phone number’,
},
{
countryCode: ‘CA’,
placeholder: ‘+1 000 000 0000’,
helpText: ‘Include the CA country code +1 before the phone number’,
},
{
countryCode: ‘AU’,
placeholder: ‘+61 000 000 000’,
helpText: ‘Include the AU country code +61 before the phone number’,
},
{
countryCode: ‘DE’,
placeholder: ‘+49 000 0000000’,
helpText: ‘Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein’,
},
{
countryCode: ‘FR’,
placeholder: ‘+33 0 00 00 00 00’,
helpText: ‘Incluez le code pays FR +33 avant le numéro de téléphone’,
},
{
countryCode: ‘ES’,
placeholder: ‘+34 000 000 000’,
helpText: ‘Incluya el código de país ES +34 antes del número de teléfono’,
},
{
countryCode: ‘NL’,
placeholder: ‘+31 0 00000000’,
helpText: ‘Voeg de NL-landcode +31 toe vóór het telefoonnummer’,
},
{
countryCode: ‘BE’,
placeholder: ‘+32 000 00 00 00’,
helpText: ‘Incluez le code pays BE +32 avant le numéro de téléphone’,
},
{
countryCode: ‘CH’,
placeholder: ‘+41 00 000 00 00’,
helpText: ‘Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein’,
},
{
countryCode: ‘AT’,
placeholder: ‘+43 000 000 0000’,
helpText: ‘Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein’,
},
{
countryCode: ‘IE’,
placeholder: ‘+353 00 000 0000’,
helpText: ‘Include the IE country code +353 before the phone number’,
},
{
countryCode: ‘IT’,
placeholder: ‘+39 000 000 0000’,
helpText:
‘Includere il prefisso internazionale IT +39 prima del numero di telefono’,
},
];

const selectedPlaceholder = mockPlaceholders.find(function(item) {
return item && item.countryCode === countryCode;
});

return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder;
}

function updatePlaceholder(countryCode, fieldName) {
if (!countryCode || !fieldName) {
return;
}

const phoneInput = document.querySelector(‘#mce-‘ + fieldName);
if (!phoneInput) {
return;
}

const placeholder = getDefaultPlaceholder(countryCode);
if (placeholder) {
phoneInput.placeholder = placeholder;
}
}

function updateCountryCodeInstruction(countryCode, fieldName) {
updatePlaceholder(countryCode, fieldName);

}

function getDefaultHelpText(countryCode) {
const mockPlaceholders = [
{
countryCode: ‘US’,
placeholder: ‘+1 000 000 0000’,
helpText: ‘Include the US country code +1 before the phone number’,
},
{
countryCode: ‘GB’,
placeholder: ‘+44 0000 000000’,
helpText: ‘Include the GB country code +44 before the phone number’,
},
{
countryCode: ‘CA’,
placeholder: ‘+1 000 000 0000’,
helpText: ‘Include the CA country code +1 before the phone number’,
},
{
countryCode: ‘AU’,
placeholder: ‘+61 000 000 000’,
helpText: ‘Include the AU country code +61 before the phone number’,
},
{
countryCode: ‘DE’,
placeholder: ‘+49 000 0000000’,
helpText: ‘Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein’,
},
{
countryCode: ‘FR’,
placeholder: ‘+33 0 00 00 00 00’,
helpText: ‘Incluez le code pays FR +33 avant le numéro de téléphone’,
},
{
countryCode: ‘ES’,
placeholder: ‘+34 000 000 000’,
helpText: ‘Incluya el código de país ES +34 antes del número de teléfono’,
},
{
countryCode: ‘NL’,
placeholder: ‘+31 0 00000000’,
helpText: ‘Voeg de NL-landcode +31 toe vóór het telefoonnummer’,
},
{
countryCode: ‘BE’,
placeholder: ‘+32 000 00 00 00’,
helpText: ‘Incluez le code pays BE +32 avant le numéro de téléphone’,
},
{
countryCode: ‘CH’,
placeholder: ‘+41 00 000 00 00’,
helpText: ‘Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein’,
},
{
countryCode: ‘AT’,
placeholder: ‘+43 000 000 0000’,
helpText: ‘Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein’,
},
{
countryCode: ‘IE’,
placeholder: ‘+353 00 000 0000’,
helpText: ‘Include the IE country code +353 before the phone number’,
},
{
countryCode: ‘IT’,
placeholder: ‘+39 000 000 0000’,
helpText: ‘Includere il prefisso internazionale IT +39 prima del numero di telefono’,
},
];

if (!countryCode || typeof countryCode !== ‘string’) {
return mockPlaceholders[0].helpText;
}

const selectedHelpText = mockPlaceholders.find(function(item) {
return item && item.countryCode === countryCode;
});

return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText;
}

function setDefaultHelpText(countryCode) {
const helpTextSpan = document.querySelector(‘#help-text’);
if (!helpTextSpan) {
return;
}

}

function updateHelpTextCountryCode(countryCode, fieldName) {
if (!countryCode || !fieldName) {
return;
}

setDefaultHelpText(countryCode);
}

function initializeSmsPhoneDropdown(fieldName) {
if (!fieldName || typeof fieldName !== ‘string’) {
return;
}

const dropdown = document.querySelector(‘#country-select-‘ + fieldName);
const displayFlag = document.querySelector(‘#flag-display-‘ + fieldName);

if (!dropdown || !displayFlag) {
return;
}

const smsPhoneData = window.MC?.smsPhoneData;
if (smsPhoneData && smsPhoneData.programs && Array.isArray(smsPhoneData.programs)) {
dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs);
}

const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs);
if (defaultProgram && defaultProgram.countryCode) {
dropdown.value = defaultProgram.countryCode;

const flagSpan = displayFlag?.querySelector(‘#flag-emoji-‘ + fieldName);
if (flagSpan) {
flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode);
flagSpan.setAttribute(‘aria-label’, sanitizeHtml(defaultProgram.countryCode) + ‘ flag’);
}

updateSmsLegalText(defaultProgram.countryCode, fieldName);
updatePlaceholder(defaultProgram.countryCode, fieldName);
updateCountryCodeInstruction(defaultProgram.countryCode, fieldName);
}

var phoneInput = document.querySelector(‘#mce-‘ + fieldName);
if (phoneInput && defaultProgram.countryCallingCode) {
phoneInput.value = defaultProgram.countryCallingCode;
}

displayFlag?.addEventListener(‘click’, function(e) {
dropdown.focus();
});

dropdown?.addEventListener(‘change’, function() {
const selectedCountry = this.value;

if (!selectedCountry || typeof selectedCountry !== ‘string’) {
return;
}

const flagSpan = displayFlag?.querySelector(‘#flag-emoji-‘ + fieldName);
if (flagSpan) {
flagSpan.textContent = getCountryUnicodeFlag(selectedCountry);
flagSpan.setAttribute(‘aria-label’, sanitizeHtml(selectedCountry) + ‘ flag’);
}

const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) {
return program && program.countryCode === selectedCountry;
});
var phoneInput = document.querySelector(‘#mce-‘ + fieldName);
if (phoneInput && selectedProgram.countryCallingCode) {
phoneInput.value = selectedProgram.countryCallingCode;
}

updateSmsLegalText(selectedCountry, fieldName);
updatePlaceholder(selectedCountry, fieldName);
updateCountryCodeInstruction(selectedCountry, fieldName);
});
}

document.addEventListener(‘DOMContentLoaded’, function() {
const smsPhoneFields = document.querySelectorAll(‘[id^=”country-select-“]’);

smsPhoneFields.forEach(function(dropdown) {
const fieldName = dropdown?.id.replace(‘country-select-‘, ”);
initializeSmsPhoneDropdown(fieldName);
});
});
</script></div>

Liste Privée
Abonnez-vous pour un peu de magie  I  Join us for some magic
Nous gardons vos informations confidentielles I We respect your privacy