

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function retourne_valeur_radio(radio)
{

        for (var i=0; i < radio.length; i++)
                {
                if (radio[i].checked)
                        return radio[i].value;
                }
        return '';
}

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------

function verifMail( email )
{
var maReg = new RegExp ( "^\\w[\\w+\.\-]*@[\\w\-]+\.\\w[\\w+\.\-]*\\w$", "gi" ) ;

if ( email.search( maReg ) == -1 )
        {
        return false;
        }
else return true;
}

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------


function send_formulaire(thisForm,mail_data)
{
    var filename = "sendmail.php";
    filename+=mail_data;
    document.location.href=filename;
}
//------------------------------------------------------------------------------

function enable_disable(id,thisForm)
{
 var i = "-1";
 for(var j=0; j<thisForm.elements.length; j++)
    {
    if (thisForm.elements[j].id == id)
       {
       i = j;
       break;
       }
    }
 if (document.getElementById(id).value == "si" )  // Cas d'un bouton radio dont value = si
    {
    i++;
    i++;
    id = thisForm.elements[i].id;
    var tag = id.substring(2,4);
    var obj_radio_checkbox = thisForm.elements[i];
    do
      {                    
      document.getElementById(id).disabled = false;                   
      do // on boucle pour trouver le prochain element "normal"
         {
         tag = "-1";
         i++;
         obj_radio_checkbox = thisForm.elements[i];
         id = obj_radio_checkbox.id;   
         type = id.substring(0,2);
         tag = id.substring(2,4);               
         }
      while(type != "00" && i < (thisForm.elements.length - 1))     
      }
    while (tag == "06" ) // on test si on est toujours dans le même groupe      
    }
 else if (document.getElementById(id).value == "no" || document.getElementById(id).value == "oui") // Cas d'un bouton radio dont value = no
    {
    i++;
    id = thisForm.elements[i].id;
    var tag = id.substring(2,4);
    var obj_radio_checkbox = thisForm.elements[i];
    do
      {                     
      document.getElementById(id).disabled = true;
      document.getElementById(id).checked = false                      
      do // on boucle pour trouver le prochain element "normal"
         {
         tag = "-1";
         i++;
         obj_radio_checkbox = thisForm.elements[i];
         id = obj_radio_checkbox.id;   
         type = id.substring(0,2);
         tag = id.substring(2,4);             
         }
      while(type != "00" && i < (thisForm.elements.length - 1))     
      }  
    while (tag == "06") // on test si on est toujours dans le même groupe  
    }
	
	
else if (document.getElementById(id).checked == true) // Cas d'une checkbox cochée
		{
    i++;
    id = thisForm.elements[i].id;
    var tag = id.substring(2,4);
    var obj_radio_checkbox = thisForm.elements[i];
    do
      {                    
      document.getElementById(id).disabled = false;                   
      do // on boucle pour trouver le prochain element "normal"
         {
         tag = "-1";
         i++;
         obj_radio_checkbox = thisForm.elements[i];
         id = obj_radio_checkbox.id;   
         type = id.substring(0,2);
         tag = id.substring(2,4);               
         }
      while(type != "00" && i < (thisForm.elements.length - 1))     
      }
    while (tag == "06" ) // on test si on est toujours dans le même groupe      
    }
 else if (document.getElementById(id).checked == false) //Cas d'une checkbox nono cochée
    {
    i++;
    id = thisForm.elements[i].id;
    var tag = id.substring(2,4);
    var obj_radio_checkbox = thisForm.elements[i];
    do
      {                     
      document.getElementById(id).disabled = true;
      document.getElementById(id).checked = false                      
      do // on boucle pour trouver le prochain element "normal"
         {
         tag = "-1";
         i++;
         obj_radio_checkbox = thisForm.elements[i];
         id = obj_radio_checkbox.id;   
         type = id.substring(0,2);
         tag = id.substring(2,4);             
         }
      while(type != "00" && i < (thisForm.elements.length - 1))     
      }  
    while (tag == "06") // on test si on est toujours dans le même groupe  
    }
};


//------------------------------------------------------------------------------

function Add_2MailData(mail_data,name,value)
{




}

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------

