@import url(https://fonts.bunny.net/css?family=eb-garamond:400,700);
#_form_44_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_44_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_44_._form-top{top:0}#_form_44_._form-bottom{bottom:0}#_form_44_._form-left{left:0}#_form_44_._form-right{right:0}#_form_44_ input[type="text"],#_form_44_ input[type="tel"],#_form_44_ input[type="date"],#_form_44_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_44_ textarea{resize:none}#_form_44_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#FAC5F3 !important;border:1px solid #333333 !important;color:#030303 !important;padding:17px !important}#_form_44_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_44_ ._submit.processing{position:relative}#_form_44_ ._submit.processing::before{content:"";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#FAC5F3, #FAC5F3), conic-gradient(#FAC5F3, #030303);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_44_ ._submit.processing::after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:#FAC5F3 !important;border:1px solid #333333 !important;color:#030303 !important;padding:17px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_44_ ._close-icon{cursor:pointer;background-image:url("https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_44_ ._close-icon:before{position:relative}#_form_44_ ._form-body{margin-bottom:30px}#_form_44_ ._form-image-left{width:150px;float:left}#_form_44_ ._form-content-right{margin-left:164px}#_form_44_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_44_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url("https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png");background-size:130px auto;background-repeat:no-repeat}#_form_44_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_44_ ._form-label,#_form_44_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_44_._dark ._form-branding{color:#333}#_form_44_._dark ._form-branding ._logo{background-image:url("https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png")}#_form_44_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_44_ ._form_element *{font-size:14px}#_form_44_ ._form_element._clear{clear:both;width:100%;float:none}#_form_44_ ._form_element._clear:after{clear:left}#_form_44_ ._form_element input[type="text"],#_form_44_ ._form_element input[type="date"],#_form_44_ ._form_element select,#_form_44_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_44_ ._field-wrapper{position:relative}#_form_44_ ._inline-style{float:left}#_form_44_ ._inline-style input[type="text"]{width:150px}#_form_44_ ._inline-style:not(._clear)+._inline-style:not(._clear){margin-left:20px}#_form_44_ ._form_element img._form-image{max-width:100%}#_form_44_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_44_ ._clear-element{clear:left}#_form_44_ ._full_width{width:100%}#_form_44_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_44_ input[type="text"]._has_error,#_form_44_ textarea._has_error{border:#F37C7B 1px solid}#_form_44_ input[type="checkbox"]._has_error{outline:#F37C7B 1px solid}#_form_44_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_44_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_44_ ._error._below{padding-top:8px;top:100%;right:0}#_form_44_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_44_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_44_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0px 1px 4px rgba(31, 33, 41, 0.298295)}#_form_44_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_44_ ._button-wrapper ._error-inner._form_error{position:static}#_form_44_ ._error-inner._no_arrow{margin-bottom:10px}#_form_44_ ._error-arrow{position:absolute;width:0;height:0}#_form_44_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_44_ input[type="text"].datetime_date{width:69%;display:inline}#_form_44_ select.datetime_time{width:29%;display:inline;height:32px}#_form_44_ input[type="date"].datetime_date{width:69%;display:inline-flex}#_form_44_ input[type="time"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_44_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_44_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_44_ ._form-content{margin:0;width:100%}#_form_44_ ._form-inner{display:block;min-width:100%}#_form_44_ ._form-title,#_form_44_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_44_ ._form-title{font-size:1.2em}#_form_44_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_44_ ._form-element,#_form_44_ ._inline-style,#_form_44_ input[type="text"],#_form_44_ label,#_form_44_ p,#_form_44_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_44_ ._row._checkbox-radio label{display:inline}#_form_44_ ._row,#_form_44_ p,#_form_44_ label{margin-bottom:0.7em;width:100%}#_form_44_ ._row input[type="checkbox"],#_form_44_ ._row input[type="radio"]{margin:0 !important;vertical-align:middle !important}#_form_44_ ._row input[type="checkbox"]+span label{display:inline}#_form_44_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_44_ ._form-image{max-width:100%;height:auto !important}#_form_44_ input[type="text"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_44_ input[type="radio"],#_form_44_ input[type="checkbox"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_44_ button[type="submit"]{padding:20px;font-size:1.5em}#_form_44_ ._inline-style{margin:20px 0 0 !important}}#_form_44_{position:relative;text-align:left;margin:25px auto 0;padding-top:20px;padding-right:20px;padding-bottom:20px;padding-left:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#f4f2b7 !important;border-top:2px solid #b0b0b0 !important;border-right:2px solid #b0b0b0 !important;border-bottom:2px solid #b0b0b0 !important;border-left:2px solid #b0b0b0 !important;max-width:1000px;-moz-border-radius:10px !important;-webkit-border-radius:10px !important;border-radius:10px !important;color:#000000}#_form_44_._inline-form,#_form_44_._inline-form ._form-content{font-family:EB Garamond;font-size:10px;font-weight:400}#_form_44_._inline-form ._row span,#_form_44_._inline-form ._row label{font-family:EB Garamond;font-size:14px;font-weight:400;line-height:1.6em;color:black !important}#_form_44__inlineform input[type="text"],#_form_44__inlineform input[type="date"],#_form_44__inlineform input[type="tel"],#_form_44__inlineform select,#_form_44__inlineform textarea:not(.g-recaptcha-response){font-family:EB Garamond;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_44_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_44_._inline-form ._form-thank-you{font-family:EB Garamond;font-size:10px;font-weight:400;color:black !important}#_form_44_._inline-form ._form-label,#_form_44_._inline-form ._form-emailidentifier,#_form_44_._inline-form ._form-checkbox-option-label{font-family:EB Garamond;font-size:14px;font-weight:700;line-height:1.6em;color:black !important}#_form_44_._inline-form ._submit{margin-top:12px;font-family:EB Garamond;font-size:14px;font-weight:400}#_form_44_._inline-form ._html-code h1,#_form_44_._inline-form ._html-code h2,#_form_44_._inline-form ._html-code h3,#_form_44_._inline-form ._html-code h4,#_form_44_._inline-form ._html-code h5,#_form_44_._inline-form ._html-code h6,#_form_44_._inline-form ._form-title{font-family:EB Garamond;font-size:18px;line-height:normal;font-weight:700;color:black;margin-bottom:0}#_form_44_._inline-form ._form-branding{font-family:"IBM Plex Sans", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_44_:before,#_form_44_:after{content:" ";display:table}#_form_44_:after{clear:both}#_form_44_._inline-style{width:auto;display:inline-block}#_form_44_._inline-style input[type="text"],#_form_44_._inline-style input[type="date"]{padding:10px 12px}#_form_44_._inline-style button._inline-style{position:relative;top:27px}#_form_44_._inline-style p{margin:0}#_form_44_._inline-style ._button-wrapper{position:relative;margin:27px 12.5px 0 20px}#_form_44_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_44_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_44_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_44_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_44_ .iti input{width:100%;height:32px;border:#979797 1px solid;border-radius:4px}#_form_44_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_44_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_44_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_44_ .iti__country-list--dropup{margin-bottom:4px}#_form_44_ .phone-error-hidden{display:none}#_form_44_ .phone-error{color:#E40E49}#_form_44_ .phone-input-error{border:1px solid #E40E49 !important}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_44_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}
#_form_44_ ._x82008324 ._form-title{text-align:center}#_form_44_ ._submit{display:block;margin:0 auto}
Je m'inscris à la Newsletter sooo british de M. C. Beaton
Les informations dans ce formulaire sont toutes obligatoires, et sont collectées et traitées par la société Editions Albin Michel, afin de recevoir nos newsletters M. C. Beaton/ Générale / 22 Rue Huyghens. Conformément à la Loi Informatique et Libertés du 06/01/1978 modifiée et au Règlement (UE) 2016/679, vous disposez notamment d'un droit d'accès, de rectification et d’opposition aux informations vous concernant. Vous pouvez exercer ces droits en nous contactant par courriel à info-site@albin-michel.fr ou par courrier à Editions Albin Michel, Service Communication digitale, 22 rue Huyghens, 75014 Paris. Plus d’information sur notre politique de protection de vos données personnelles
Je m’abonne également aux newsletters suivantes :
Newsletter 22 rue Huyghens
Newsletter Albin Michel
Je m'inscris
window.cfields = [];
window._show_thank_you = function(id, message, trackcmp_url, email) {
var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');
form.querySelector('._form-content').style.display = 'none';
thank_you.innerHTML = message;
thank_you.style.display = 'block';
const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;
var visitorObject = window[vgoAlias];
if (email && typeof visitorObject !== 'undefined') {
visitorObject('setEmail', email);
visitorObject('update');
} else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {
// Site tracking URL to use after inline form submission.
_load_script(trackcmp_url);
}
if (typeof window._form_callback !== 'undefined') window._form_callback(id);
};
window._show_unsubscribe = function(id, message, trackcmp_url, email) {
var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');
var branding = form.querySelector('._form-branding');
if (branding) {
branding.style.display = 'none';
}
form.querySelector('._form-content').style.display = 'none';
unsub.style.display = 'block';
form.insertAdjacentHTML('afterend', message)
const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;
var visitorObject = window[vgoAlias];
if (email && typeof visitorObject !== 'undefined') {
visitorObject('setEmail', email);
visitorObject('update');
} else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {
// Site tracking URL to use after inline form submission.
_load_script(trackcmp_url);
}
if (typeof window._form_callback !== 'undefined') window._form_callback(id);
};
window._show_error = function(id, message, html) {
var form = document.getElementById('_form_' + id + '_'),
err = document.createElement('div'),
button = form.querySelector('button'),
old_error = form.querySelector('._form_error');
if (old_error) old_error.parentNode.removeChild(old_error);
err.innerHTML = message;
err.className = '_error-inner _form_error _no_arrow';
var wrapper = document.createElement('div');
wrapper.className = '_form-inner';
wrapper.appendChild(err);
button.parentNode.insertBefore(wrapper, button);
var submitButton = form.querySelector('[id^="_form"][id$="_submit"]');
submitButton.disabled = false;
submitButton.classList.remove('processing');
if (html) {
var div = document.createElement('div');
div.className = '_error-html';
div.innerHTML = html;
err.appendChild(div);
}
};
window._show_pc_confirmation = function(id, header, detail, show, email) {
var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');
if (pc_confirmation.style.display === 'none') {
form.querySelector('._form-content').style.display = 'none';
pc_confirmation.innerHTML = "" + header + "" + "
" + detail + "
" +
"Manage preferences";
pc_confirmation.style.display = 'block';
var mp = document.querySelector('input[name="mp"]');
mp.value = '0';
} else {
form.querySelector('._form-content').style.display = 'inline';
pc_confirmation.style.display = 'none';
}
var hideButton = document.getElementById('hideButton');
// Add event listener to the button
hideButton.addEventListener('click', function() {
var submitButton = document.querySelector('#_form_44_submit');
submitButton.disabled = false;
submitButton.classList.remove('processing');
var mp = document.querySelector('input[name="mp"]');
mp.value = '1';
window.location.href = window.location.href;
});
const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;
var visitorObject = window[vgoAlias];
if (email && typeof visitorObject !== 'undefined') {
visitorObject('setEmail', email);
visitorObject('update');
} else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {
// Site tracking URL to use after inline form submission.
_load_script(trackcmp_url);
}
if (typeof window._form_callback !== 'undefined') window._form_callback(id);
};
window._load_script = function(url, callback, isSubmit) {
var head = document.querySelector('head'), script = document.createElement('script'), r = false;
var submitButton = document.querySelector('#_form_44_submit');
script.charset = 'utf-8';
script.src = url;
if (callback) {
script.onload = script.onreadystatechange = function() {
if (!r && (!this.readyState || this.readyState == 'complete')) {
r = true;
callback();
}
};
}
script.onerror = function() {
if (isSubmit) {
if (script.src.length > 10000) {
_show_error("44", "Désolé, votre envoi a échoué. Veuillez raccourcir vos réponses et réessayer.");
} else {
_show_error("44", "Désolé, votre envoi a échoué. Veuillez réessayer.");
}
submitButton.disabled = false;
submitButton.classList.remove('processing');
}
}
head.appendChild(script);
};
(function() {
if (window.location.search.search("excludeform") !== -1) return false;
var getCookie = function(name) {
var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));
return match ? match[2] : null;
}
var setCookie = function(name, value) {
var now = new Date();
var time = now.getTime();
var expireTime = time + 1000 * 60 * 60 * 24 * 365;
now.setTime(expireTime);
document.cookie = name + '=' + value + '; expires=' + now + ';path=/; Secure; SameSite=Lax;';
}
var addEvent = function(element, event, func) {
if (element.addEventListener) {
element.addEventListener(event, func);
} else {
var oldFunc = element['on' + event];
element['on' + event] = function() {
oldFunc.apply(this, arguments);
func.apply(this, arguments);
};
}
}
var _removed = false;
var form_to_submit = document.getElementById('_form_44_');
var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;
var getUrlParam = function(name) {
if (name.toLowerCase() !== 'email') {
var params = new URLSearchParams(window.location.search);
return params.get(name) || false;
}
// email is a special case because a plus is valid in the email address
var qString = window.location.search;
if (!qString) {
return false;
}
var parameters = qString.substr(1).split('&');
for (var i = 0; i < parameters.length; i++) {
var parameter = parameters[i].split('=');
if (parameter[0].toLowerCase() === 'email') {
return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);
}
}
return false;
};
var acctDateFormat = "%d/%B/%Y";
var getNormalizedDate = function(date, acctFormat) {
var decodedDate = decodeURIComponent(date);
if (acctFormat && acctFormat.match(/(%d|%e).*%m/gi) !== null) {
return decodedDate.replace(/(\d{2}).*(\d{2}).*(\d{4})/g, '$3-$2-$1');
} else if (Date.parse(decodedDate)) {
var dateObj = new Date(decodedDate);
var year = dateObj.getFullYear();
var month = dateObj.getMonth() + 1;
var day = dateObj.getDate();
return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;
}
return false;
};
var getNormalizedTime = function(time) {
var hour, minutes;
var decodedTime = decodeURIComponent(time);
var timeParts = Array.from(decodedTime.matchAll(/(\d{1,2}):(\d{1,2})\W*([AaPp][Mm])?/gm))[0];
if (timeParts[3]) { // 12 hour format
var isPM = timeParts[3].toLowerCase() === 'pm';
if (isPM) {
hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;
} else {
hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];
}
} else { // 24 hour format
hour = timeParts[1];
}
var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;
var minutes = timeParts[2];
return `${normalizedHour}:${minutes}`;
};
for (var i = 0; i < allInputs.length; i++) {
var regexStr = "field\\[(\\d+)\\]";
var results = new RegExp(regexStr).exec(allInputs[i].name);
if (results != undefined) {
allInputs[i].dataset.name = allInputs[i].name.match(/\[time\]$/)
? `${window.cfields[results[1]]}_time`
: window.cfields[results[1]];
} else {
allInputs[i].dataset.name = allInputs[i].name;
}
var fieldVal = getUrlParam(allInputs[i].dataset.name);
if (fieldVal) {
if (allInputs[i].dataset.autofill === "false") {
continue;
}
if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") {
if (allInputs[i].value == fieldVal) {
allInputs[i].checked = true;
}
} else if (allInputs[i].type == "date") {
allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);
} else if (allInputs[i].type == "time") {
allInputs[i].value = getNormalizedTime(fieldVal);
} else {
allInputs[i].value = fieldVal;
}
}
}
var remove_tooltips = function() {
for (var i = 0; i < tooltips.length; i++) {
tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);
}
tooltips = [];
};
var remove_tooltip = function(elem) {
for (var i = 0; i < tooltips.length; i++) {
if (tooltips[i].elem === elem) {
tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);
tooltips.splice(i, 1);
return;
}
}
};
var create_tooltip = function(elem, text) {
var tooltip = document.createElement('div'),
arrow = document.createElement('div'),
inner = document.createElement('div'), new_tooltip = {};
if (elem.type != 'radio' && elem.type != 'checkbox') {
tooltip.className = '_error';
arrow.className = '_error-arrow';
inner.className = '_error-inner';
inner.innerHTML = text;
tooltip.appendChild(arrow);
tooltip.appendChild(inner);
elem.parentNode.appendChild(tooltip);
} else {
tooltip.className = '_error-inner _no_arrow';
tooltip.innerHTML = text;
elem.parentNode.insertBefore(tooltip, elem);
new_tooltip.no_arrow = true;
}
new_tooltip.tip = tooltip;
new_tooltip.elem = elem;
tooltips.push(new_tooltip);
return new_tooltip;
};
var resize_tooltip = function(tooltip) {
var rect = tooltip.elem.getBoundingClientRect();
var doc = document.documentElement,
scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0));
if (scrollPosition < 40) {
tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below';
} else {
tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above';
}
};
var resize_tooltips = function() {
if (_removed) return;
for (var i = 0; i < tooltips.length; i++) {
if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);
}
};
var validate_field = function(elem, remove) {
var tooltip = null, value = elem.value, no_error = true;
remove ? remove_tooltip(elem) : false;
if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, '');
if (elem.getAttribute('required') !== null) {
if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) {
var elems = form_to_submit.elements[elem.name];
if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {
no_error = elem.checked;
}
else {
no_error = false;
for (var i = 0; i < elems.length; i++) {
if (elems[i].checked) no_error = true;
}
}
if (!no_error) {
tooltip = create_tooltip(elem, "Veuillez sélectionner une option.");
}
} else if (elem.type =='checkbox') {
var elems = form_to_submit.elements[elem.name], found = false, err = [];
no_error = true;
for (var i = 0; i < elems.length; i++) {
if (elems[i].getAttribute('required') === null) continue;
if (!found && elems[i] !== elem) return true;
found = true;
elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, '');
if (!elems[i].checked) {
no_error = false;
elems[i].className = elems[i].className + ' _has_error';
err.push("Cocher %s est obligatoire".replace("%s", elems[i].value));
}
}
if (!no_error) {
tooltip = create_tooltip(elem, err.join('
'));
}
} else if (elem.tagName == 'SELECT') {
var selected = true;
if (elem.multiple) {
selected = false;
for (var i = 0; i < elem.options.length; i++) {
if (elem.options[i].selected) {
selected = true;
break;
}
}
} else {
for (var i = 0; i < elem.options.length; i++) {
if (elem.options[i].selected
&& (!elem.options[i].value
|| (elem.options[i].value.match(/\n/g)))
) {
selected = false;
}
}
}
if (!selected) {
elem.className = elem.className + ' _has_error';
no_error = false;
tooltip = create_tooltip(elem, "Veuillez sélectionner une option.");
}
} else if (value === undefined || value === null || value === '') {
elem.className = elem.className + ' _has_error';
no_error = false;
tooltip = create_tooltip(elem, "Ce champ est obligatoire.");
}
}
if (no_error && (elem.id == 'field[]' || elem.id == 'ca[11][v]')) {
if (elem.className.includes('phone-input-error')) {
elem.className = elem.className + ' _has_error';
no_error = false;
}
}
if (no_error && elem.name == 'email') {
if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) {
elem.className = elem.className + ' _has_error';
no_error = false;
tooltip = create_tooltip(elem, "Saisissez une adresse e-mail valide.");
}
}
if (no_error && /date_field/.test(elem.className)) {
if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) {
elem.className = elem.className + ' _has_error';
no_error = false;
tooltip = create_tooltip(elem, "Saisissez une date valide.");
}
}
tooltip ? resize_tooltip(tooltip) : false;
return no_error;
};
var needs_validate = function(el) {
if(el.getAttribute('required') !== null){
return true
}
if(el.name === 'email' && el.value !== ""){
return true
}
if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){
return true
}
return false
};
var validate_form = function(e) {
var err = form_to_submit.querySelector('._form_error'), no_error = true;
if (!submitted) {
submitted = true;
for (var i = 0, len = allInputs.length; i < len; i++) {
var input = allInputs[i];
if (needs_validate(input)) {
if (input.type == 'tel') {
addEvent(input, 'blur', function() {
this.value = this.value.trim();
validate_field(this, true);
});
}
if (input.type == 'text' || input.type == 'number' || input.type == 'time') {
addEvent(input, 'blur', function() {
this.value = this.value.trim();
validate_field(this, true);
});
addEvent(input, 'input', function() {
validate_field(this, true);
});
} else if (input.type == 'radio' || input.type == 'checkbox') {
(function(el) {
var radios = form_to_submit.elements[el.name];
for (var i = 0; i < radios.length; i++) {
addEvent(radios[i], 'click', function() {
validate_field(el, true);
});
}
})(input);
} else if (input.tagName == 'SELECT') {
addEvent(input, 'change', function() {
validate_field(this, true);
});
} else if (input.type == 'textarea'){
addEvent(input, 'input', function() {
validate_field(this, true);
});
}
}
}
}
remove_tooltips();
for (var i = 0, len = allInputs.length; i < len; i++) {
var elem = allInputs[i];
if (needs_validate(elem)) {
if (elem.tagName.toLowerCase() !== "select") {
elem.value = elem.value.trim();
}
validate_field(elem) ? true : no_error = false;
}
}
if (!no_error && e) {
e.preventDefault();
}
resize_tooltips();
return no_error;
};
addEvent(window, 'resize', resize_tooltips);
addEvent(window, 'scroll', resize_tooltips);
var hidePhoneInputError = function(inputId) {
var errorMessage = document.getElementById("error-msg-" + inputId);
var input = document.getElementById(inputId);
errorMessage.classList.remove("phone-error");
errorMessage.classList.add("phone-error-hidden");
input.classList.remove("phone-input-error");
};
var initializePhoneInput = function(input, defaultCountry) {
return window.intlTelInput(input, {
utilsScript: "https://unpkg.com/intl-tel-input@17.0.18/build/js/utils.js",
autoHideDialCode: false,
separateDialCode: true,
initialCountry: defaultCountry,
preferredCountries: []
});
}
var setPhoneInputEventListeners = function(inputId, input, iti) {
input.addEventListener('blur', function() {
var errorMessage = document.getElementById("error-msg-" + inputId);
if (input.value.trim()) {
if (iti.isValidNumber()) {
iti.setNumber(iti.getNumber());
if (errorMessage.classList.contains("phone-error")){
hidePhoneInputError(inputId);
}
} else {
showPhoneInputError(inputId)
}
} else {
if (errorMessage.classList.contains("phone-error")){
hidePhoneInputError(inputId);
}
}
});
input.addEventListener("countrychange", function() {
iti.setNumber('');
});
input.addEventListener("keydown", function(e) {
var charCode = (e.which) ? e.which : e.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !== 8) {
e.preventDefault();
}
});
};
var showPhoneInputError = function(inputId) {
var errorMessage = document.getElementById("error-msg-" + inputId);
var input = document.getElementById(inputId);
errorMessage.classList.add("phone-error");
errorMessage.classList.remove("phone-error-hidden");
input.classList.add("phone-input-error");
};
var _form_serialize = function(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=0;i {
if (key !== 'hideButton') {
formData.append(key, value);
}
//formData.append(key, value);
});
let request = {
headers: {
"Accept": "application/json"
},
body: formData,
method: "POST"
};
let pageUrlParams = new URLSearchParams(window.location.search);
if (pageUrlParams.has('t')) {
request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');
}
const response = await fetch('https://albinmichel.activehosted.com/proc.php?jsonp=true', request);
return response.json();
}
if (formSupportsPost) {
submitForm().then((data) => {
eval(data.js);
});
} else {
_load_script('https://albinmichel.activehosted.com/proc.php?' + serialized + '&jsonp=true', null, true);
}
}
return false;
};
addEvent(form_to_submit, 'submit', form_submit);
})();