/*________________________________________________________________________________________
mise en évidence du champ en erreur
et affichage du message d'erreur
*/
function afficheError(champ,error){
if(document.getElementById('errors')){
if(champ.length > 0){
document.getElementById("label_"+champ).style.color = "#c90101";
}
if(error.length > 0){
if(document.getElementById("span_errors").innerHTML.length == 0){
document.getElementById("span_errors").innerHTML = "Merci de corriger les erreurs suivantes :
";
}else{
document.getElementById("span_errors").innerHTML += "
";
}
document.getElementById("span_errors").innerHTML += error;
}
document.getElementById("errors").style.display = 'block';
}else{
document.getElementById(champ).innerHTML = error;
document.getElementById(champ).style.display = 'block';
}
}
/*________________________________________________________________________________________
initialize un champ afin de supprimer le background d'erreur
*/
function initialiseErreur(champ){
switch (champ){
case 'nom','prenom','adresse_1','ville':
verrifElementForm(champ,'str');
break;
case 'email':
verrifElementForm(champ,'email');
break;
default:
verrifElementForm(champ,'str');
break;
}
}
/*________________________________________________________________________________________
controle le formulaire d'inscription avant envoi
*/
function frm_Contact_submit(){
var error = 0;
if(document.getElementById("span_errors")){
document.getElementById("span_errors").innerHTML = '';
}
if(document.getElementById("errors")){
document.getElementById("errors").style.width = (document.getElementById("center").offsetWidth)-40+"px";
}
//--> informations personnelles
var email = document.getElementById("email").value;
email = email.toLowerCase();
document.getElementById('email').value = email;
if(!verrifElementForm('nom')){
error ++;
afficheError('nom',"Vous n'avez pas renseigné votre nom");
}
if(!verrifElementForm('prenom')){
error ++;
afficheError('prenom',"Vous n'avez pas renseigné votre prénom");
}
if(!verrifElementForm('email')){
error ++;
afficheError('email',"Vous n'avez pas renseigné votre adresse e-mail");
}
if(document.getElementById('email').value.length == 0){
error ++;
verrifElementForm('email');
afficheError('email',"");
}else{
if(!verrifElementForm('email')){
error ++;
afficheError('email',"Votre adresse e-mail est invalide");
}
}
if(!verrifElementForm('nature')){
error ++;
afficheError('nature',"Vous n'avez pas renseigné la nature de votre demande");
}
if(!verrifElementForm('message')){
error ++;
afficheError('message',"Vous n'avez pas renseigné le message");
}
//-->validation
if(error == 0){
if(document.getElementById("errors")){
document.getElementById("errors").style.display = 'none';
}
frm_submit("frm_contact");
}
}
/*________________________________________________________________________________________
envoi du formulaire
*/
function frm_submit(id_form){
document.getElementById(id_form).submit();
}
/*________________________________________________________________________________________
contrôle un élément du formulaire
*/
function verrifElementForm(element){
var nElement = document.getElementById(element).value;
if(element.indexOf('email', 0) == 0){
elementSwitch = 'email';
}else{
elementSwitch = element;
}
switch (elementSwitch){
case 'id_civilite':
if(nElement == '0'){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
case 'nature':
if(nElement == '0'){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
case 'email':
if(!verifEmail(nElement)){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
case 'id_csp':
if(nElement == '0'){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
if(nElement == 'autre'){
nElement = document.getElementById('autre_csp').value;
document.getElementById('hidden_csp').style.display = 'block';
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
if(nElement.length == 0){
document.getElementById("error_autre_csp").style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_autre_csp").style.color = "#c90101";
return false;
}else{
document.getElementById("error_autre_csp").style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_autre_csp").style.color = "#666";
document.getElementById("error_"+element).style.backgroundImage = "none";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
}else{
document.getElementById('hidden_csp').style.display = 'none';
document.getElementById('autre_csp').value = '';
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
}
break;
case 'password':
if(nElement.length < 5){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
case 'captcha':
if(nElement.length < 5){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
case 'code_postal':
if(nElement.length < 5){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
case 'telephone_1':
verifNombre('telephone_1');
if(nElement.length < 10){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
case 'telephone_2':
verifNombre('telephone_2');
if(nElement.length > 0){
if(nElement.length < 10){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
}else{
return true;
break;
}
default:
if(nElement.length == 0){
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_error.png)";
document.getElementById("label_"+element).style.color = "#c90101";
return false;
}else{
document.getElementById("error_"+element).style.backgroundImage = "url(/templates/orthowave/images/fond_champ_obligatoire.png)";
document.getElementById("label_"+element).style.color = "#666";
return true;
}
break;
}
}
/*________________________________________________________________________________________
vérification du format d'un champ alpha
*/
function verifLettres(champ){
var value = document.getElementById(champ).value;
document.getElementById(champ).value = value.replace(/[^a-z^A-Z]/g,"");
}
/*________________________________________________________________________________________
controle du format de l'adresse email
*/
function verifEmail(email){
a = email;
valide = false;
for(var j=1;j<(a.length);j++){
if(a.charAt(j)=='@'){
if(j<(a.length-4)){
for(var k=j;k<(a.length-2);k++){
if(a.charAt(k)=='.') valide = true;
}
}
}
}
}
/*________________________________________________________________________________________
Efface le contenu du formulaire
*/
function frm_Contact_eraze(){
var els = document.getElementById("frm_contact").elements;
for(i=0;i