var IE=document.all;
//initialisation
function init() {
	
	if (document.getElementById('Q1_1')!=null) {
		document.getElementById('Q1_1').checked = true;
		document.getElementById('Q1_autre').value = "";
		document.getElementById('Q2_1').value = "";
		document.getElementById('Q2_2').value = "";
	}
	if (document.getElementById('TQ9_1')!=null) {
		document.getElementById("S19_OUI").selectedIndex = 0;
		document.getElementById("S19_NON").selectedIndex = 0;
		document.getElementById("S20_OUI").selectedIndex = 0;
		document.getElementById("S20_NON").selectedIndex = 0;
		(IE) ? document.getElementById("TQ8_1").style.display = "block" : document.getElementById("TQ8_1").style.display = "table-row";
		(IE) ? document.getElementById("Q10_num").style.display = "block" : document.getElementById("Q10_num").style.display = "table-row";
		document.getElementById("TQ8_2").style.display = "none";
		document.getElementById("Q8_1_1").checked = true;
		document.getElementById("Q8_1_2").checked = true;
		dispSelect(true, false, false, false);
	}
	if (document.getElementById("Q10_msg")!=null) document.getElementById('etoile').style.visibility = "hidden";
}

function dispChoix(oOption){
	var f = oOption.form;
	if (oOption.id=="Q1_2" || oOption.id=="Q1_3"){
		document.getElementById("TQ2").style.display = "block";
		if (document.getElementById("TQ8_2")!=null) {
			(IE) ? document.getElementById("TQ8_2").style.display = "block" : document.getElementById("TQ8_2").style.display = "table-row";
		}
		if (document.getElementById("TQ8_1")!=null) {
			document.getElementById("TQ8_1").style.display = "none";
			dispSelect(false, false, f.Q8_1_2.checked, f.Q8_2_2.checked);
		}
		document.getElementById("Q10_num").style.display = "none";
	} else {
		document.getElementById('Q1_autre').value = "";
		document.getElementById('Q2_1').value = "";
		document.getElementById('Q2_2').value = "";
		document.getElementById("TQ2").style.display = "none";
		if (document.getElementById("TQ8_1")!=null) {
			(IE) ? document.getElementById("TQ8_1").style.display = "block" : document.getElementById("TQ8_1").style.display = "table-row";
		}
		if (document.getElementById("TQ8_2")!=null) {
			document.getElementById("TQ8_2").style.display = "none";
			dispSelect(f.Q8_1_1.checked, f.Q8_2_1.checked, false, false);
		}
		document.getElementById("Q8_1_1").checked=true;
		(IE) ? document.getElementById("Q10_num").style.display = "block" : document.getElementById("Q10_num").style.display = "table-row";
	}
}

function dispSelect(b19_OUI, b19_NON, b20_OUI, b20_NON) {
	var t = Array(b19_OUI, b19_NON, b20_OUI, b20_NON);
	if (document.getElementById("S19_OUI")==null) return;
	
	document.getElementById("S19_OUI").selectedIndex = 0;
	document.getElementById("S19_NON").selectedIndex = 0;
	document.getElementById("S20_OUI").selectedIndex = 0;
	document.getElementById("S20_NON").selectedIndex = 0;
	document.getElementById("TQ11").style.display = "none";
	document.getElementById("TQ13").style.display = "none";
	
	for (var i=0; i<t.length; i++) {
		if (t[i]) {
			(IE) ? document.getElementById("TQ9_"+(i+1)).style.display = "block" : document.getElementById("TQ9_"+(i+1)).style.display = "table-row";
		} else {
			document.getElementById("TQ9_"+(i+1)).style.display = "none";
		}
	}
}

