// JavaScript Document
// vérif du formulaire
tablo_lang = Array();

tablo_lang['erreur_nb'] = Array();
tablo_lang['erreur_nb']['fr'] = " erreur(s) restante(s).";
tablo_lang['erreur_nb']['en'] = " error(s).";

tablo_lang['erreur_email'] = Array();
tablo_lang['erreur_email']['fr'] = " n'est pas un e-mail valide.\nMerci de vérifier.";
tablo_lang['erreur_email']['en'] = " is not a valid email.\nPlease enter a valid email.";
tablo_lang['erreur_email']['de'] = " ist keine korrect Email.\nBitte Ihre Email überprüfen.";

tablo_lang['erreur_nombre'] = Array();
tablo_lang['erreur_nombre']['fr'] = " n'est pas un nombre.\nRappel : Uniquement des chiffres sont acceptés.";
tablo_lang['erreur_nombre']['en'] = " isn't a number.\nRemember : Only numbers are accepted.";


tablo_lang['erreur_paiementcb'] = Array();
tablo_lang['erreur_paiementcb']['fr'] = "Vous avez choisi un paiement par CB\nVous devez saisir le numéro de carte et sa date de validité.";
tablo_lang['erreur_paiementcb']['en'] = "You choose a payment by Blue Card\nYou must enter the card number and its validity date.";

/* ---------- explication des différentes méthodes -----------
tablomethod = 0 -> pas de vérification
tablomethod = 1 -> vérification
tablomethod = 2 -> vérification si c'est bien un email
tablomethod = 3 -> vérification si c'est bien un nombre
tablomethod >= 100 -> méthodes spécifiques
------- exemple d'utilisation ---------
<script type="text/javascript">
var lg;
lg = "fr";
formverif0 = 1;
quelform0 = "form_contact";
tabloverif0 = Array('identity','nom','prenom','tel','email','message');
tablomethod0 = Array('0','0','0','0','2','1');
tablotexttemp0 = Array("","","","","","");
tablotextsierror0 = Array("form_contact_texterror0"

,"Les champs indiqués d\'un <span class=form_asterisque>*</span> sont obligatoires."
,"Les champs indiqués d\'un <span class=form_asterisque>*</span> sont obligatoires."
,"Les champs indiqués d\'un <span class=form_asterisque>*</span> sont obligatoires."
,"Les champs indiqués d\'un <span class=form_asterisque>*</span> sont obligatoires."
,"Les champs indiqués d\'un <span class=form_asterisque>*</span> sont obligatoires."
,"Les champs indiqués d\'un <span class=form_asterisque>*</span> sont obligatoires.");

</script>
<form name="form_contact" id="form_contact" method="post" action="contact.php" onsubmit="return func_verifform(quelform0,formverif0,tabloverif0,tablomethod0,tablotexttemp0,tablotextsierror0);">
------- fin exemple -------------------
*/

