function MM_openBrWindow(theURL,winName,features) { window.open(theURL,winName,features); } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i(),;:\\[] "; for(var i = 0; i < s_email.length; ++i) { if(s_bad_chars.indexOf(s_email.charAt(i)) != -1) { alert('Le email ne doit pas contenir de '+s_email.charAt(i)+'!'); return false; } } // On separe le nom et le domaine du email var ep = s_email.split("@"); // Le email doit avoir un seul @ if(ep.length != 2) { alert('Le email doit contenir qu\'un @ !'); return false; } // Le @ ne doit pas etre au debut ou a la fin if(ep[0].length == 0 || ep[1].length == 0) { alert('Le email ne doit pas débuter ou terminer avec un @ !'); return false; } // On separe les parties du domaine ainsi que l'extension var dp = ep[1].split("."); // Le domaine doit avoir au moins une extension if(dp.length < 2) { alert('Le email doit avoir une extension !'); return false; } // Le domaine, les sous-domaines potentiels et l'extension ne doivent pas etre vides for(var i = 0; i < dp.length; ++i) { if(dp[i].length == 0) { alert('Le email doit avoir un domaine et une extension valides !'); return false; } } for(var i = 0; i < s_email.length; ++i) { if(s_email.charCodeAt(i) > 127) { alert('Le caractère "'+s_email.charAt(i)+'" n\'est pas accepté !'); return false; } } return true; } function voirPreview(s_id_cat, s_id_carte) { MM_openBrWindow('popup.html?id_cat='+s_id_cat+'&id_carte='+s_id_carte,'postesexy_preview_carte','scrollbars=no,width=508,height=406'); return false; } function voirConditions() { MM_openBrWindow('conditions.html','_blank','scrollbars=yes,width=800,height=600,top=0,left=0'); return false; } function previewMessage() { updateRTE('rte_1'); var o_form = document.formulaire; var o_preview = document.preview_message; o_preview.titre.value = o_form.titre.value; o_preview.message.value = o_form.rte_1.value; o_preview.id_timbre.value = o_form.id_timbre.value; o_preview.nom_dest.value = o_form.nom_dest.value; o_preview.email_dest.value = o_form.email_dest_0.value; o_preview.nom_expe.value = o_form.nom_expe.value; o_preview.email_expe.value = o_form.email_expe.value; MM_openBrWindow('about:blank','postesexy_preview_message','scrollbars=no,width=508,height=780,top=0,left=0'); o_preview.submit(); } function choisirCarte(s_form) { var mon_form = eval('document.'+s_form); if(s_form == 'avec_date_envoi') { var j_envoi = mon_form.jour_envoi.value; var m_envoi = mon_form.mois_envoi.value; var a_envoi = mon_form.annee_envoi.value; if(j_envoi.length != 0 || m_envoi.length != 0 || a_envoi.length != 0) { if(j_envoi.length == 0) { alert('Le jour d\'envoi est invalide!'); return false; } if(m_envoi.length == 0) { alert('Le mois d\'envoi est invalide!'); return false; } if(a_envoi.length == 0) { alert('L\'année d\'envoi est invalide!'); return false; } // Pas le choix de striper les 0 initiaux a la main sinon parseInt les prend ca pour des octaux if(j_envoi.substr(0,1) == '0') { j_envoi = j_envoi.substr(1,1); } if(m_envoi.substr(0,1) == '0') { m_envoi = m_envoi.substr(1,1); } var ma_date = new Date(parseInt(a_envoi),parseInt(m_envoi) - 1,parseInt(j_envoi)); if(parseInt(j_envoi) != ma_date.getDate() || parseInt(m_envoi) != ma_date.getMonth()+1 || parseInt(a_envoi) != ma_date.getFullYear()) { alert('La date d\'envoi est invalide!'); return false; } } } else if(s_form == 'avec_email_dest') { if(!emailValide(mon_form.email_dest.value)) { mon_form.email_dest.focus(); return false; } } mon_form.submit(); return false; } function envoyerCarte(id_cat, id_carte) { document.pour_envoi.id_cat.value = id_cat; document.pour_envoi.id_carte.value = id_carte; document.pour_envoi.submit(); return false; } function changerTimbre(o_selection) { var o_timbre = false; if(document.all) { o_timbre = document.all.vigtimbre; } else if(document.getElementById) { o_timbre = document.getElementById('vigtimbre'); } if(o_timbre) { var a_timbre = o_selection.value.split('|'); document.formulaire.id_timbre.value = a_timbre[0]; o_timbre.style.backgroundImage = 'url('+a_timbre[1]+')'; } } function majDate() { var o_form = document.formulaire; if(o_form.date_envoi[0].checked) { o_form.jour.selectedIndex = 0; o_form.mois.selectedIndex = 0; o_form.annee.selectedIndex = 0; o_form.jour.disabled = true; o_form.mois.disabled = true; o_form.annee.disabled = true; } else { o_form.jour.disabled = false; o_form.mois.disabled = false; o_form.annee.disabled = false; } } var MAX_DEST = 10; function valider() { var o_form = document.formulaire; var o_table = document.getElementById('liste_dest'); updateRTE('rte_1'); var rte_stripped = stripHTML(o_form.rte_1.value); if(rte_stripped.length > 350) { alert('Votre message est trop long !'); return false; } // On s'assure que les emails destinataires fournis sont valides var cnt_dest = 0; var i; for(i = 0; i < MAX_DEST; ++i) { var email_dest = eval('o_form.email_dest_'+i); if(email_dest) { if(o_table.rows[i].style.display == 'none') { email_dest.value = ''; } else if(email_dest.value.length != 0) { if(!emailValide(email_dest.value)) { email_dest.focus(); email_dest.select(); return false; } else { ++cnt_dest; } } } } // On vérifie qu'il y a au moins un destinataire if(cnt_dest == 0) { alert('Vous devez fournir au moins un email destinataire !'); o_form.email_dest_0.focus(); return false; } //On verifie que l'email de l'expediteur est bon if(o_form.email_expe.value.length == 0) { alert('Vous devez fournir votre email !'); o_form.email_expe.focus(); return false; } if(!emailValide(o_form.email_expe.value)) { o_form.email_expe.focus(); o_form.email_expe.select(); return false; } // Si la date d'envoi n'est pas completement rentree, on propose de la mettre a aujourd'hui if(o_form.date_envoi[1].checked) { if(o_form.jour.selectedIndex == 0 || o_form.mois.selectedIndex == 0 || o_form.annee.selectedIndex == 0) { if(confirm("La date d'envoi n'est pas complète. Voulez-vous l'envoyer aujourd'hui ?")) { o_form.date_envoi[0].checked = true; majDate(); } else { return false; } } else { var j_envoi = o_form.jour.value; var m_envoi = o_form.mois.value; var a_envoi = o_form.annee.value; // Pas le choix de striper les 0 initiaux a la main sinon parseInt les prend ca pour des octaux if(j_envoi.substr(0,1) == '0') { j_envoi = j_envoi.substr(1,1); } if(m_envoi.substr(0,1) == '0') { m_envoi = m_envoi.substr(1,1); } var ma_date = new Date(parseInt(a_envoi),parseInt(m_envoi) - 1,parseInt(j_envoi)); if(parseInt(j_envoi) != ma_date.getDate() || parseInt(m_envoi) != ma_date.getMonth()+1 || parseInt(a_envoi) != ma_date.getFullYear()) { alert('La date d\'envoi est invalide!'); return false; } var aujourdhui = new Date(); if(ma_date < aujourdhui) { alert('Cette date est déjà passée!'); return false; } } } if(! o_form.ok_condition.checked) { alert("Vous devez accepter les conditions d'utilisation afin d'envoyer la carte !"); o_form.ok_condition.focus(); return false; } return true; } function modifierListeDest(i_id) { var o_form = document.formulaire; var o_table = document.getElementById('liste_dest'); if(i_id == 0)//On veut ajouter un nouveau destinataire { //On cherche le prochain input a afficher var i = 1; while(i < MAX_DEST && o_table.rows[i].style.display != 'none') ++i; if(i == MAX_DEST) { alert('Vous ne pouvez avoir plus de '+MAX_DEST+' destinataires pour une même carte !'); return; } //On rend le prochain input visible o_table.rows[i].style.display = ''; } else//On veut retirer un destinataire { if(i_id < 1 || MAX_DEST <= i_id) return;//out of bound, pas de message var i = i_id; var o_old_input; var o_new_input; while(i < MAX_DEST) { if(i + 1 < MAX_DEST && o_table.rows[i+1].style.display != 'none') { //On decale les emails un par un jusqu'au dernier visible o_old_input = eval('o_form.email_dest_'+i); o_new_input = eval('o_form.email_dest_'+(i+1)); o_old_input.value = o_new_input.value; } else { o_table.rows[i].style.display = 'none'; o_old_input = eval('o_form.email_dest_'+i); o_old_input.value = ''; } ++i; } } } function insertNodeAtSelection(win, insertNode) { var sel = win.getSelection(); // get current selection var range = sel.getRangeAt(0); // get the first range of the selection (there's almost always only one range) sel.removeAllRanges(); range.deleteContents(); // remove content of current selection from document var container = range.startContainer; // get location of current selection var pos = range.startOffset; range=document.createRange(); if (container.nodeType==3 && insertNode.nodeType==3) { container.insertData(pos, insertNode.nodeValue); range.setEnd(container, pos+insertNode.length); // put cursor after inserted text range.setStart(container, pos+insertNode.length); } else { var afterNode; if (container.nodeType==3) { var textNode = container; container = textNode.parentNode; var text = textNode.nodeValue; var textBefore = text.substr(0,pos); var textAfter = text.substr(pos); var beforeNode = document.createTextNode(textBefore); afterNode = document.createTextNode(textAfter); container.insertBefore(afterNode, textNode); container.insertBefore(insertNode, afterNode); container.insertBefore(beforeNode, insertNode); container.removeChild(textNode); } else { afterNode = container.childNodes[pos]; container.insertBefore(insertNode, afterNode); // else simply insert the node } range.setEnd(afterNode, 0); range.setStart(afterNode, 0); } sel.addRange(range); } function annuler_rte() { document.getElementById('rte_1').contentWindow.document.body.innerHTML = ''; } var f_update = null; function updateRTELen() { if(f_update) { updateRTE('rte_1'); var rte_stripped = stripHTML(document.formulaire.rte_1.value); if(rte_stripped.length > 350) { document.getElementById('rte_len').innerHTML = 'Il y a '+ (rte_stripped.length - 350)+ ' caractères de trop !'; document.getElementById('rte_len').className = 'arial_orange_11_bold'; } else { document.getElementById('rte_len').innerHTML = 'Caractères restants : '+ (350 - rte_stripped.length)+ ' / 350'; document.getElementById('rte_len').className = 'arial_11_gris2'; } } else { f_update = setInterval('updateRTELen()', 1000); } }