function dispMsg(oSelect) {
	switch (oSelect.options[oSelect.selectedIndex].value.toLowerCase()) {
		case "demande de devis":
			(IE) ? document.getElementById("TQ11").style.display = "block" : document.getElementById("TQ11").style.display = "table-row";
			(IE) ? document.getElementById("TQ13").style.display = "block" : document.getElementById("TQ13").style.display = "table-row";
			document.getElementById('etoile').style.visibility = "hidden";
			break;
		case "autre":
			document.getElementById("TQ11").style.display = "none";
			document.getElementById("TQ13").style.display = "none";
			document.getElementById('etoile').style.visibility = "visible";
			break;
		case "modification de vos informations personnelles":
			document.getElementById("TQ11").style.display = "none";
			document.getElementById("TQ13").style.display = "none";
			document.getElementById('etoile').style.visibility = "hidden";
			break;
		default:
			document.getElementById("TQ11").style.display = "none";
			document.getElementById("TQ13").style.display = "none";
			document.getElementById('etoile').style.visibility = "hidden";
	}
}

function dispChoixNature(oOption) {
	//Affiche la liste Nature de la demande en fonction de la réponse question 19.
	var f = document.forms.formulaire;
	switch (oOption.name) {
		case "Q8_1":
			//particulier
			switch (parseInt(oOption.value)) {
				case 1://19 OUI
					dispSelect(true, false, false, false);
					(IE) ? document.getElementById("Q10_num").style.display = "block" : document.getElementById("Q10_num").style.display = "table-row";
					break;
				case 2://19 NON
					dispSelect(false, true, false, false);
					document.getElementById("Q10_num").style.display = "none";
					break;
			}
			break;
		case "Q8_2":
			//pro, autre
			switch (parseInt(oOption.value)) {
				case 4://20 OUI
					dispSelect(false, false, true, false);
					document.getElementById("Q10_num").style.display = "none";
					break;
				case 5://20 NON
					dispSelect(false, false, false, true);
					document.getElementById("Q10_num").style.display = "none";
					break;
			}
			break;
	}
	document.getElementById("TQ11").style.display = "none";
	document.getElementById("TQ13").style.display = "none";
}

function CheckForm(form, typeForm) {
	if (form.Q1_3.checked && form.Q1_autre.value =="") {	
	 alert ("Veuillez précisez le champs 'Autre'");
	 return false;  
	}
	
	if (!form.Q3_1.checked && !form.Q3_2.checked && !form.Q3_3.checked) {
	alert ("Veuillez cocher une civilité");
	return false;		
	}
		
	if (form.Q4_1.value =="") {
	alert ("Veuillez saisir votre nom");
	form.Q4_1.focus();
	return false;	
	}
	
	if (form.Q4_2.value =="") {
	alert ("Veuillez saisir votre prénom");
	form.Q4_2.focus();
	return false;	
	}  
	
	if (!emailCheck(form.Q7)) {
	form.Q7.focus();
	return false;	
	}
  
	if (typeForm==1 || typeForm==2) {
		if (form.Q1_1.checked && !(form.Q8_1_1.checked || form.Q8_1_2.checked)) {
			alert("Vous n'avez pas répondu à une question obligatoire!");
			form.Q8_1_1.focus();
			return false;
		} else if ((form.Q1_2.checked || form.Q1_3.checked) && !(form.Q8_1_1.checked || form.Q8_1_2.checked)) {
			alert("Vous n'avez pas répondu à une question obligatoire!");
			form.Q8_2_1.focus();
			return false;
		}
		//demande de devis
		var $tmp = "";
		var isDevis = false;
		var isInfoPerso = false;
		var isAutre = false;
		
		if (typeForm==1) {
			if (form.Q1_1.checked) {
				if (form.Q8_1_1.checked) {
					$tmp = form.S19_OUI.options[form.S19_OUI.selectedIndex].value.toLowerCase();
				} else if (form.Q8_1_2.checked) {
					$tmp = form.S19_NON.options[form.S19_NON.selectedIndex].value.toLowerCase();
				}
			} else if (form.Q1_2.checked || form.Q1_3.checked) {
				if (form.Q8_2_1.checked) {
					$tmp = form.S20_OUI.options[form.S20_OUI.selectedIndex].value.toLowerCase();
				} else if (form.Q8_2_2.checked) {
					$tmp = form.S20_NON.options[form.S20_NON.selectedIndex].value.toLowerCase();
				}
			}
			if ($tmp == "demande de devis") isDevis=true;
			if ($tmp == "modification de vos informations personnelles") isInfoPerso = true;
			if ($tmp== "autre") isAutre = true;
		} else {
			isDevis=true;
			isInfoPerso = false;
			isAutre = false;
		}
		
		
		if (isDevis) {
			if (!IsDate(form.Q11_1.value)) {
				alert ("La date de naissance est mal renseignée!");
				form.Q11_1.focus();
				return false;
			}
			if (form.Q11_2.value.length==0) {
				alert ("Le capital n'est pas renseigné!");
				form.Q11_2.focus();
				return false;
			}
			if (form.Q11_3.value.length==0) {
				alert ("La durée de l'emprunt n'est pas renseignée!");
				form.Q11_3.focus();
				return false;
			}
			if (form.Q11_4.value.length==0) {
				alert ("Le taux de l'emprunt n'est pas renseigné!");
				form.Q11_4.focus();
				return false;
			}
		}
		
		if (isInfoPerso) {
			if (form.Q10_1.value.length==0) {
				alert("Le numéro de contrat AIG Vie n'est pas renseigné!");
				form.Q10_1.focus();
				return false;
			}
		}
		
		if (isAutre) {
			if (form.Q10_2.value.length==0) {
				alert("Le message n'est pas renseigné!");
				form.Q10_2.focus();
				return false;
			}
		}
		if (!(form.Q12_1.checked || form.Q12_2.checked)) {
			alert("Le type de contact n'est pas renseigné!");
			form.Q12_1.focus();
			return false;
		}
		if (form.Q12_2.checked) {
			if (form.Q12_3.value.length==0) {
				alert("Vous devez renseigner le numéro de téléphone!");
				form.Q12_3.focus();
				return false;
			}
			if (!(form.Q12_Horaire_1.checked || form.Q12_Horaire_2.checked || form.Q12_Horaire_3.checked || form.Q12_Horaire_4.checked)) {
				alert("Les horaires de disponibilité ne sont pas renseignés");
				form.Q12_Horaire_1.focus();
				return false;
			}
		}
	}

	return true;
}


