// JavaScript Document

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
  
}


function Popup (url,titre,w,h) {
	
	window.open(url,titre,"width="+w+",height="+h+",menubar=no,resizable=no,location=no,directories=no,status=no,scrollbars=no,copyhistory=no");
	
}


function PopupKit (id) {
	
	window.open('kit.php?id='+id,'_blank');
	
}


// Mise à jour des listes via XMLHttpRequest
function liste(f,q,t,laville) {
	 
	var l0	   = f.elements["cp"];
	 var l1    = f.elements["list"+q];
	 var index = l1.selectedIndex;
	 
	
	 for(i=q;i<=t;i++) f.elements["list"+i].options.length = 0;
	
	 if(l0.value.length > 0) {
		var xhr_object = null;
		
		if(window.XMLHttpRequest) // Firefox
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject) // Internet Explorer
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else { // XMLHttpRequest non supporté par le navigateur
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		  return;
		}
	
		xhr_object.open("POST", "inc_villes.php?q="+q, true);
		
		xhr_object.onreadystatechange = function() {
		  if(xhr_object.readyState == 4)
			eval(xhr_object.responseText);
		}
	
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "champ=" + escape(l0.value) + "&form=" + f.name + "&select=list" + q + "&laville=" + laville;
		xhr_object.send(data);
	 }
	 
}

// Mise à jour du selectedIndex d'une liste
function update(L) {
	v = new Array;
	 v[0] = "<?=@$adresse['cp'];?>";
	 if(v[L]=="") return;
	 f = document.forms.formulaire_assure;
	 L0 = f.elements["list"+L];
	 for(i=0;i<L0.options.length;i++)
		if(L0.options[i].value==v[L]) {
		   L0.selectedIndex=i;
		   if(L<2) liste(f,L+1,2);
		   break;
		}
}

// Validation du formulaire
function validationform (f) {
	
	if(f.mail_confirm.value != f.mail.value) {alert("Vos emails sont différents !"); f.mail.focus(); return false;}
	else if(f.mail.value == "" || f.mail.value.search(/^[a-z0-9._-]+[^._-]@[a-z0-9._-]+([a-z0-9]+[^._-])?[.-]+[a-z0-9]{2,4}$/) == -1) {alert("Votre champs email est incorrect !"); f.mail.focus(); return false;}
	else if(f.mail_confirm.value == "") {alert("Votre email de confirmation est incorrect !"); f.mail_confirm.focus(); return false;}
	
	else if(!f.radiociv[0].checked && !f.radiociv[1].checked && !f.radiociv[2].checked) {alert("Veuillez cocher votre civilité !"); f.mail_confirm.focus(); return false;}

	else if(f.nom.value == "") {alert("Votre nom est incorrect !"); f.nom.focus(); return false;}
	else if(f.prenom.value == "") {alert("Votre prénom est incorrect !"); f.prenom.focus(); return false;}

	else if(f.adresse1.value == "") {alert("Votre adresse1 est incorrecte !"); f.adresse1.focus(); return false;}
	
	else if(f.cp.value == "" || f.cp.value.length < 5) {alert("Votre code postal est incorrect !"); f.cp.focus(); return false;}
	else if(f.cp.value.substr(0,2).valueOf() > 95 && f.cp.value.substr(0,2).valueOf() < 1) {alert("Votre code postal est incorrect !"); f.cp.focus(); return false;}
	else if(f.ville.value == "") {alert("Votre ville est incorrecte !"); f.ville.focus(); return false;}
	
	//if(f.elements["list1"].options.length!=0) 
	
	else return true;
}


/* Afficher/Cacher les 2 div du num SECU - etape2-2.php */
function ShowHide (idshow,idhide) {
	
	if (idshow != "") document.getElementById(idshow).style.display = "block";
	if (idhide != "") document.getElementById(idhide).style.display = "none";	
	
}


// Vérifie si une variable est numérique ou pas
function is_Numeric(variable) {
	var exp = new RegExp("^[0-9]+$","g");
	return exp.test(variable);
} 


