function searchWord(str, search) { var re = new RegExp('\\b'+search+'(\\b|$)'); var m = re.exec(str); return m != null; } var ok = '#80DA80'; var ko = '#FFC6AF'; function simuClickRadio(radioName) { if(document.getElementsByName(radioName)[0]) { var oRadio = document.getElementsByName(radioName); for(var i = 0; i < oRadio.length; i++) { if(oRadio[i].checked) { oRadio[i].click(); } } } } function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } } } addLoadEvent(function(){ setAdvanced(false); setCertif(false); simuClickRadio('cmd_formation'); if($("[name='cmd_type_dmd']").length > 0) { onClickTypeDmd(); } if($("[name='cmd_is_gift']").length > 0) { onClickGift(); } }); function initMontantPaiement(acompte, price) { document.getElementById('cmd_montant_acompte').innerHTML = '('+acompte+'€)'; document.getElementById('cmd_montant_totalite').innerHTML = '('+price+'€)'; return true; } function onClickSession(is_pro, is_cpf, is_advanced, is_certif, is_acompte, acompte, price, url_cpf) { setAdvanced(false); setCertif(false); showRadio('cmd_type_dmd', 'org', is_pro); showRadio('cmd_type_dmd', 'ent', is_pro); showRadio('cmd_type_dmd', 'cpf', is_cpf); if(!is_pro && !is_cpf) { checkRadio('cmd_type_dmd', 'inscription'); } showRadio('cmd_acompte', 'acompte', is_acompte); initMontantPaiement(acompte , price); $('#form_adv').val(is_advanced); $('#form_cap').val(is_certif); onClickTypeDmd(); } function onClickTypeDmd() { $('.row_session').hide(); $('.row_type').hide(); $('.row_dmd').hide(); $('.row_ins').hide(); $('.row_cpf').hide(); $('.row_ent').hide(); $('.row_org').hide(); if(valueRadio('cmd_formation') == '') { $('.row_session').show(); } else { $('.row_type').show(); switch(valueRadio('cmd_type_dmd')) { case 'inscription': $('.row_dmd').show(); $('.row_ins').show(); onClickGift(); break; case 'cpf': $('.row_dmd').show(); $('.row_cpf').show(); hideGift(); break; case 'organisme': $('.row_dmd').show(); $('.row_org').show(); hideGift(); break; case 'entreprise': $('.row_dmd').show(); $('.row_ent').show(); break; default: } if(valueRadio('cmd_type_dmd') != '') { setAdvanced($('#form_adv').val() == 'true'); setCertif($('#form_cap').val() == 'true'); } } } function hideGift() { $("[name='cmd_is_gift']").prop("checked", false); onClickGift(); } function onClickGift() { var display = $("[name='cmd_is_gift']").is(':checked'); if(!display) { $('.row_gift').hide(); $("[name='cmd_nom_gift']").val(''); $("[name='cmd_prenom_gift']").val(''); $("[name='cmd_email_gift']").val(''); } else { $('.row_gift').show(); } } function setAdvanced(isAdvanced) { if(isAdvanced) { $('.row_adv').show(); } else { $('.row_adv').hide(); } $("[name='cmd_cb_avance']").prop( "checked", false ); } function setCertif(isCertif) { if(isCertif) { $('.row_cap').show(); } else { $('.row_cap').hide(); } $("[name='cmd_cb_cap']").prop( "checked", false ); } function calcFormationPriveePrice() { var nbMax = 8; var duration = parseFloat(document.getElementsByName('cmd_grp_duree')[0].value); if(isNaN(duration)) { duration=0; } var nb = parseInt(document.getElementsByName('cmd_grp_nombre')[0].value); if(isNaN(nb)) { nb=0; } if(nb>nbMax) { nb = nbMax; } var p1 = 100; var p8 = 29; var price = 0; if(nb>0) { price = Math.round(nb * (nbMax*p8-p1)/(nbMax-1) + (p1-(nbMax*p8-p1)/(nbMax-1))); } document.getElementById('cmd_formation_duree').innerHTML = duration; document.getElementById('cmd_formation_nombre').innerHTML = nb; document.getElementById('cmd_formation_prix').innerHTML = duration * price; } function calcCakePrice() { var servings = parseInt(document.getElementsByName('cmd_parts')[0].value); if(isNaN(servings)) { servings=0; } document.getElementById('cmd_gateau_parts').innerHTML = servings; document.getElementById('cmd_gateau_prix').innerHTML = Math.max(servings * 15, 400); } function calcSheetsNumber(numFile) { var sheetsNumber = 0; var input = document.getElementsByName('cmd_fichier'+numFile)[0]; if(input.value != "") { var nb = parseInt(document.getElementsByName('cmd_nombre'+numFile)[0].value); if(!isNaN(nb)) { sheetsNumber = nb; } } return sheetsNumber; } function calcFilePrice(numFile) { var tot = 0; var nb = calcSheetsNumber(numFile); if(nb > 0) { if(valueRadio('cmd_papier'+numFile) === 'azyme') { tot += nb * 8; } if(valueRadio('cmd_papier'+numFile) === 'sucre') { tot += nb * 11; } } return tot; } function calcFdp() { var sheetsNumber = calcSheetsNumber('1')+calcSheetsNumber('2')+calcSheetsNumber('3'); var price = 0; if(sheetsNumber == 0) { price = 0; } else if(sheetsNumber <= 1) { price = 6; } else { price = Math.ceil(sheetsNumber / 8) * 8; } return price; } function calcPrices() { var fdp = calcFdp(); var tot = calcFilePrice('1')+calcFilePrice('2')+calcFilePrice('3'); if(valueRadio('cmd_livraison') == 'livraison') { tot += fdp; } document.getElementById('cmd_fdp').innerHTML = fdp.toFixed(2)+"€"; if(valueRadio('cmd_impression') == '1') { document.getElementById('cmd_montant').innerHTML = tot.toFixed(2)+"€"; document.getElementById('envoyer').value = "Validation de la commande"; } else { document.getElementById('cmd_montant').innerHTML = "demande de devis"; document.getElementById('envoyer').value = "Demande de devis"; } } function checkRadio(champ, value) { var oRadio = document.getElementsByName(champ); for(var i = 0; i < oRadio.length; i++) { if(oRadio[i].value == value) { oRadio[i].checked = true; } else { oRadio[i].checked = false; } } } function clearRadio(champ) { var oRadio = document.getElementsByName(champ); for(var i = 0; i < oRadio.length; i++) { oRadio[i].checked = false; } } function disableRadio(champ, value, isDisabled) { var oRadio = document.getElementsByName(champ); for(var i = 0; i < oRadio.length; i++) { if(oRadio[i].value == value) { oRadio[i].disabled = isDisabled; } } } function showRadio(champ, value, state) { var spanName = "span_"+champ+"_"+value; var spanRadio = $('.' + spanName); if(state) { spanRadio.show(); disableRadio(champ, value, false); } else { spanRadio.hide(); disableRadio(champ, value, true); if(valueRadio(champ)==value) { clearRadio(champ); } //Cochage auto si reste 1 if(document.getElementsByName(champ).length == 2) { if(document.getElementsByName(champ)[0].value == value) { document.getElementsByName(champ)[1].checked = true; } else { document.getElementsByName(champ)[0].checked = true; } } } } function verifPropFichier(fileInput) { var ext_autor = " jpg jpeg png pdf docx doc "; var ext_brut = " pdf docx doc "; if(document.getElementsByName('cmd_impression').length > 0) { if(verifRadio('cmd_impression') && valueRadio('cmd_impression') == '1') { ext_autor = ext_brut; } } var test = true; var ext = fileInput.value.split('.').pop().toLowerCase(); if(ext_autor.indexOf(" "+ext+" ") < 0) { showErreur("Le fichier "+fileInput.value+" n'est pas du bon type. Types autorises:"+ext_autor); test = false; } try { var size = fileInput.files[0].size; if(size >= 20971520) { showErreur("Les fichiers ne doivent pas faire plus de 20Mo ("+fileInput.value+")"); test = false; } } catch(e) { } return test; } function verifFichier(num, isImpression) { var fichier_ok = true; var input = document.getElementsByName('cmd_fichier'+num)[0]; if(input.value != "") { if(isImpression) { fichier_ok = verifRadio('cmd_papier'+num) && fichier_ok; //fichier_ok = verifText('cmd_dim_x'+num) && fichier_ok; //fichier_ok = verifText('cmd_dim_y'+num) && fichier_ok; fichier_ok = verifText('cmd_nombre'+num) && fichier_ok; } fichier_ok = verifPropFichier(input) && fichier_ok; } return fichier_ok; } function verifText(champ) { var oText = document.getElementsByName(champ)[0]; if(oText.value.length == 0) { oText.style.backgroundColor=ko; return false; } else { oText.style.backgroundColor=''; return true; } } function clearTextBackground(f) { var oText = f.elements; for(var i = 0; i < oText.length; i++) { if(oText[i].type == 'text' || oText[i].type == 'textarea' || oText[i].type == 'number') { oText[i].style.backgroundColor=''; } } document.getElementById('div_message_erreur').style.display = 'none'; document.getElementById('cmd_message_erreur').innerHTML = ''; } function verifRadio(champ) { var oRadio = document.getElementsByName(champ); for(var i = 0; i < oRadio.length; i++) { if(oRadio[i].checked) { document.getElementById('span_'+champ).style.color=''; return true; } } document.getElementById('span_'+champ).style.color='red'; return false; } function valueRadio(champ) { var oRadio = document.getElementsByName(champ); for(var i = 0; i < oRadio.length; i++) { if(oRadio[i].checked) { return oRadio[i].value; } } return ''; } function verifCheckbox(champ) { var checkbox = $("[name='" + champ + "']"); if(checkbox.is(":visible")) { if(document.getElementsByName(champ)[0].checked) { document.getElementById('span_'+champ).style.color=''; return true; } else { document.getElementById('span_'+champ).style.color='red'; return false; } } else { return true; } } function verifEmailConfirm() { var test = false; var email = document.getElementsByName('cmd_email')[0]; var emailConfirm = document.getElementsByName('cmd_email_confirm')[0]; if(emailConfirm.value.length > 0 && email.value) { if(email.value == emailConfirm.value) { emailConfirm.style.backgroundColor=ok; test = true; document.getElementsByName('cmd_valid')[0].value='236548'; } else { emailConfirm.style.backgroundColor=ko; } } else { emailConfirm.style.backgroundColor=ko; } var re = /\S+@\S+\.\S+/; if(!re.test(email.value)) { test = false; email.style.backgroundColor=ko; emailConfirm.style.backgroundColor=ko; } else { email.style.backgroundColor=ok; } return test; } function showErreur(text) { document.getElementById('div_message_erreur').style.display = 'block'; var labelErreur = document.getElementById('cmd_message_erreur'); if(labelErreur.innerHTML.length > 0) { labelErreur.innerHTML += '
'; } if(text.length > 0) { labelErreur.innerHTML += text; } else { labelErreur.innerHTML += 'Merci de bien vouloir remplir tous les champs en rouge.'; } } function verifImpression(f) { try { clearTextBackground(f); var form_ok = true; form_ok = verifText('cmd_nom') && form_ok; form_ok = verifText('cmd_prenom') && form_ok; form_ok = verifText('cmd_email') && form_ok; form_ok = verifEmailConfirm() && form_ok; form_ok = verifText('cmd_telephone') && form_ok; form_ok = verifText('cmd_adresse') && form_ok; form_ok = verifText('cmd_codepostal') && form_ok; form_ok = verifText('cmd_ville') && form_ok; form_ok = verifRadio('cmd_paiement') && form_ok; form_ok = verifRadio('cmd_livraison') && form_ok; form_ok = verifRadio('cmd_impression') && form_ok; if(valueRadio('cmd_livraison') == 'boutique') { form_ok = verifText('cmd_imp_date') && form_ok; } form_ok = verifFichier('1', true) && form_ok; form_ok = verifFichier('2', true) && form_ok; form_ok = verifFichier('3', true) && form_ok; if(form_ok) { var price = calcFilePrice('1')+calcFilePrice('2')+calcFilePrice('3'); if(valueRadio('cmd_livraison') == 'livraison') { price += calcFdp(); } if(valueRadio('cmd_impression') == '1' && price == 0) { showErreur("La commande est vide !"); return false; } else if(valueRadio('cmd_impression') == '1' && price < 50) { showErreur("Le montant minimum pour une commande est de 50€"); return false; } else { document.getElementById('envoyer').value = "Transfert des fichiers en cours..."; document.getElementById('envoyer').disabled = true; return true; } } else { showErreur(''); return false; } } catch(e) { document.getElementById('envoyer').value = "Transfert des fichiers en cours..."; document.getElementById('envoyer').disabled = true; return true; } } function verifGateau(f) { try { clearTextBackground(f); var parts = document.getElementsByName('cmd_parts')[0].value; if(isNaN(parts)) { showErreur('Le nombre de parts demandé est incorrect.'); return false; } var form_ok = true; form_ok = verifText('cmd_nom') && form_ok; form_ok = verifText('cmd_prenom') && form_ok; form_ok = verifText('cmd_email') && form_ok; form_ok = verifEmailConfirm() && form_ok; form_ok = verifText('cmd_telephone') && form_ok; form_ok = verifText('cmd_adresse') && form_ok; form_ok = verifText('cmd_codepostal') && form_ok; form_ok = verifText('cmd_ville') && form_ok; form_ok = verifText('cmd_pays') && form_ok; form_ok = verifText('cmd_date') && form_ok; form_ok = verifRadio('cmd_livraison') && form_ok; form_ok = verifText('cmd_description') && form_ok; form_ok = verifText('cmd_parts') && form_ok; form_ok = verifText('cmd_saveurs') && form_ok; form_ok = verifFichier('1', false) && form_ok; form_ok = verifFichier('2', false) && form_ok; form_ok = verifRadio('cmd_paiement') && form_ok; if(form_ok) { document.getElementById('envoyer').value = "Transfert des fichiers en cours..."; document.getElementById('envoyer').disabled = true; return true; } else { showErreur(''); return false; } } catch(e) { document.getElementById('envoyer').value = "Transfert des fichiers en cours..."; document.getElementById('envoyer').disabled = true; return true; } } function verifFormation(f) { try { clearTextBackground(f); if(valueRadio('cmd_formation') == '') { showErreur("Vous devez choisir une formation."); return false; } var form_ok = true; form_ok = verifText('cmd_nom') && form_ok; form_ok = verifText('cmd_prenom') && form_ok; form_ok = verifText('cmd_email') && form_ok; form_ok = verifEmailConfirm() && form_ok; form_ok = verifText('cmd_telephone') && form_ok; form_ok = verifText('cmd_adresse') && form_ok; form_ok = verifText('cmd_codepostal') && form_ok; form_ok = verifText('cmd_ville') && form_ok; form_ok = verifText('cmd_pays') && form_ok; form_ok = verifRadio('cmd_type_dmd') && form_ok; if(valueRadio('cmd_type_dmd') === 'inscription') { form_ok = verifRadio('cmd_acompte') && form_ok; form_ok = verifRadio('cmd_paiement') && form_ok; } if(valueRadio('cmd_paiement') === 'cheque cadeau') { form_ok = verifText('cmd_num_chq_cadeau') && form_ok; } if(document.getElementsByName('cmd_is_gift')[0].checked) { form_ok = verifText('cmd_nom_gift') && form_ok; form_ok = verifText('cmd_prenom_gift') && form_ok; } if(valueRadio('cmd_type_dmd') === 'organisme') { var idPoleEmploi = document.getElementsByName('cmd_id_pole_emploi')[0].value; if(idPoleEmploi.length > 0) { var patt = new RegExp("^[0-9]{7}[a-zA-Z0-9]$"); if(!patt.test(idPoleEmploi)) { showErreur("Le format de votre identifiant Pole Emploi est incorrect, vous devez indiquer celui mentionné sur les courriers, pas celui avec lequel vous vous connectez."); return false; } } } form_ok = verifCheckbox('cmd_cb_avance') && form_ok; form_ok = verifCheckbox('cmd_cb_concurrence') && form_ok; form_ok = verifCheckbox('cmd_cb_cap') && form_ok; if(form_ok) { return true; } else { showErreur(''); return false; } } catch(e) { return true; } } function verifFormationPrivee(f) { try { clearTextBackground(f); var form_ok = true; form_ok = verifText('cmd_grp_date') && form_ok; form_ok = verifText('cmd_grp_duree') && form_ok; form_ok = verifText('cmd_grp_theme') && form_ok; form_ok = verifText('cmd_grp_nombre') && form_ok; form_ok = verifText('cmd_grp_lieu') && form_ok; form_ok = verifText('cmd_nom') && form_ok; form_ok = verifText('cmd_prenom') && form_ok; form_ok = verifText('cmd_email') && form_ok; form_ok = verifEmailConfirm() && form_ok; form_ok = verifText('cmd_telephone') && form_ok; form_ok = verifText('cmd_adresse') && form_ok; form_ok = verifText('cmd_codepostal') && form_ok; form_ok = verifText('cmd_ville') && form_ok; form_ok = verifText('cmd_pays') && form_ok; form_ok = verifRadio('cmd_paiement') && form_ok; form_ok = verifCheckbox('cmd_cb_concurrence') && form_ok; if(form_ok) { return true; } else { showErreur(''); return false; } } catch(e) { return true; } } function verifContact(f) { try { clearTextBackground(f); var form_ok = true; form_ok = verifText('cmd_nom') && form_ok; form_ok = verifText('cmd_prenom') && form_ok; form_ok = verifText('cmd_email') && form_ok; form_ok = verifEmailConfirm() && form_ok; form_ok = verifText('cmd_telephone') && form_ok; form_ok = verifText('cmd_commentaire') && form_ok; var com = document.getElementsByName('cmd_commentaire')[0].value.toLowerCase(); if(searchWord(com, 'cpf')) { showErreur("Il n'existe pas de formation certifiante au Cake Design éligible au CPF en France car le Cake Design n'est pas inscrit au RNCP.
Le CPF est éventuellement mobilisable si vous passez par Pôle Emploi mais cela dépend des conseillers.
Le paiement en plusieurs fois est possible si vous le souhaitez."); return false; } if(searchWord(com, 'devis')) { showErreur("Pour faire une demande de devis, merci d'utiliser les liens situés au début de ce formulaire."); return false; } if(form_ok) { return true; } else { showErreur(''); return false; } } catch(e) { return true; } } function verifChequeCadeau(f) { try { clearTextBackground(f); var form_ok = true; form_ok = verifText('cmd_nom_gift') && form_ok; form_ok = verifText('cmd_prenom_gift') && form_ok; form_ok = verifText('cmd_montant') && form_ok; form_ok = verifText('cmd_nom') && form_ok; form_ok = verifText('cmd_prenom') && form_ok; form_ok = verifText('cmd_email') && form_ok; form_ok = verifEmailConfirm() && form_ok; form_ok = verifText('cmd_telephone') && form_ok; form_ok = verifText('cmd_adresse') && form_ok; form_ok = verifText('cmd_codepostal') && form_ok; form_ok = verifText('cmd_ville') && form_ok; form_ok = verifText('cmd_pays') && form_ok; form_ok = verifRadio('cmd_paiement') && form_ok; if(form_ok) { return true; } else { showErreur(''); return false; } } catch(e) { return true; } }