function emailCheck(emailStr) {
	if (emailStr.value.length >=1) {
		var msg1="Adresse e-mail incorrecte";
		var msg2="Destinataire e-mail incorrect";
		var msg3="Adresse de destination IP de l'e-mail incorrecte";
		var msg4="Nom de domaine de l'e-mail incorrect";
		var msg5="L'adresse e-mail doit se terminer par 3 lettres du domaine ou 2 lettres du pays";
		var msg6="Il manque le nom de domaine à l'adresse e-mail";
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.value.match(emailPat);
		if (matchArray==null) {
			alert(msg1);
			//emailStr.value="";
			emailStr.focus();
			return false;
		}
	
		var user=matchArray[1];
		var domain=matchArray[2];
		if (user.match(userPat)==null) {
			alert(msg2);
			//emailStr.value="";
			emailStr.focus();
			return false;
		}
	
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
						alert(msg3);
						//emailStr.value="";
						emailStr.focus();
					return false;
				}
			}
			return true
		}
	
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			alert(msg4);
			//emailStr.value="";
			emailStr.focus();
			return false;
		}
	
		var atomPat=new RegExp(atom,"g");
		var domArr=domain.match(atomPat);
		var len=domArr.length;
		if (domArr[domArr.length-1].length<2 ||
			domArr[domArr.length-1].length>3) {
			alert(msg5);
			//emailStr.value="";
			emailStr.focus();
			return false;
		}
	
		if (len<2) {
			alert(msg6);
			//emailStr.value="";
			emailStr.focus();
			return false;
		}
		return true; 
	} else {
		alert("Vous n'avez pas saisi l'adresse mail!")
	}
	return false;
}

function IsDate(oDate) {
//vérifie si la date est au format jj/mm/aaaa
	var r = new RegExp();
	r = /(0[1-9]|[12]\d|3[01])\/(0[1-9]|1[0-2])\/[12]\d\d\d/gi;
	return r.test(oDate);
}

function IsInteger(oNum) {
//test si le paramètre est un entier
	try {
		return parseInt(oNum)==oNum;
	} catch(e) {
		return false;
	}
}