// Retourne True si le N\260 INSEE est correct
function f_NumINSEELiveJS (numInsee,nbrbenef,codregime, moisSouscript, civilite, strDPT) {

	var testOK = "0";
	
	//numInsee = numInsee.replace(" ","");
	
	//sexe
	if (numInsee.substr(0,1) == "0" || numInsee.substr(0,1) == "9") testOK = "1";
/*	if (civilite == "10") civ = 1; else civ = 2;
	if (civ == 1 && numInsee.substr(0,1) != 1 && numInsee.substr(0,1) != 3 && numInsee.substr(0,1) != 5 && numInsee.substr(0,1) != 7) testOK = "1";
	else if (civ == 2 && numInsee.substr(0,1) != 2 && numInsee.substr(0,1) != 4 && numInsee.substr(0,1) != 5 && numInsee.substr(0,1) != 6 && numInsee.substr(0,1) != 8) testOK = "1";
*/	
	//année naissance
	if (!is_Numeric(numInsee.substr(1,2))) testOK = "1";
	
	//mois naissance
	if (!is_Numeric(numInsee.substr(3,2))) testOK = "1";
	if (f_MoisInseeSpec (numInsee.substr(3,2), numInsee, strDPT, codregime, moisSouscript) == false && numInsee.substr(3,2) > 12) testOK = "1"; //si les tests spécifiques sont négatifs (false) alors on réalise le test > 12
	
	if (!is_Numeric(numInsee.substr(5,2)) && numInsee.substr(5,2).toUpperCase() != "2A" && numInsee.substr(5,2).toUpperCase() != "2B") testOK = "1";//départements
	
	if (!is_Numeric(numInsee.substr(7,3))) testOK = "1";//N° de commune
	
	if (!is_Numeric(numInsee.substr(10,3))) testOK = "1";//N° ordre INSEE
	
	if (!is_Numeric(numInsee.substr(13,2))) testOK = "1";//clé
	
	if (f_ControleCleINSEE (numInsee, numInsee.substr(13,2)) == false) testOK = "1";//contrôle clé
	
	if (testOK == "0") return true; else return false;
	
}

function f_NumINSEELive (numInsee,nbrbenef,codregime, moissouscript, civilite, strDPT) {
	
	if (numInsee.length >= 21) {
		if (f_NumINSEELiveJS (f_DelCharSECU (numInsee.toUpperCase()), nbrbenef, codregime, moissouscript, civilite, strDPT) == false) alert("Votre N\260 INSEE est incorrect !");
	}
	
}


// Retourne un booléan après les tests spécifiques sur le mois dans le code INSEE
function f_MoisInseeSpec (mois, strINSEE, strDPT, strcodRegim, moisSouscript) {

	var testOK = "0"; //0 -> on fait les tests     1 -> on ne fait pas les tests
	strINSEE = strINSEE.toUpperCase();
	
	if (strcodRegim != "") {//on ne fait pas le test du code réigme si on n'a pas de Régime !(of course !!)
		
			if (strcodRegim == "CS" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) != "6" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			
			else if (strcodRegim == "CS2" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) != "6" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			
			else if (strcodRegim == "AL" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) != "6" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			
			else if (strcodRegim == "CA" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) != "6" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			
			if (strcodRegim == "NS" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) == "1" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			else if (strcodRegim == "NS" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) == "2" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			else if (strcodRegim == "NS" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) == "7" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			else if (strcodRegim == "NS" && strDPT <= 95 && strDPT >= 91 && strINSEE.substr(0,1) == "8" && strINSEE.substr(1,2) <= 65 && strINSEE.substr(3,2) > 12) testOK = "1";//codeRegime + DPT + année + sexe + mois
			
			if (strcodRegim == "CS" && strDPT >= 91 && strINSEE.substr(0,1) == "6") testOK = "1";//codeRégime + DTP + sexe
			
			else if (strcodRegim == "CS2" && strDPT >= 91 && strINSEE.substr(0,1) == "6") testOK = "1";//codeRégime + DTP + sexe
			
			else if (strcodRegim == "AL" && strDPT >= 91 && strINSEE.substr(0,1) == "6") testOK = "1";//codeRégime + DTP + sexe
			
			if (strcodRegim == "NS" && strDPT <= 95 && strINSEE.substr(0,1) == "3") testOK = "1";//codeRegime + DPT + sexe
			else if (strcodRegim == "NS" && strDPT <= 95 && strINSEE.substr(0,1) == "4") testOK = "1";//codeRegime + DPT + sexe
			else if (strcodRegim == "NS" && strDPT <= 95 && strINSEE.substr(0,1) == "5") testOK = "1";//codeRegime + DPT + sexe
	
	}
	
	if (strINSEE.substr(3,2) >= 13 && strINSEE.substr(3,2) <= 19 || strINSEE.substr(3,2) >= 43 && strINSEE.substr(3,2) <= 49) testOK = "1";//mois
	
	if (strDPT > 95 && strDPT < 100) testOK = "1";//départements DOM-TOM
	
	
	if (testOK == "0") {
		if (strINSEE.substr(3,2) > 12) testOK = "1";
		if (moisSouscript != "") {if (strINSEE.substr(3,2) != moisSouscript) testOK = "1";}//on ne fait pas le test du mois (de naissance) si on n'a pas le mois (of course !!!)
		if (testOK == "0") return true; else return false;
	}else return false;

}