function func_verifform(quelform,formverif,tabloverif,tablomethod,tablotexttemp,tablotextsierror) {
	nb = tabloverif.length;
	if(formverif == 1) {
		nok = 0;
		quelinputfirst = "";
		for(i=0; i<nb; i++) {
			lequel = tabloverif[i];
			texteerreur = tablotextsierror[i+1];
			quelinput = document.forms[quelform].elements[lequel];
			if(tablomethod[i] != 0) {
				
				if(texteerreur == undefined) texteerreur = "";
				
				if(tablomethod[i] >= 1) {
					//alert(quelinput.type+" : "+lequel+" / value : "+quelinput.value);
					if(quelinput.length > 0 || quelinput.type == "checkbox") { // alors ce sont des btons radio ou checkbox
						nbchecked = 0;
						
						if(quelinput.type == "checkbox") {
							if (quelinput.checked) {
									nbchecked++;
							}
						}
						else {						
							for(r=0; r < quelinput.length; r++) {
								if (quelinput[r].checked) {
									nbchecked++;
								}
								
							}
						}
						
						if(nbchecked == 0) {
							//if(quelinputfirst == "") quelinputfirst = quelinput;
							lequel2 = lequel+'_td';
							document.getElementById(lequel2).className = "form_input_iserror";
							document.getElementById(tablotextsierror[0]).style.display = "block";
							document.getElementById(tablotextsierror[0]).innerHTML = texteerreur;
							nok++;	
						}
						else if (nbchecked > 0) {
							lequel2 = lequel+'_td';
							document.getElementById(lequel2).className = "";
						}
					}
					else if(quelinput.type == "text" || quelinput.type == "textarea") {
						if(quelinput.value == "") {
							if(quelinputfirst == "") quelinputfirst = quelinput;
							//quelinput.focus();
							quelinput.className = "form_input_iserror";
							document.getElementById(tablotextsierror[0]).style.display = "block";
							document.getElementById(tablotextsierror[0]).innerHTML = texteerreur;
							nok++;
							//break;
						}
					}
					
					if(quelinput.value != "") {
						quelinput.className = "";
						//break;
					}
				} // fin tablomethod = 1
				
				
				// dernières verifications
				if(tablomethod[i] == 2 && quelinput.value != "" && nok == 0) { // vérifie si c'est bien un mail
					if(!func_verifiermail(quelinput.value)) {
						if(quelinputfirst == "") quelinputfirst = quelinput;
						//quelinput.focus();
						quelinput.className = "form_input_iserror";
						document.getElementById(tablotextsierror[0]).style.display = "block";
						document.getElementById(tablotextsierror[0]).innerHTML = texteerreur;
						nok++;	
					}
				}
				if(tablomethod[i] == 3 && quelinput.value != "" && nok == 0) { // vérifie si c'est bien un nombre
					if(!func_verifiernum(quelinput.value)) {
						if(quelinputfirst == "") quelinputfirst = quelinput;
						//quelinput.focus();
						quelinput.className = "form_input_iserror";
						document.getElementById(tablotextsierror[0]).style.display = "block";
						document.getElementById(tablotextsierror[0]).innerHTML = texteerreur;
						nok++;	
					}
				}
				
				if(tablomethod[i] == 100 && nok == 0) { // vérifie si donnée cb sont bien entrées 
					result = func_verifier_paiement(quelform,tablotexttemp,tablotextsierror);
					if(!result) {
						if(quelinputfirst == "") quelinputfirst = quelinput;
						//quelinput.focus();
						quelinput.className = "form_input_iserror";
						document.getElementById(tablotextsierror[0]).style.display = "block";
						document.getElementById(tablotextsierror[0]).innerHTML = texteerreur;
						nok++;
						
					}
				}
				
				if(quelinput.value == tablotexttemp[i]) {
					if(quelinputfirst == "") quelinputfirst = quelinput;
					//quelinput.focus();
					quelinput.className = "form_input_iserror";
					document.getElementById(tablotextsierror[0]).style.display = "block";
					document.getElementById(tablotextsierror[0]).innerHTML = texteerreur;
					//nok++;
					//break;
				}

			} // fin de restriction si une méthode a été définie
		} // fin du for
		
		
		
		if(nok > 0) {
			// focus du premier élément en erreur
			if(quelinputfirst) quelinputfirst.focus();
			document.getElementById(tablotextsierror[0]).innerHTML += "<br>"+nok+tablo_lang['erreur_nb'][lg];
			return false;
		}
		else {
			document.getElementById(tablotextsierror[0]).style.display = "none";
			return true;
		}
	} // fin du if
	else {
		for(i=0; i<nb; i++) { // met à zéro les champ encore avec le texte temporaire d'indication
			lequel = tabloverif[i];
			quelinput = document.forms[quelform].elements[lequel];
			if(quelinput.value == tablotexttemp[i]) {
				quelinput.value = "";
			}
		}
		return true;
	}
}


	function func_quelradio(nom) {
	  var lequel;
      for (var i=0; i<nom.length;i++) {
         if (nom[i].checked) {
            lequel = nom[i].value;
         }
      }
	  return lequel;
   }
   
   
	// tabloverif = 2
   function func_verifiermail(mail) {
      if ((mail.indexOf("@")>=0)&&(mail.indexOf(".")>=0)) {
         return true 
      } else {
         alert("'"+mail+"'"+tablo_lang['erreur_email'][lg]);
         return false
      }
   }

	// tabloverif = 3
   function func_verifiernum(num) {
      if (!(isNaN(num))) {
         return true 
      } else {
         alert("'"+num+"'"+tablo_lang['erreur_nombre'][lg]);
         return false
      }
   }
   
 	// tabloverif = 100
   function func_verifier_paiement(quelform,tablotexttemp,tablotextsierror) {
	   formverif=1;
	   tabloverif = Array('cb_num','cb_expire');
	   tablomethod = Array(3,1);
	   tablotexttemp = Array("","");
	   tablotextsierror = Array(tablotextsierror[0],tablotextsierror[1],tablotextsierror[2]);
		lequel = document.getElementById('mode_paiement1');
		val = lequel.checked;
		if(val) {
			result = func_verifform(quelform,formverif,tabloverif,tablomethod,tablotexttemp,tablotextsierror);
			if(!result) {
				alert(tablo_lang['erreur_paiementcb'][lg]);
				return false;
			}
			else {
				return true;
			}
		}
		else {
			return true;	
		}
   }

 function func_setcontenumail(id_contenant,id_destination)
{
document.getElementById(id_destination).value = document.getElementById(id_contenant).innerHTML ;

}