function valider_formulaire(thisForm)
{
       var mail_data = "Formulaire";
       var i = 0;
       var Valid_All = true;
       var nbr_grp = 0;
       var lang;
       var msg_i = "";
       var msg_mail = "";
	   var form_type = "";
       while (i < thisForm.elements.length)
             {
             var elem_type = thisForm.elements[i].type;
             var elem_value = thisForm.elements[i].value;
             var elem_name = thisForm.elements[i].name;
             var id = thisForm.elements[i].id;
             
             var type = id.substring(0,2);
             var tag = "-1";
             
             
             if (type == "00") // si element "normal", on recupere le tag
                {
                tag = id.substring(2,4);                
                }
             
             
             if (elem_name == "lang") // Récupere la langue
                {
                lang = elem_value;
                }

             if (elem_name == "sujet") // Récupere le Titre du formulaire
                {
                mail_data += "=";
                mail_data += elem_value;
                mail_data += "&";
                }

			if (elem_name == "form_type") // Récupere la langue
                {
                mail_data += elem_name;
               	mail_data += "=";
               	mail_data += elem_value;
                mail_data += "&";
                }
			if (tag == "00" && elem_value != "") //Elements Groupe Non obligatoire
                {
                var obj_radio_checkbox = thisForm.elements[i];
                var group = id.substring(4,8);
                var grouptmp = id.substring(4,8);
                var elem_type = thisForm.elements[i].type;   
                var find_check = false;
                if (thisForm.elements[i].nodeName.toLowerCase() == "TEXTAREA"); // on recupere le type Textarea
                   {
                   elem_type = thisForm.elements[i].nodeName.toLowerCase(); 
                   }   
				        if (group != "0000")
					         {
                   if (obj_radio_checkbox.disabled == false && obj_radio_checkbox.checked == true || elem_type == "textarea" )
                      {
                	    mail_data += "mgroupe" +nbr_grp;
                	    mail_data += "=";
                	    mail_data += document.getElementById(group).value;
                	    mail_data += "&";
                	    nbr_grp++;				
				              }
				          
                   while (grouptmp == group) // on test si on est toujours dans le même groupe
                         {
                         if (grouptmp != "") //on entre pas si le groupe est vide
                            {
                            if (thisForm.elements[i].nodeName.toLowerCase() == "TEXTAREA"); // on recupere le type Textarea
                               {
                               elem_type = thisForm.elements[i].nodeName.toLowerCase(); 
                               }
                            elem_name = thisForm.elements[i].name;   
                            if (obj_radio_checkbox.checked == true)
                               {
                               mail_data += "groupe" +nbr_grp;
                               mail_data += "=";
							                 mail_data += elem_value;
                               mail_data += "&";
                               nbr_grp++;
                               find_check = true;
                               }
                            if (elem_type == "textarea" && elem_value != "")
                               {
                               mail_data += "groupe" +nbr_grp;
                               mail_data += "=";
                               mail_data += elem_name;
                               mail_data += " : ";
                               mail_data += elem_value;
                               mail_data += "&";
                               nbr_grp++;
                               }
                              tag = "-1";
                              i++;
                              obj_radio_checkbox = thisForm.elements[i];
                              id = obj_radio_checkbox.id;   
                              type = id.substring(0,2);
                              tag = id.substring(2,4);
                              grouptmp = id.substring(4,8);
                              elem_value = thisForm.elements[i].value; 
                              elem_type = thisForm.elements[i].type;                 
                            }
                         }
                    i--;
                    tag = thisForm.elements[i].id.substring(2,4);                
                   }
                else 
                   {
                   if (elem_type == "checkbox")
					            {
					            mail_data += "groupe" +nbr_grp;
                      mail_data += "=";
                      mail_data += elem_value;
                      mail_data += "&";
					            nbr_grp++;
			                }
                   else
					             {
                	     mail_data += elem_name;
                	     mail_data += "=";
                	     mail_data += elem_value;
                	     mail_data += "&";
					             }
                   }
		          }

       //--------------NON UTILISE POUR LE MOMENT--------------------------

       //     if (tag == "07" )
       //         {
       //         if (document.getElementById(id).disabled == true)
       //                     {
       //                     find_check = true;
       //                    i++;                        
       //                     }
       //         else
       //             {
       //             var group = id.substring(8,12);
       //             mail_data += "mgroupe" +nbr_grp;
       //             mail_data += "=";
       //             mail_data += document.getElementById(group).value;
       //             mail_data += " ";
       //             mail_data += document.getElementById(id).value;
       //             mail_data += "&";
       //             nbr_grp++;
       //             }
       //        }
       //------------------------------------------------------------------
             if (tag == "01" && elem_type == "text" && elem_value == "")  //Elements simple obligatoire non groupé
                {
                thisForm.elements[i].style.backgroundColor = "#FFFF66";
                Valid_All = false;
                break;
                }

             if (tag == "01" && elem_type == "text" && elem_value != "")  //Elements simple obligatoire non groupé
                {
                if (elem_name == "email")
                   {
                   if (verifMail(elem_value) == false) //si e-mail incorrect
                      {
                      if (lang == "fra")
                         {
                         alert("E-Mail Incorrect");
                         }
                      else if (lang == "eng")
                           {
                           alert("Incorrect E-Mail");
                           }
                      else if (lang == "ita")
                           {
                           alert("E-mail sbagliato");
                           }      
                      thisForm.elements[i].style.backgroundColor = "#FFFF66";
                      Valid_All = false;
                      break;
                      }
                   }
                mail_data += elem_name;
                mail_data += "=";
                mail_data += elem_value;
                mail_data += "&";
                }



             //-----------------------------------------------------------------
             if (tag == "01" && elem_type == "radio") //Elements radio obligatoire non groupé
                {
                var obj_radio = thisForm.elements[i];
                var name = obj_radio.name;
                var z = 0;
                var find_check = false;
                var family = id.substring(4,8); //parent ou child
                while (name == obj_radio.name)
                      {
                      if (obj_radio.checked == true)
                         {
                         find_check = true

                         mail_data += "groupe" +nbr_grp;
                         mail_data += "=";
                         mail_data += document.getElementById(family).value;
                         mail_data += " " + obj_radio.value;
                         mail_data += "&";
                         nbr_grp++;
                         }
                      i++;
                      obj_radio = thisForm.elements[i];
                      }
                i-=1;
                if (find_check == false)
                   {
                    var msg_i = "Merci de saisir au moins un choix dans la section : ";   ; // Merci de saisir au moins un choix ou Merci de saisir au moins un choix dans la section :
                      if (lang == "ita")
                          msg_i = "Vi chiediamo di scegliere almeno una delle seguenti opzioni : "; // Vi chiediamo di scegliere almeno una delle seguenti opzioni ou Inserisci almeno una scelta nella sezione : (traducteur google!)
                      if (lang == "eng")
                         msg_i = "Please enter at least one choice in the section : "; //Please enter at least one choice ou Please enter at least one choice in the section :
                      msg_i += document.getElementById(family).value;
                   alert (msg_i);
                   Valid_All = false;
                   break;
                   }
                }
             //-----------------------------------------------------------------
             if (tag == "03" || tag == "04" || tag == "05" || tag == "06" ||tag == "07") //Elements Groupe une zone Obligatoire
                {
                var obj_radio_checkbox = thisForm.elements[i];
                var group = id.substring(8,12);
                var grouptmp = id.substring(8,12);
                var find_check = false;

                if (obj_radio_checkbox.disabled == false)
                   {
                	mail_data += "mgroupe" +nbr_grp;
                	mail_data += "=";
                	mail_data += document.getElementById(group).value;
                	mail_data += "&";
                	nbr_grp++;				
                  }
                while (grouptmp == group) // on test si on est toujours dans le même groupe
                      {
                      if (grouptmp != "") //on entre pas si le groupe est vide
                         {
                         if (obj_radio_checkbox.disabled == true)
                            {
                            find_check = true;
                            i++;                        
                            break;
                            }
                         var elem_type = thisForm.elements[i].type;
                         var elem_value = thisForm.elements[i].value;
                         var elem_name = thisForm.elements[i].name;
                         var family = id.substring(4,8); //parent ou child

                         if (thisForm.elements[i].nodeName.toLowerCase() == "TEXTAREA"); // on recupere le type Textarea
                            {
                            elem_type = thisForm.elements[i].nodeName.toLowerCase(); 
                            }      
                         if (tag == "03" && elem_type == "textarea" && elem_value != "")
                            {
                            mail_data += "groupe" +nbr_grp;
                            mail_data += "=";
                            mail_data += elem_name;
                            mail_data += " : ";
                            mail_data += elem_value;
                            mail_data += "&";
                            nbr_grp++;
                            }
                         if ( obj_radio_checkbox.checked == true )
                            {
                            if (tag == "05" ) //il y a un parent
                               {
                               mail_data += "groupe" +nbr_grp;
                               mail_data += "=";
                               //mail_data += document.getElementById(family).value;
							                 mail_data += elem_value;
                               mail_data += " " + obj_radio_checkbox.value;
                               mail_data += "&";
                               nbr_grp++;
                               }
                            else if (tag == "07" ) //Multiples Champs radio une seule case obligatoire
                               {
                               mail_data += "groupe" +nbr_grp;
                               mail_data += "=";
                               //mail_data += document.getElementById(family).value;
							                 mail_data += obj_radio_checkbox.name;
                               mail_data += " " + obj_radio_checkbox.value;
                               mail_data += "&";
                               nbr_grp++;
                               }
                            else if (tag != "04")
                                {
                                mail_data += "groupe" +nbr_grp;
                                mail_data += "=";
                                mail_data += obj_radio_checkbox.value;
                                mail_data += "&";
                                nbr_grp++;
                                }
                            find_check = true;
                            if (tag == "04" ) //il y a un enfant
                               {
                               var value_child = document.getElementById(family).value;
                               if (obj_radio_checkbox.checked == true && value_child == "")
                                  {
                                  document.getElementById(family).style.backgroundColor = "#FFFF66" 
                                  find_check = false;
                                  Valid_All = false;           
                                  msg_i = document.getElementById(family).title; //msg erreur si enfant non rempli                   
                                  }
                               else
                                   {
                                   mail_data += "groupe" +nbr_grp;
                                   mail_data += "=";
                                   mail_data += obj_radio_checkbox.value + " : ";
                                   mail_data += value_child;
                                   mail_data += "&";
                                   nbr_grp++;
                                   }
                               }
                            }
                         
                         do // on boucle pour trouver le prochain element "normal"
                           {
                           tag = "-1";
                           i++;
                           obj_radio_checkbox = thisForm.elements[i];
                           id = obj_radio_checkbox.id;   
                           type = id.substring(0,2);
                           tag = id.substring(2,4);
                           grouptmp = id.substring(8,12);                  
                           }
                           while(type != "00" && i < (thisForm.elements.length - 1))     
                         }
                      }

                i-=1;

                if (find_check == false )
                   {
                   if (msg_i == "")
                      {
                      msg_i = "Merci de saisir au moins un choix dans la section : ";   ; // Merci de saisir au moins un choix ou Merci de saisir au moins un choix dans la section :
                      if (lang == "ita")
                          msg_i = "Vi chiediamo di scegliere almeno una delle seguenti opzioni : "; // Vi chiediamo di scegliere almeno una delle seguenti opzioni ou Inserisci almeno una scelta nella sezione : (traducteur google!)
                      if (lang == "eng")
                         msg_i = "Please enter at least one choice in the section : "; //Please enter at least one choice ou Please enter at least one choice in the section :
                      msg_i += document.getElementById(group).value;
                      }

                   Valid_All = false;

                   alert (msg_i);
                   break;
                   }
                }


             i++;
             }

       if (Valid_All == true)
          {
          document.getElementById("erreur_message").style.display="none";
         // var form_mail = "sendmail.php?";
		 var form_mail;
     form_mail = "../call_sendmail.php?"
         // var form_mail ="call_sendmail.php?";//pour pouvoir remonter dans l'arbo hors site
          form_mail += "lang=" + lang +"&" + mail_data;
          window.location.replace(form_mail);

          }
          else
              {
               document.getElementById("erreur_message").style.display="block";
              }

     //  alert(mail_data);
      // document.write("elem : "+i);

     //send_formulaire(thisForm,mail_data);



}