// Retourne le résultat du controle de la clé INSEE
///////////////////////////////////////////////////
function f_ControleCleINSEE (noINSEE, cle) {

	noINSEE = noINSEE.toUpperCase();
	
	//cas de la Corse
	if (noINSEE.substr(5,2) == "2A") {noINSEE = noINSEE.replace("2A","20"); noINSEE = noINSEE.substr(0,13); noINSEE = noINSEE - 1000000;}
	else if (noINSEE.substr(5,2) == "2B") {noINSEE = noINSEE.replace("2B","20"); noINSEE = noINSEE.substr(0,13); noINSEE = noINSEE - 2000000;}
	else noINSEE = noINSEE.substr(0,13);
	
	//vérification de la clé
	reste = noINSEE - Math.floor(noINSEE / 97) * 97;
	cle_thq = 97 - reste;
	if (cle_thq == cle) return true;
	else return false;

}


// Liste les N° INSEE des bénéficiaires (étape 2-2)
function f_InseeListing (varmax, idx, numinsee, numinseebase) {

	var s = document.getElementById('listeinsee-b' + idx);   
	s.options.length = 0;
	s.options[s.options.length] = new Option("Choisir","0");
	
	numinsee = f_FormatINSEE (numinsee, document.getElementById('numinseehidden'));
	
	if (f_DelCharSECU(numinsee) != "") s.options[s.options.length] = new Option(numinsee,numinsee);
	  
	var idelement = "";
	
	for (i = 1; i <= varmax; i++) {
		idelement = "inseebenef-b" + i;//bénéficiaires ayant un N° INSEE (1)
		idelement2 = "insee2-b" + i;//bénéficiaires ne possédant pas de N° INSEE (2)
		//(1)
		if ( document.getElementById(idelement).value != "" && document.getElementById(idelement).value != numinsee && document.getElementById(idelement).value != document.getElementById(idelement2).value ) {
			s.options[s.options.length] = new Option(document.getElementById(idelement).value, document.getElementById(idelement).value);
			if (numinseebase == document.getElementById(idelement).value) s.options[s.options.length].selected=1;
		}
		
		//(2)
		if ( document.getElementById(idelement2).value != "" && document.getElementById(idelement2).value != numinsee && document.getElementById(idelement).value != document.getElementById(idelement2).value ) {
			s.options[s.options.length] = new Option(document.getElementById(idelement2).value, document.getElementById(idelement2).value);
			if (numinseebase == document.getElementById(idelement2).value) s.options[s.options.length].selected=1;
		}
	}
	
	s.options[s.options.length] = new Option("Autre N\260 Insee","1");
	
}


// Appel de la fonction Alert de JS
///////////////////////////////////
function f_AlertMsg (msg) {

	var y = document.createElement("span");
	y.innerHTML = msg;
	alert(y.innerHTML);

}


// Verification d'un mail
function f_VerifierAdresseMail (adresse) {
   
	syntaxe = '/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,5})*$/';
   
   if(adresse.search(/^[\w.-]+@[\w.-]+\.([a-zA-Z]{2,5})*$/) == -1)
      return false;
   else
     return true;
 
}


// Validation du Formulaire Etape 1 à la volée
//////////////////////////////////////////////

	//email
function f_ValidationEmail() {
	if (document.getElementById('mail').value == "" || f_VerifierAdresseMail(document.getElementById('mail').value) == false) {alert ("Votre champs email 1 est incorrect !"); return false;}
}

	//confirm email
function f_ValidationConfirmEmail() {
	if (document.getElementById('mail_confirm').value == "") {alert ("Votre email de confirmation est incorrect !"); return false;}
	else if (document.getElementById('mail_confirm').value != document.getElementById('mail').value) {alert ("Vos emails sont diff\351rents !"); return false;}
}

/*function f_ValidationRadioCiv() {
	if (!document.getElementById('radiociv').value) {alert ("Veuillez cocher votre civilité !"); return false;}
}
*/
	//nom
