novUtils.addEvent(window,'load',caracInit);


function IsNumeric(strString)
   //  check for valid numeric strings
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }


function caracInit() {
	initverifFormconseiller();
}

function verifFormDiagnostic()
{
	var f=this;
	
	try
	{
		if (!isRadioChecked(f.genre))
		{
			alert("Vous devez indiquer votre civilité.");
			return false;
		}
	
		if (isInputEmpty(f.nom))
		{
			alert("Vous devez indiquer votre nom.");
			return false;
		}
	
		if (isInputEmpty(f.prenom))
		{
			alert("Vous devez indiquer votre prénom.");
			return false;
		}
	
		if ((isInputEmpty(f.addr1)) && (isInputEmpty(f.addr2)) && (isInputEmpty(f.addr3)))
		{
			alert("Vous devez indiquer votre adresse.");
			return false;
		}
	
		if (f.cp.value.length<2)
		{
			alert("Vous devez indiquer votre Code Postal.");
			return false;
		}

		if (isInputEmpty(f.ville))
		{
			alert("Vous devez indiquer le nom de votre ville.");
			return false;
		}
	
		if (f.pays.value == "")
		{
			alert("Vous devez indiquer un pays.");
			return false;
		
		}

		if (isCheckBoxChecked(f.cnil))
		{
			if (isInputEmpty(f.email))
			{
				alert("Vous devez indiquer une adresse e-mail valide pour recevoir les nouveautés.");
				return false;
			}
			if (!isEmail(f.email.value))
			{
				alert("Vous devez indiquer une adresse e-mail valide pour recevoir les nouveautés.");
				return false;
			}
		}
		if (isInputEmpty(f.email) || !isEmail(f.email.value))
		{
			alert("Vous devez indiquer une adresse e-mail valide.");
			return false;
		}
		if (isInputEmpty(f.numRappel))
		{
			alert("Vous devez indiquer un numéro de téléphone.");
			return false;			
		}
	}
	catch (err)
	{
		alert("Une erreur est survenue : Le formulaire ne peut être validé. \nVeuillez contacter le webmaster\n Détails : "+err);
		return false;
	}
	return true;
}

function verifForm(){
	var f=this;

	try{

	if (f.adh.options[f.adh.selectedIndex].value=="") { alert("Vous devez spécifier si vous êtes déjà adhérent."); return false; }
	if (f.adh.options[f.adh.selectedIndex].value=="oui")
	{
		if (!isInputEmpty(f.numAdh) && f.numAdh != '')
		{
			if (!IsNumeric(f.numAdh.value))
			{
				alert("Votre numéro d'adhérent ne doit comporter que des chiffres.");
				return false;
			}
		}
		else{
			alert("Vous devez spécifier votre numéro d'adhérent.");
			return false;
		}
	}
	else
		f.numAdh.value="";

	if (!isCheckBoxChecked(f.pro) && !isCheckBoxChecked(f.rmc) && !isCheckBoxChecked(f.rvi) && !isCheckBoxChecked(f.sr) && !isCheckBoxChecked(f.rmc) && !isCheckBoxChecked(f.cec) && !isCheckBoxChecked(f.eec) && !isCheckBoxChecked(f.cef) && !isCheckBoxChecked(f.voc) )	{
		alert("Vous devez sélectionner la ou les garanties qui vous intéressent")
		return false;
	}

	if (!isCheckBoxChecked(f.doc) && !isCheckBoxChecked(f.rappel) && !isCheckBoxChecked(f.etudPerso) && !isCheckBoxChecked(f.rdv)  && !isCheckBoxChecked(f.posez_question) )
	{ alert("Vous devez préciser l'objet de votre demande (envoi de documentation, rappel téléphonique, étude personnalisée, rendez-vous ou poser une question).");  return false; }
	
	if (isCheckBoxChecked(f.posez_question)) {
		if (!f.question.value) { alert("Vous devez saisir votre question."); return false;}
	}
	
	if (isCheckBoxChecked(f.rappel))
	{ if ( isInputEmpty(f.numRappel)) { alert("Vous devez indiquer le numéro de téléphone auquel nous pourrons vous joindre."); return false; } }

	if (isCheckBoxChecked(f.etudPerso))
	{ if ( isInputEmpty(f.numEtud)) { alert("Vous devez indiquer le numéro de téléphone auquel nous pourrons vous joindre."); return false; } }

	if (!isCheckBoxChecked(f.rappel) && !isInputEmpty(f.numRappel))
		{ alert ("Vous devez cocher la case « demande de rappel téléphonique » si vous voulez être rappelé par un conseiller."); return false;}

	if (!isCheckBoxChecked(f.etudPerso) && !isInputEmpty(f.numEtud))
		{ alert ("Vous devez cocher la case « demande de d'étude personnalisée » si vous voulez bénéficier d'une étude.");return false;}

	if (!isRadioChecked(f.genre)) { alert("Vous devez indiquer votre civilité."); return false; }

	if (isInputEmpty(f.nom)) { alert("Vous devez indiquer votre nom."); return false; }

	if (isInputEmpty(f.prenom)) { alert("Vous devez indiquer votre prénom."); return false; }

	if ( (isInputEmpty(f.addr1)) && (isInputEmpty(f.addr2)) && (isInputEmpty(f.addr3)) )
		{ alert("Vous devez indiquer votre adresse."); return false; }

	if (f.cp.value.length<2) { alert("Vous devez indiquer votre Code Postal."); return false; }

	if (isInputEmpty(f.ville)) { alert("Vous devez indiquer le nom de votre ville."); return false; }

	if (f.pays.value=="") {  alert("Vous devez spécifier votre pays."); return false; }

	if (isCheckBoxChecked(f.cnil))
	{
		if (isInputEmpty(f.email)) { alert("Vous devez indiquer une adresse e-mail valide pour recevoir les nouveautés."); return false; }
		if (!isEmail(f.email.value)) { alert("Vous devez indiquer une adresse e-mail valide pour recevoir les nouveautés."); return false; }
	}
	if (isInputEmpty(f.email) || !isEmail(f.email.value)) { alert("Vous devez indiquer une adresse e-mail valide."); return false; }


} catch(err) { alert("Une erreur est survenue : Le formulaire ne peut être validé. \nVeuillez contacter le webmaster\n Détails : "+err); return false;}
	return true;
}

function initverifFormconseiller() {
	var form = novUtils.$('formConseiller');
	var formDiagnostic = novUtils.$('formdiagnostic');
	if (form){
		//form.onsubmit = verifForm(form);
		form.onsubmit = verifForm;
	}
	else if (formDiagnostic)
	{
		formDiagnostic.onsubmit = verifFormDiagnostic;
	}
	return false;

}