function f_ValidationNom() {
	if (document.getElementById('nom').value == "" ) {alert ("Le champs nom est vide !"); return false;}
}

	//prénom
function f_ValidationPrenom() {
	if (document.getElementById('prenom').value == "") {alert ("Le champs pr\351nom est vide !"); return false;}
}

	//Adresse1
function f_ValidationAdresse1() {
	if (document.getElementById('adresse1').value == "" ) {alert ("Le champs adresse1 est vide !"); return false;}
}

	//CP
function f_ValidationCP() {
	if (document.getElementById('cp').value == "" || document.getElementById('cp').value.length < 5) {alert ("Votre code postal est incorrect !"); return false;}
	else if (document.getElementById('cp').value.substr(0,2) < 1 || document.getElementById('cp').value.substr(0,2) > 95) {alert ("Votre code postal doit \352tre compris entre 01 et 95 !"); return false;}
}

	//else if (strtoupper(f_RemoveAccents(@document.getElementById('list1').value,'')) != f_RequestCP (document.getElementById('cp').value)) {alert ("Le code postal ne correspond pas à la ville indiquée !"); return false;}

	//Ville
function f_ValidationVille() {
	if (document.getElementById('list1').value == "0") {alert ("Vous n'avez pas s\351lectionn\351 de ville !"); return false;}
}

	//Autre Ville
function f_ValidationAutreVille() {
	if (document.getElementById('list1').value == "Autre ville" && document.getElementById('autreville').value == "") {alert ("Merci de saisie une autre ville !"); return false;}
}

	//tél fixe
function f_ValidationTelFixe() {
	if (document.getElementById('tel_fixe').value != "" && document.getElementById('tel_fixe').value.substr(0,2) == "06" ) {alert ("Votre num\351ro de fixe ne peut commencer par 06 !"); return false;}
	else if (document.getElementById('tel_fixe').value != "" && document.getElementById('tel_fixe').value.length < 14) {alert ("Votre num\351ro de fixe est incorrect !"); return false;}
}

	//tél port.
function f_ValidationTelPort() {
	if (document.getElementById('tel_port').value != "" && document.getElementById('tel_port').value.substr(0,2) != "06" ) {alert ("Votre num\351ro de portable doit commencer par 06 !"); return false;}
	else if (document.getElementById('tel_port').value != "" && document.getElementById('tel_port').value.length < 14) {alert ("Votre num\351ro de portable est incorrect !"); return false;}
}

	//datnais
function f_ValidationDate() {
	today = new Date();
	annee = document.getElementById('annee').value;
	if (document.getElementById('jour').value == "0") {alert ("Le jour de votre date de naissance est incorrect !"); return false;}
	else if (document.getElementById('mois').value == "0") {alert ("Le mois de votre date de naissance est incorrect !"); return false;}
	else if (document.getElementById('annee').value == "") {alert ("L'ann\351e de votre date de naissance est incorrecte !"); return false;}
	else if (today.getFullYear() - annee < 18 || today.getFullYear() - annee > 51 ) {alert ("Vous devez \352tre \342g\351 entre 18 et 50 ans !"); return false;}
}

	//Radio INSEE
/*function f_ValidationRadioINSEE() {
	if (!isset(document.getElementById('radioinsee').value)) {alert ("Vous devez cocher la champs correspondant à votre numéro de sécurité social INSEE !"); return false;}
}
*/	//INSEE
function f_ValidationINSEE(f) {
	if (f.value == "") {alert ("Le champs N\260 INSEE est vide !"); return false;}
	else if (f.value.length < 21) {alert ("Votre N\260 INSEE est incorrect !"); return false;}
}
	
	//else if (f_NumINSEELive (document.getElementById('insee').value,document.getElementById('regime_oblig').value,'',document.getElementById('mois').value) == false) {alert ("Votre N\260 INSEE est incorrect !"); return false;}



// Envoi du flux vers le serveur d'aviva
function f_SendXMLStream (controller, username, pwd, varxml) {
	
	var xhr_object = null;
	
	if(window.XMLHttpRequest) // Firefox
	  xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // Internet Explorer
	  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur
	  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	  return;
	}

	xhr_object.open("POST", "https://prex.aviva-assurances-clients.com/portail/front", true);
	
	xhr_object.onreadystatechange = function() {
	  if(xhr_object.readyState == 4)
		eval(xhr_object.responseText);
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	var data = "controller=" + controller + "&username=" + username + "&password=" + pwd + "&xml=" + varxml;
	xhr_object.send(data);

}


// Formate le numéro de téléphone sous la forme : 01 23 45 67 89
function f_FormatTelephone (numtel, f) {
	
	//on supprime les caractères inutiles
	numtel = f_DelCharTel (numtel);

	//longueur du numéro
	lentel = numtel.length;
	
	if (lentel >= 9) numtel = numtel.substr(0,2) + " " + numtel.substr(2,2) + " " + numtel.substr(4,2) + " " + numtel.substr(6,2) + " " + numtel.substr(8,2);
	else if (lentel >= 7) numtel = numtel.substr(0,2) + " " + numtel.substr(2,2) + " " + numtel.substr(4,2) + " " + numtel.substr(6,2);
	else if (lentel >= 5) numtel = numtel.substr(0,2) + " " + numtel.substr(2,2) + " " + numtel.substr(4,2);
	else if (lentel >= 3) numtel = numtel.substr(0,2) + " " + numtel.substr(2,2);
	
	f.value = numtel;

}


// Enlève les .,/-[espace] d'un numéro de SECU
function f_DelCharSECU (NumSECU) {
	
	//Déclaration de variables
	var secu;
	var i = 0;
	
	//Boucle d'analyse
	while (i < NumSECU.length-1) {
		if ((NumSECU.charAt(i) == ".") || (NumSECU.charAt(i) == ",") || (NumSECU.charAt(i) == "/") || (NumSECU.charAt(i) == "-") || (NumSECU.charAt(i) == " ") || NumSECU.charAt(i).search(/^[AB0-9]*$/) == -1 ) {
			if (i == 6 && NumSECU.charAt(i) == "A" || i == 6 && NumSECU.charAt(i) == "B") {// cas de la corse, on incrémente sans couper
				i++;
			}else{
				secu = NumSECU.substring(0,i) + NumSECU.substring(i+1,NumSECU.length);
				NumSECU = secu;
			}
		}else{i++;}
	}
	
	return (NumSECU);
	
}


// Enlève les .,/-[espace] d'un numéro
function f_DelCharTel (NumTel) {
	
	//Déclaration de variables
	var Tel;
	var i = 0;
	
	//Boucle d'analyse
	while (i < NumTel.length-1) {
		if ((NumTel.charAt(i) == ".") || (NumTel.charAt(i) == ",") || (NumTel.charAt(i) == "/") || (NumTel.charAt(i) == "-") || (NumTel.charAt(i) == " ") || NumTel.charAt(i).search(/^[0-9]*$/) == -1 ) {
			Tel = NumTel.substring(0,i) + NumTel.substring(i+1,NumTel.length);
			NumTel = Tel;
		}else{i++;}
	}
	
	return (NumTel);
	
}


// Formate le numéro de SECU (INSEE) sous la forme : x xx xx xx xxx xxx yy
function f_FormatINSEE (numinsee, f) {
	
	//on supprime les caractères inutiles
	numinsee = f_DelCharSECU (numinsee);
	numinsee = numinsee.toUpperCase();

	//longueur du numéro
	lentel = numinsee.length;
	
	if (lentel >= 14) numinsee = numinsee.substr(0,1) + " " + numinsee.substr(1,2) + " " + numinsee.substr(3,2) + " " + numinsee.substr(5,2) + " " + numinsee.substr(7,3) + " " + numinsee.substr(10,3) + " " + numinsee.substr(13,2);
	else if (lentel >= 10) numinsee = numinsee.substr(0,1) + " " + numinsee.substr(1,2) + " " + numinsee.substr(3,2) + " " + numinsee.substr(5,2) + " " + numinsee.substr(7,3) + " " + numinsee.substr(10,3);
	else if (lentel >= 7) numinsee = numinsee.substr(0,1) + " " + numinsee.substr(1,2) + " " + numinsee.substr(3,2) + " " + numinsee.substr(5,2) + " " + numinsee.substr(7,3);
	else if (lentel >= 5) numinsee = numinsee.substr(0,1) + " " + numinsee.substr(1,2) + " " + numinsee.substr(3,2) + " " + numinsee.substr(5,2);
	else if (lentel >= 3) numinsee = numinsee.substr(0,1) + " " + numinsee.substr(1,2) + " " + numinsee.substr(3,2);
	else if (lentel >= 1) numinsee = numinsee.substr(0,1) + " " + numinsee.substr(1,2);
	
	f.value = numinsee;
	
	return numinsee;

}


// Vérifie si le N° INSEE est déjà utilisé (étape 2 - bénéficiaires)
function f_VerifINSEEBenefi (numinsee, nbrbenefi, id) {
	
	//Initialisation de la variable de test
	test = 0;
	
	for (i = 1; i <= nbrbenefi; i++) {
		if (numinsee == document.getElementById('inseebenef-b' + i).value && id != i) test = 1;
	}
	
	if (test == 1) {alert("Ce N\260 INSEE est d\351j\340 utilis\351 par un b\351n\351ficiaire !"); return false;}
	else return true;
}


// Function onchange sur le listing de n° de secu étape2-2 (quand on clique 'non')
function f_OnChangeListing (fvalue, i) {
	
	if (fvalue == '1') ShowHide('autreinsee-b'+i,''); //si on choisit autre N° INSEE on rend visible le champ
	else ShowHide('','autreinsee-b'+i); //sinon on le cache
	
	document.getElementById('inseebenef-b'+i).value = '';
	
	//if (fvalue != '1' && fvalue != '0') document.getElementById('insee2-b'+i).value = fvalue; //on copie en invisible le n°INSEE choisi du listing vers la champs 'autre N° INSEE'
	
}



// Retourne les valeurs du menu déroulant jours ou mois
///////////////////////////////////////////////////////
function f_JoursMois (num, valeur) {

	for (i=1;i<=num;i++) {
		if (i<=9) j="0"+i; else j=i;
		if (valeur == j) selected="selected"; else selected="";
		document.write ('<option value="'+j+'" '+selected+'>'+j+'</option>');
	}

}


// Affiche la liste du nbr d'enfants max en fct° du bénéficiaire conjoint
function f_enfantsListing (rep, valeur1, valeur2) {

	var s1 = document.getElementById('SelectEnfantsMajeurs');   
	var s2 = document.getElementById('SelectEnfantsMineurs');   
	s1.options.length = 0;
	s2.options.length = 0;
	if (valeur1 == '') valeur1 = 0;
	if (valeur2 == '') valeur2 = 0;
	//s.options[s.options.length] = new Option("Choisir","0");
	
	if (rep == "non") varmax = 10; else varmax = 9;
	if (valeur1 == "") valeur1 = -1; if (valeur2 == "") valeur2 = -1;
		
	for (i = 0; i <= varmax; i++) {//implémentation des champs select
		s1.options[s1.options.length] = new Option(i, i);
		s2.options[s2.options.length] = new Option(i, i);
		if (valeur1 == i) s1.options[i].selected=true;
		if (valeur2 == i) s2.options[i].selected=true;
	}
		
}


//Affichage des champs bénéficiaires en fct° du nbr d'enfants choisis
function f_DisplayBenefChildren (valmax, valeur) {
	
		//déclaration de variables
		var xhr_object = null;
		var reg1=new RegExp("[ ;]+", "g");
		var reg2=new RegExp("[ ,]+", "g");
		var infosBenef=new Array();
		valeurJ = 0; valeurM = 0; valeurA = "";
		
		//si on vient de l'écran de restitution du devis via le bouton "MODIFIER"				  
		if (valeur != "") {
			tabBenef = valeur.split(reg1);
			//on sépare 'tabBenef' suivant les virgules pour récupérer les infos des bénéficiaires enfants majeurs
			for (ii=0;ii<=tabBenef.length-1;ii++){infosBenef[ii] = tabBenef[ii].split(reg2);}
		}
		
		if(window.XMLHttpRequest) // Firefox
		  xhr_object = new XMLHttpRequest();
		else if(window.ActiveXObject) // Internet Explorer
		  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		else { // XMLHttpRequest non supporté par le navigateur
		  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		  return;
		}
	
		
		  if(xhr_object.readyState == 4) {
			eval(xhr_object.responseText);
		  }

		whichcontent = '<table border="0" cellspacing="0" cellpadding="5" width="559" align="center">';
		
		if (valmax != 0) {
		
			//whichcontent += '<tr bgcolor="#0065b5"><td height="20"></td><td></td><td></td></tr>';
				
			for (i = 1; i <= valmax; i++) {
			
				if (i%2 == 0) bgcolor = ' bgcolor="#d4e0ee"'; else bgcolor = ' bgcolor="#d4e0ee"';
				
				whichcontent += '<tr'+bgcolor+'>';
				whichcontent += '<td>Enfant majeur '+i+'</td>';
				whichcontent += '<td><select name="selectJourEnfantMajeur'+i+'" id="selectJourEnfantMajeur'+i+'">';
				whichcontent += '<option value="0">jour</option>';
				for (k=1;k<=31;k++) {
					if (k<=9) j="0"+k; else j=k;
					try {if (infosBenef[i-1][0]) valeurJ = infosBenef[i-1][0];} catch(e){}finally{}
					if (valeurJ == j) selected="selected"; else selected="";
					whichcontent += '<option value="'+j+'" '+selected+'>'+j+'</option>';
				}
				whichcontent += '</select>  ';
				whichcontent += '<select name="SelectMoisEnfantMajeur'+i+'" id="SelectMoisEnfantMajeur'+i+'">';
				whichcontent += '<option value="0">mois</option>';
				for (k=1;k<=12;k++) {
					if (k<=9) j="0"+k; else j=k;
					try {if (infosBenef[i-1][1]) valeurM = infosBenef[i-1][1];} catch(e){}finally{}
					if (valeurM == j) selected="selected"; else selected="";
					whichcontent += '<option value="'+j+'" '+selected+'>'+j+'</option>';
				}
				try {if (infosBenef[i-1][2]) valeurA = infosBenef[i-1][2];} catch(e){}finally{}
				whichcontent += '</select>  19 <input name="anneeEnfantMajeur'+i+'" type="text" id="anneeEnfantMajeur'+i+'" size="2" maxlength="2" value="'+valeurA+'" /></td>';
				try{if (infosBenef[i-1][3] == "H") {checkedH="checked='checked'";checkedF="";} else {checkedH="";checkedF="checked='checked'";}}
				catch(e){checkedH="";checkedF="";}
				finally{}
				whichcontent += '<td><label><input type="radio" name="RadioSexeEnfantMajeur'+i+'" id="radioEnfantMajeur1'+i+'" value="H" '+checkedH+' />Homme</label>'; 
				whichcontent += '<label><input type="radio" name="RadioSexeEnfantMajeur'+i+'" id="radioEnfantMajeur2'+i+'" value="F" '+checkedF+' />Femme</label></td>';
				whichcontent += '</tr>';
								
			}//end for
			
			whichcontent += '<tr bgcolor="#0065b5"><td height="5" colspan="3"><div class="font5">&nbsp;</div></td></tr>';
			
		}
		
		whichcontent += '</table>';
		
		document.getElementById("enfantsmaj").innerHTML=whichcontent;

}

function FondBgColorOver (f,id,ssid) {
	document.getElementById(id).style.backgroundColor="#c0f900";
	if (f == "") RemoveSsMenu ();
	if (ssid) document.getElementById(ssid).style.display="block";
}//b3fe00
function FondBgColorOut (id) {document.getElementById(id).style.backgroundColor="";}
function LinkColorOver (id,ssid) {document.getElementById(id).style.color="#19365c"; if (ssid) document.getElementById(ssid).style.display="block";}
function LinkColorOut (id) {document.getElementById(id).style.color="#ffffff";}


// Affiche ou cache le sous-menu
function RemoveDisplayMenu (d) {
	
	for (i=1;i<=3;i++) {
		if (document.getElementById('ssMenuHaut' + i) && d != i) {
			document.getElementById('ssMenuHaut' + i).style.display="none";
			document.getElementById('bgmenu' + i).style.backgroundColor="";
			document.getElementById('linkmenu' + i).style.color="#ffffff";
		}
		if (document.getElementById('ssMenuHaut' + i) && d == i) {
			document.getElementById('ssMenuHaut' + i).style.display="block";
		}
	}//end for
	
}


// Cache tous les sous-menu
function RemoveSsMenu () {
	
	for (i=1;i<=3;i++) {
			if (document.getElementById('ssMenuHaut' + i)) document.getElementById('ssMenuHaut' + i).style.display="none";
	}//end for
	
}


// Validation du Formulaire de devis en ligne
function FormulaireDevis () {

	if (document.getElementById('selectJour').value == 0 || document.getElementById('SelectMois').value == 0 || document.getElementById('annee').value == "" || !is_Numeric(document.getElementById('annee').value))  {alert("Votre date de naissance est incorrecte !"); return false;}
	
	else if (Age(document.getElementById('selectJour').value, document.getElementById('SelectMois').value, document.getElementById('annee').value) < 18 || Age(document.getElementById('selectJour').value, document.getElementById('SelectMois').value, document.getElementById('annee').value) > 80) {alert("Vous devez \352tre \342g\351 entre 18 et 80 ans !"); return false;}//Age souscripteur
	
	else if (document.getElementById('RadioSexe1').checked == false && document.getElementById('RadioSexe2').checked == false) {alert("Vous devez cocher la civilit\351 du souscripteur !"); return false;}
	
	else if (document.getElementById('selectDPT').value == 0) {alert("Merci de s\351lectionner un d\351partement !"); return false;}
	
	else if (document.getElementById('radioconj1').checked == false && document.getElementById('radioconj2').checked == false) {alert("Merci de s\351lectionner un contrat (ou non) pour votre conjoint(e) !"); return false;}
	
	else if (document.getElementById('radioconj1').checked == true) {//CONJOINT
		if (document.getElementById('selectJourconjoint').value == 0 || document.getElementById('SelectMoisconjoint').value == 0 || document.getElementById('anneeconjoint').value == "" || !is_Numeric(document.getElementById('anneeconjoint').value))  {alert("La date de naissance de votre conjoint(e) est incorrecte !"); return false;}
		else if (document.getElementById('radio1conjoint').checked == false && document.getElementById('radio2conjoint').checked == false) {alert("Vous devez cocher la civilit\351 du conjoint !"); return false;}
		else if (Age(document.getElementById('selectJourconjoint').value, document.getElementById('SelectMoisconjoint').value, document.getElementById('anneeconjoint').value) < 18 || Age(document.getElementById('selectJourconjoint').value, document.getElementById('SelectMoisconjoint').value, document.getElementById('anneeconjoint').value) > 80) {alert("L'\342ge de votre conjoint(e) doit \352tre compris entre 18 et 80 ans !"); return false;}//Age conjoint(e)
		
		//else if (document.getElementById('radio1conjoint').checked == true && document.getElementById('RadioSexe1').checked == true || document.getElementById('radio2conjoint').checked == true && document.getElementById('RadioSexe2').checked == true) {alert("Le souscripteur et le conjoint ne peuvent \352tre du m\352me sexe !"); return false;}		
	}
	
	for (i=1;i<=document.getElementById('SelectEnfantsMajeurs').value;i++) {// Enfants majeurs 
		if (document.getElementById('selectJourEnfantMajeur'+i).value == 0 || document.getElementById('SelectMoisEnfantMajeur'+i).value == 0 || document.getElementById('anneeEnfantMajeur'+i).value == "" || !is_Numeric(document.getElementById('anneeEnfantMajeur'+i).value)) {alert("La date de naissance de l'enfant majeur " + i + " est incorrecte !"); return false;}
		
		else if (Age(document.getElementById('selectJourEnfantMajeur'+i).value, document.getElementById('SelectMoisEnfantMajeur'+i).value, document.getElementById('anneeEnfantMajeur'+i).value) < 18 || Age(document.getElementById('selectJourEnfantMajeur'+i).value, document.getElementById('SelectMoisEnfantMajeur'+i).value, document.getElementById('anneeEnfantMajeur'+i).value) > 80) {alert("L'enfant majeur "+ i +" doit \352tre \342g\351 entre 18 et 80 ans !"); return false;}
		
		else if (document.getElementById('radioEnfantMajeur1'+i).checked == false && document.getElementById('radioEnfantMajeur2'+i).checked == false) {alert("Vous devez cocher la civilit\351 du de l'Enfant majeur "+ i +" !"); return false;}
	}
	
	document.getElementById('formulaire').submit();
	

}


//Calcul de l'âge réel
function Age (d,m,y) {

	// on initialise l'année
	y = "19" + y;
	
	//Objet Date déclarés
	actu = new Date();
	
	if((actu.getMonth() + 1) >= m){
		if((actu.getMonth() + 1) == m){
			if(actu.getDate() >= d){
				mois = (actu.getMonth() + 1) - m;
				ans = actu.getFullYear() - y;
			} else {
				mois = (12 - m) + (actu.getMonth() + 1);
				ans = actu.getFullYear() - y - 1;
			}
		} else {
			mois = (actu.getMonth() + 1) - m;
			ans = actu.getFullYear() - y;
		}
	} else {
		mois = (12 - m) + (actu.getMonth() + 1);
		ans = actu.getFullYear() - y - 1;
	}
	
	if(actu.getDate() > d){
		jours = actu.getDate() - d;
	} else {
		jours = (30 - d) + (actu.getDate());
	}
	
	while(jours > 30){
		jours -= 30;
		mois += 1;
	}
	
	while(mois > 12){
		mois -= 12;
		ans += 1;
	}
	
	return ans;

}

