//--- validate_DATE_NAISSANCE: fonction, verifie la validite de la date de naissance ---
function validate_DATE_NAISSANCE(maDate,strRef,strRef1,strRef2)
{
	with(document.formMoto){
	if ((CYLINDREE.value == '') || (CYLINDREE.value == 'Cylindrée') )
	  {
	     alert("Veuillez renseigner d'abord le type de véhicule");
	     document.formMoto[strRef].value = 'mmaa';
	     document.formMoto[strRef1].value = 'mmaa';
	     document.formMoto[strRef2].value = 'mmaa';
	     return false;
	  }
	
	if (!ControlDate('DATE_NAISSANCE', document.formMoto, 'mmaa')) return false;

	else if(CompareDateMA(AddDateMA(DATE_NAISSANCE.value, "0/75"),GetCurDateMA())<=0)
   {
     alert("Conducteur trop agé, tarification impossible. L'age maximum est de 74 ans");
     DATE_NAISSANCE.value='mmaa';
     DATE_NAISSANCE.focus();
     DATE_NAISSANCE.select();
     return false;
   }
	else
	{	var res = DATE_NAISSANCE.value;
		if ( maDate.length == 0 ) 
		  { document.formMoto[strRef1].value = 'mmaa'; 
		    document.formMoto[strRef2].value = 'mmaa';
		    return true ;
		    }
		var Tmp1 = parseInt(CYLINDREE.value);
		var monClasse = CLASSE.value;
		var monGenre =GENRE.value;
		var BoundMin;
		if ((Tmp1 == 50) && (monGenre=="C") && (monClasse=="A"))
			BoundMin = 14;
		else if ((Tmp1 <= 125))
			BoundMin = 16;
		else 
			BoundMin = 18;
				    
		if ( Checkhuman(res,strRef,BoundMin) ){
 			DATE_NAISSANCE.value = res;
			return true ;
		}
	}
	
	}
}

//--- valid_Submit: fonction, verifie que le formulaire soit bien rempli ---
function valid_Submit()
{
	with(document.formMoto){
	var temp;
	var monAge, monSexe;
	var intTmp1;
	var mesAntecedents = ChoixAss.options[ChoixAss.options.selectedIndex].value;
	if ( ( mesAntecedents != "" ) && ( mesAntecedents != "0" ) )
	{	
		mesAntecedents=(parseInt(mesAntecedents)-1).toString();
	}

	if ( ( Marque.value == '' ) || ( Marque.value == 'Marque' ) ){
		alert("Tarification impossible, selectionner un véhicule");		
		return;
		}
	// Verif GROUPE et Choix Assurance
	else 
	{
		var maDatePermisMoto=DATE_PERMIS_MOTO.value;
		var maDatePermisAuto=DATE_PERMIS_AUTO.value;
		var maCylindree=parseInt(CYLINDREE.value);
		var maDateEffet=DATE_EFFET.value.substring(3,10);
			var bonusmoto=parseFloat(COEFBONUSMOTO.value.replace(",","."));
			var bonusauto=parseFloat(COEFBONUSAUTO.value.replace(",","."));
					monAge = getAge(maDatePermisMoto);
					temp = monAge.split(";");
					agePermisMoto=temp[0];		
		if ( ((maDatePermisMoto=='') || (maDatePermisMoto=='mmaa')) && !olderThanXYearsBasedOnDateD(maDatePermisAuto,maDateEffet,2) && maCylindree==125)
		{
			alert("Le permis auto doit avoir été obtenu au moins deux ans avant la date d'effet");
			return;
		}

		if ( ((GROUPE.value >= 5) && (GROUPE.value <= 6))
			&& (agePermisMoto < 1) )
		{			
		   	alert("Tarification impossible,\n Pour assurer cette moto, vous devez justifier d'une année de permis moto");
		   	//ChoixAss.select();
		   	DATE_PERMIS_MOTO.focus();
		   	return;
		}
			
		if ( (GROUPE.value >= 7 )
				&& (agePermisMoto < 2) )
		{			
			alert("Tarification impossible,\n Pour assurer cette moto, vous devez justifier de 2 années de permis moto");
		   	DATE_PERMIS_MOTO.focus();
		   	return;
		}

	 // Verification des coordonnees geographiques					
		if ((Zon_CodePostal.value=="")||(selectVille.options.length==0))
		{
			alert("Veuillez entrer un code postal");
			Zon_CodePostal.select();
			Zon_CodePostal.focus();
			return;
		}
		if ((DATE_MEC.value=='mmaa') || (DATE_MEC.value==''))
		{
			alert("Veuillez entrer la date de 1ère mise en circulation");
			DATE_MEC.select();
			DATE_MEC.focus();
			return;
		}	
		if ( (SUSPENSION.options[SUSPENSION.options.selectedIndex].value != '0')
			&& ( (CLASSE.value == 'A')||(CLASSE.value == 'B') ) )
		{
			alert("Pas de periode de suspension pour motos de classes A ou B");
			SUSPENSION.focus();
			return;
		}
			
		if ( (! CARTEGRISE[0].checked)&&(CYLINDREE.value > 50) ) 
		{
			alert("Tarification impossible si pas titulaire de la carte grise");
			CARTEGRISE.focus();
			return;
		}
		
		if ((DATE_NAISSANCE.value=='mmaa') || (DATE_NAISSANCE.value==''))
		{
			alert("Veuillez entrer la date de naissance de l'assuré");
			DATE_NAISSANCE.select();
			DATE_NAISSANCE.focus();
			return;
		}
			
		if ( ((maDatePermisMoto == '' )||(maDatePermisMoto == 'mmaa')) &&
		         ((CYLINDREE.value > 50) && (CYLINDREE.value <= 125)) &&
		         ( (maDatePermisAuto == '') ||(maDatePermisAuto == 'mmaa')) ) 
		{
		   	alert("Tarification impossible, compte tenu de l'abscence du permis moto, celui auto est obligatoire");
			DATE_PERMIS_AUTO.select();
			DATE_PERMIS_AUTO.focus();
			return;
		}	      
			
	// Verification de la présence du bonus auto
		if ( ((maDatePermisMoto == '')||(maDatePermisMoto == 'mmaa'))
			  && (CYLINDREE.value > 125)  && (GENRE.value != '0') && (GENRE.value != 'T') )
		{
			alert("Tarification impossible, permis moto obligatoire");
			DATE_PERMIS_MOTO.select();
			DATE_PERMIS_MOTO.focus();
			return;
		}
		
		if ( ((maDatePermisMoto == '')||(maDatePermisMoto == 'mmaa')) && ( (maDatePermisAuto == '') ||(maDatePermisAuto == 'mmaa')) &&
                (CYLINDREE.value > 125 && (GENRE.value == '0' || GENRE.value == 'T')) )
			{
				alert("Tarification impossible, permis auto ou moto obligatoire");
				DATE_PERMIS_MOTO.select();
				DATE_PERMIS_MOTO.focus();
			return;
			}
					
		if ( ((maDatePermisMoto == '')||(maDatePermisMoto == 'mmaa'))
				 && (	(parseInt(CYLINDREE.value) >= 80)
		 		&& (Checkhuman(DATE_NAISSANCE.value,'DATE_NAISSANCE',18) )
				 	)
				 && (COEFBONUSAUTO.value == '' )
					)
			{alert('Tarification impossible, Coefficient bonus auto obligatoire');
			return;}
			
		if ((maDatePermisMoto != '')&&(maDatePermisMoto != 'mmaa')&& (COEFBONUSMOTO.value != '' ))
			if (!validateBonusMoto(COEFBONUSMOTO.value,'COEFBONUSMOTO',1)) { return;}
		if ((maDatePermisAuto != '')&&(maDatePermisAuto != 'mmaa')&& (COEFBONUSAUTO.value != '' ))
			if (!validateBonusAuto(COEFBONUSAUTO.value,'COEFBONUSAUTO',1)) { return;}
			

			if ( GENRE.value == '9' && CYLINDREE.value >=600 &&(
			(!olderThanXYearsBasedOnDateD(DATE_NAISSANCE.value,maDateEffet,25) ||bonusmoto>0.9 )))
			{			
				alert("Tarification impossible");return;
			}

			if ( GENRE.value == 'S' && CYLINDREE.value >50 && (CLASSE.value == 'A'||CLASSE.value == 'B'||CLASSE.value == 'C'||CLASSE.value == 'D')&&
			!olderThanXYearsBasedOnDateD(DATE_NAISSANCE.value,maDateEffet,20) && bonusmoto>=1)
			{			
				alert("Tarification impossible");return;
			}

	// Verification de la validite du bonus par rapport aux antecedents d'assurance.
					
		if (!COEFBONUSMOTO.disabled 
			&& (ChoixAss.options[ChoixAss.options.selectedIndex].value == 0) 
			&& (COEFBONUSMOTO.value < 1 ) && (CYLINDREE.value > 125))
			{
			alert('Votre coefficient de bonus moto ne peut être différent de 1');
			COEFBONUSMOTO.value="1";
			COEFBONUSMOTO.select();			
			COEFBONUSMOTO.focus();
			}
		else if (!COEFBONUSMOTO.disabled 
			&& (ChoixAss.options[ChoixAss.options.selectedIndex].value == 1) 
			&& (COEFBONUSMOTO.value < 0.95 ))
		{
			alert('Votre coefficient de bonus moto doit être supérieur ou égal à 0.95');
			COEFBONUSMOTO.select();			
			COEFBONUSMOTO.focus();
		}
		else if (!COEFBONUSMOTO.disabled 
			&& (ChoixAss.options[ChoixAss.options.selectedIndex].value == 2) 
			&& (COEFBONUSMOTO.value < 0.90 ))
		{
			alert('Votre coefficient de bonus moto doit être supérieur ou égal à 0.90');
			COEFBONUSMOTO.select();
			COEFBONUSMOTO.focus();
		}
		else if (!COEFBONUSMOTO.disabled 
			&& (ChoixAss.options[ChoixAss.options.selectedIndex].value == 3) 
			&& (COEFBONUSMOTO.value < 0.85 ))
		{
			alert('Votre coefficient de bonus moto doit être supérieur ou égal à 0.85');
			COEFBONUSMOTO.select();
			COEFBONUSMOTO.focus();
		}

		else if ( (! PAIEMENT[0].checked)&&(! PAIEMENT[1].checked) ) 
		{
		    alert("Selectionnez le mode de paiement de votre prime");
			PAIEMENT[0].focus();
		}
			
			
		else
		{
			if (ChoixAss.options[ChoixAss.options.selectedIndex].value <= 1) 
			{
				COEFBONUSMOTO.value=1;
			}
				
		//---dans cette partie on transmet la zone tarifaire aux champs cachés ZONE_RC nécessaire à la tarification---
			var indVille,maVille;
			indVille=selectVille.options.selectedIndex;
			maVille=selectVille.options[indVille].value;
										
			ZONE_RC.value=maVille;
							
		//---On passe au champ caché "Ville" la ville sélectionnée par l'intermédiaire.
			var index, NomVille;
			index = selectVille.options.selectedIndex;
			NomVille = selectVille.options[index].text;
			Ville.value = NomVille;

		//---On modifie le valeur du champ cache calcul.
			calcul.value = 'OUI';

			if (maVille=='-1')
			{
				alert("Veuillez selectionner une ville");
				selectVille.focus();
				return;
			}
							
				age=eval(getAge(DATE_NAISSANCE.value));
				affms2=false;
				if ((DATE_PERMIS_MOTO.value != '') && (DATE_PERMIS_MOTO.value != 'mmaa') && (parseInt(CYLINDREE.value,10) > 125)){
					agePMoto=eval(getAge(DATE_PERMIS_MOTO.value));
					if (agePMoto<=2 && (age-agePMoto)>=18 && (age-agePMoto)<21)
					alert("Les personnes ayant obtenu un permis de catégorie 'A' \nentre 18 et moins de 21 ans ne sont pas autorisées à conduire \nune cylindrée dont la puissance réelle excède 25kW(34 CV DIN) \nsi ce permis date de moins de deux ans.");}
	 			else if ((DATE_PERMIS_AUTO.value != '') && (DATE_PERMIS_AUTO.value != 'mmaa') && (parseInt(CYLINDREE.value,10) <= 125)){
	 				if (eval(getAge(DATE_PERMIS_AUTO.value))>2){affms2=true;}
	 				}
	 			else if ((DATE_PERMIS_MOTO.value != '') && (DATE_PERMIS_MOTO.value != 'mmaa') && (parseInt(CYLINDREE.value,10) <= 125)){
	 					if ((age-eval(getAge(DATE_PERMIS_MOTO.value)))<18){affms2=true;}}
				if (affms2){	alert("Les personnes titulaires d'un permis auto 'B' depuis plus de 2 ans \nou d'un permis moto 'AL' obtenu entre 16 et moins de 18 ans \nne sont pas autorisées à conduire un véhicule \ndont la puissance réelle est supérieure à 11kW (15 Cv DIN).");}

			if (validateSinAndFillP()){
				if (GENRE.value == '0')alert("Les  personnes  titulaires seulement d\'un  permis  auto  \'B\',  ne  sont  pas  autorisées  à  conduire  un  véhicule  QUAD  dont  la  puissance  réelle  est  supérieure  à  15  Kilowatts");
				if (ControlDate('DATE_EFFET', document.formMoto, 'jj/mm/aaaa',1)) submit();
			}
		}
	}
}
}

function changeVille()
{
	//---On passe au champ caché "Ville" la ville sélectionnée par l'intermédiaire.
	var index = document.formMoto.selectVille.options.selectedIndex;
	if (index > -1){
		var NomVille = document.formMoto.selectVille.options[index].text;
		document.formMoto.Ville.value = NomVille;
		}
}

function changeFormValue()
{
	if (document.formMoto.affichage.value=="1")
	{
		document.formMoto.affichage.value="0";
		document.formMoto.operation.value="saveSession";
		document.formMoto.submit();
	}
}


  
function ChercheMoto()
{
	//alert(" Le conducteur habituel déclare n'avoir jamais fait  l'objet de retrait  suspension\n ou annulation de permis (tous motifs) ni de poursuites pour conduite en état\n d'ivresse ni de retrait suspension ou annulation de permis pour excès de vitesse\n ni de condamnation pour délit de fuite.");
	openWindow('MotoWindow','/pages/TarificationSouscription/RechercheMoto/FrameRechercheMoto.htm',400,575,20,20); 
	return;
}

// Renvoie vrai s'il s'est passé (/date sys) plus de 36 par rapport a la date passée en argument (sous la forme "MM/AAAA") 
function olderThan36Months(strDate)
{
	var temp, res;
	var monMois, monAnnee;
	var dateC, moisC, anneeC;

	//--- Recuperation de la date courrante ---
	jourC = parseInt(document.forms[0].jourC.value,10); 
	moisC = parseInt(document.forms[0].moisC.value,10); 
	anneeC = parseInt(document.forms[0].anneeC.value,10);

	temp = strDate.split('/');
	monMois = parseInt(temp[0],10);
	monAnnee = parseInt(temp[1],10);
	
	if ( (anneeC - monAnnee) < 3)
		return false;
	else if  ( (anneeC - monAnnee)>3 )
		return true;
	else if ( (monAnnee + 3 == anneeC) && ( moisC > monMois ) ) 
		return true; 
	else
		return false;
}


// Renvoie vrai s'il s'est passé (par rapport à strDateD) plus de NbYears ans par rapport a la date passée en argument (sous la forme "MM/AAAA") 


function olderThanXYearsBasedOnDateD (strDate1,strDateD,NbYears)
{
	var temp, res, temp2;
	var monMois, monAnnee;
	var moisD, anneeD;

	temp2 = strDateD.split('/');
	moisD = parseInt(temp2[0],10);
	anneeD = parseInt(temp2[1],10);
	
	
	temp = strDate1.split('/');
	monMois = parseInt(temp[0],10);
	monAnnee = parseInt(temp[1],10);
	NbYears=parseInt(NbYears);

	if ( (anneeD - monAnnee) < NbYears)
		return false;
	else if  ( (anneeD - monAnnee)> NbYears )
		return true;
	else if ( (monAnnee + NbYears == anneeD) && ( moisD >= monMois ) ) 
		return true; 
	else
		return false;
}

// Renvoie vrai s'il s'est passé (/date sys) plus de NbYears ans par rapport a la date passée en argument (sous la forme "MM/AAAA") 
function olderThanXYears(strDate,NbYears)
{
	var temp, res;
	var monMois, monAnnee;
	var dateC, moisC, anneeC;
	jourC = parseInt(document.forms[0].jourC.value,10); 
	moisC = parseInt(document.forms[0].moisC.value,10); 
	anneeC = parseInt(document.forms[0].anneeC.value,10);
	temp = strDate.split('/');
	monMois = parseInt(temp[0],10);
	monAnnee = parseInt(temp[1],10);
	monMois=parseInt(monMois,10);
	monAnnee=parseInt(monAnnee,10);
	NbYears=parseInt(NbYears,10);
	
	if ( (anneeC - monAnnee) < NbYears)
	{	return false;
	}
	else if  ( (anneeC - monAnnee)> NbYears )
	{
		return true;
	}
	else if ( (monAnnee + NbYears == anneeC) && ( moisC >= monMois ) ) 
	{
		return true; 
	}
	else
		return false;
}



// Controle que l'usage n'est pas destiné à un Coursier livreur
function validateUsage()
   {
   	if (document.formMoto.USAGE.selectedIndex=='1')  //value == 'Coursier livreur')
       {       	
		alert("Tarification impossible, profession non assurable");
		document.formMoto.USAGE.selectedIndex = 0;
		//document.formMoto.USAGE.select();
		document.formMoto.USAGE.focus();
		return false;
       }
     else
     	return true;
   }

//--- rechercheCodePostal: fonction, lance la recherche de la ville correspondante au code postal ---
function rechercheCodePostal(codePostal)
{
	URL= "/Pages/tarificationSouscription/getVille.asp";
	URL+= "?cp=" + escape(codePostal);
	parent.hiddenFrame.location.href=URL;
}
var villetrouve=0;
//--- viderListeVille: fonction, vide la liste des villes ---
function viderListeVille() {clearSelect('formMoto','selectVille');
villetrouve=0;}

//--- ajouterListeVille: fonction, ajoute un element a la liste des villes ---
function ajouterListeVille(val, text)
{	
	var l = document.formMoto.selectVille.options.length;
	var a = new Option(text,val);
	document.formMoto.selectVille.options[l]=a;
	if (text==document.formMoto.Ville.value){villetrouve=1;document.formMoto.selectVille.options[l].selected=true;}
	if (villetrouve!=1)
	document.formMoto.selectVille.options[0].selected=true;
}

//--- isLeapYear: verifie si l'annee est bisextile ---
function isLeapYear(Year)
{ 
	if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0))
		return true;
	else 
		return false;
}




//--- getAge: fonction, renvoi l'age exact de la personne ---
function getAge(maNaissance)
{
	var temp, res;
	var monMois, monAnnee;
	var dateC, moisC, anneeC;

	//--- Recuperation de la date courrante ---
	jourC = parseInt(document.forms[0].jourC.value,10); 
	moisC = parseInt(document.forms[0].moisC.value,10); 
	anneeC = parseInt(document.forms[0].anneeC.value,10);
	
	//--- Recuperation des informations sur la date de naissance ---
	temp = maNaissance.split('/');
	monMois = parseInt(temp[0],10);
	monAnnee = parseInt(temp[1],10);
	
	if (monMois==moisC)
		res = (anneeC-monAnnee)+".0";
	else
		if (monMois < moisC)
			res = (anneeC-monAnnee)+"."+(moisC-monMois);
		else
			res = (anneeC-monAnnee-1)+"."+(12-monMois+moisC);
	return res;
}


//--- validate_DATE_MEC: fonction, verifie la validite de la date de mise en circulation ---
function validate_DATE_MEC(maDate)
{
	if (!ControlDate('DATE_MEC', document.formMoto, 'mmaa'))return false;
	else return true;
}

//----selectZone: fonction, permet d'enregistrer la zone selectionnée pour la passer au formulaire de tarrification----
/*function selectZone(maZone)
{
	alert(maZone);
	var temp;
	temp=maZone;
	document.formMoto.ZONE_RC.value = temp;
}
*/



//--- validate_DATE_PERMIS_AUTO: fonction, verifie la validite de la date permis ---
function validate_DATE_PERMIS_AUTO(maDate)
{
	with(document.formMoto){
	var res;
	var dateNaissance = DATE_NAISSANCE.value;
	var dateNaissanceT, datePermisT;
	if ((dateNaissance == 'mmaa') || (dateNaissance == ''))
	{
		alert("Veuillez d'abord renseigner le champ: Date de naissance");
		DATE_PERMIS_AUTO.value = 'mmaa';
		DATE_NAISSANCE.select();
		DATE_NAISSANCE.focus();
		return false;
	}
	else
	{
		 
		if (!ControlDate('DATE_PERMIS_AUTO', document.formMoto, 'mmaa'))
		{
			return false;
		}
		else
			{	res =DATE_PERMIS_AUTO.value;
				datePermisT = res.split('/');
				dateNaissanceT = dateNaissance.split('/');
				if (((datePermisT[1]-18)<dateNaissanceT[1])||(((datePermisT[1]-18)==dateNaissanceT[1])&&(dateNaissanceT[0]>datePermisT[0])))
				{
		            alert("Incohérence entre la date de naissance et celle du permis de conduire");
					DATE_PERMIS_AUTO.value = 'mmaa';
					DATE_PERMIS_AUTO.select();
					DATE_PERMIS_AUTO.focus();
					return false;
				}
				else if ((!olderThanXYears(res,2))&&((DATE_PERMIS_MOTO.value == 'mmaa') || (DATE_PERMIS_MOTO.value == ''))&&(CYLINDREE.value==125))
				{   alert("Permis auto de moins de 2 ans : saisir obligatoirement la date du permis moto");
					DATE_PERMIS_AUTO.value = 'mmaa';
					DATE_PERMIS_MOTO.select();
					DATE_PERMIS_MOTO.focus();
					return false;}
				else
					{DATE_PERMIS_AUTO.value = res;
					return true;}
			}
		}
	}
}

//--- validate_DATE_PERMIS_MOTO: fonction, verifie la validite de la date permis ---
function validate_DATE_PERMIS_MOTO(maDate)
{
	with(document.formMoto){
	var res;
	var dateNaissance = DATE_NAISSANCE.value;
	var dateNaissanceT, datePermisT;
	
	if ((dateNaissance == 'mmaa') || (dateNaissance == ''))
	{
		alert("Veuillez d'abord renseigner le champ: Date de naissance");
		DATE_PERMIS_MOTO.value = 'mmaa';
		DATE_NAISSANCE.select();
		DATE_NAISSANCE.focus();
		return false;
	}
	else
	{
		
		if (!ControlDate('DATE_PERMIS_MOTO', document.formMoto, 'mmaa'))
		{
			return false;
		}
		else
			{	res = DATE_PERMIS_MOTO.value;
				datePermisT = res.split('/');
				dateNaissanceT = dateNaissance.split('/');
				
				if (((datePermisT[1]-18)<dateNaissanceT[1])||(((datePermisT[1]-18)==dateNaissanceT[1])&&(dateNaissanceT[0]>datePermisT[0])))
				{
					if ((((datePermisT[1]-16)<dateNaissanceT[1])||(((datePermisT[1]-16)==dateNaissanceT[1])&&(dateNaissanceT[0]>datePermisT[0])))
						&& (CYLINDREE.value >50))
						{
						alert("Incohérence entre la date de naissance et celle du permis de conduire");
						DATE_PERMIS_MOTO.value = 'mmaa';
						DATE_PERMIS_MOTO.select();
						DATE_PERMIS_MOTO.focus();
						return false;
						}
					
				}
				else
					{DATE_PERMIS_MOTO.value = res;
					return true;}
			}
		}
	}
}


//--- validate_COND_ACC: fonction, verifie les conditions d'acces à la conduite accompagnee
function validate_COND_ACC(isChecked)
{
	var monAge, temp;
	if (isChecked)
	{
		if ((document.formMoto.DATE_NAISSANCE.value=='mmaa') || (document.formMoto.DATE_NAISSANCE.value==''))
		{
			alert("Veuillez d'abord renseigner le champ Date de Naissance");
			document.formMoto.COND_ACC.checked = false;
			document.formMoto.DATE_NAISSANCE.select();
			document.formMoto.DATE_NAISSANCE.focus();
		}
		else
		{
			monAge = getAge(document.formMoto.DATE_NAISSANCE.value);
			temp = monAge.split(";");
			if (temp[0]>=19)
			{
				alert("Choix incompatible avec l'age du conducteur");
				document.formMoto.COND_ACC.checked = false;
			}
		}
	}
}


//--- validateBonusAuto: fonction, valide le bonus ---

function validateBonusAuto(monBonus,BonusRef,ctrl)
{
	monBonus=monBonus.replace(",",".");
	document.formMoto[BonusRef].value=monBonus;
	var temp;
	var maDatePermis=document.formMoto.DATE_PERMIS_AUTO.value;
	var deltaMois, maDatePermisT;
	var dateC, moisC, anneeC;
	res=true;
	function msg(myText){
			alert(myText);
			document.formMoto[BonusRef].value='';
			document.formMoto[BonusRef].select();
			document.formMoto[BonusRef].focus();
			return false;
			}
	//--- Recuperation de la date courrante ---
	jourC = parseInt(document.forms[0].jourC.value,10); 
	moisC = parseInt(document.forms[0].moisC.value,10); 
	anneeC = parseInt(document.forms[0].anneeC.value,10);
	
	if (monBonus!=''||ctrl)
	if ((maDatePermis=='mmaa') || (maDatePermis==''))
	{
		alert("Veuillez d'abord renseigner le champ Permis de conduire");
		document.formMoto[BonusRef].value='';
		document.formMoto.DATE_PERMIS_AUTO.select();
		document.formMoto.DATE_PERMIS_AUTO.focus();
		return false;
	}
	else
	{
		temp=parseFloat(monBonus);
		if (isNaN(temp))
		{
			res=msg("Coefficient Bonus incorrect");
		}
		else
		{
			if ((temp<0.5)||(temp>1))
			res=msg("Le bonus doit être compris entre 0.5 et 1");
			else
			{
				maDatePermisT=maDatePermis.split("/");
				deltaMois=(moisC-maDatePermisT[0])+(12*(anneeC-maDatePermisT[1]));
				if ((deltaMois<60)&&(temp<0.75))
				res=msg("Coefficient Bonus incorrect (0.75 minimum)");
				else if ((deltaMois<72)&&(temp<0.74))
				res=msg("Coefficient Bonus incorrect (0.74 minimum)");
				else if ((deltaMois<84)&&(temp<0.69))
				res=msg("Coefficient Bonus incorrect (0.69 minimum)");
				else if ((deltaMois<96)&&(temp<0.60))
				res=msg("Coefficient Bonus incorrect (0.60 minimum)");
				else if ((deltaMois<108)&&(temp<0.55))
				res=msg("Coefficient Bonus incorrect (0.55 minimum)");
				else if ((deltaMois<120)&&(temp<0.52))
				res=msg("Coefficient Bonus incorrect (0.52 minimum)");
									
			}
		}
	}
	
	return res;
}



function validateSinAndFillP()
{
		with(document.formMoto){
		NbSINRMAT=parseInt(SINRMAT.options[SINRMAT.options.selectedIndex].value,10);
		NbSINRCOR=parseInt(SINRCOR.options[SINRCOR.options.selectedIndex].value,10);
		NbSINNRMATAT=parseInt(SINNRMATAT.options[SINNRMATAT.options.selectedIndex].value,10);
		NbSINNRMATST=parseInt(SINNRMATST.options[SINNRMATST.options.selectedIndex].value,10);
		NbSINNRCOR=parseInt(SINNRCOR.options[SINNRCOR.options.selectedIndex].value,10);
		NbSINVT=parseInt(SINVT.options[SINVT.options.selectedIndex].value,10);
		NbSININ=parseInt(SININ.options[SININ.options.selectedIndex].value,10);
		
		if (isNaN(NbSINRMAT)) NbSINRMAT=0;
		if (isNaN(NbSINRCOR)) NbSINRCOR=0;
		if (isNaN(NbSINNRMATAT)) NbSINNRMATAT=0;
		if (isNaN(NbSINNRMATST)) NbSINNRMATST=0;
		if (isNaN(NbSINNRCOR)) NbSINNRCOR=0;
		if (isNaN(NbSINVT)) NbSINVT=0;
		if (isNaN(NbSININ)) NbSININ=0;
		
		if ((NbSINRMAT+NbSINRCOR) > 0 || (NbSINNRCOR+NbSINNRMATAT)>2 || (NbSINNRMATST+NbSINVT+NbSININ)>1) 
		 {
			alert('Tarification impossible,\nVos antécédents d\'assurances sont incompatibles avec nos conditions de souscription');
			return false;
		 }
		 
		  
	    Tmp1 = GROUPE.value;
	    Tmp2 = Zon_CodePostal.value;
	    Tmp3 = ZONE_RC.value ;// ZONE_RC remplace ZONE_VOL, normalement =(Tmp1 == 0) || (Tmp1 == 1)
		Tmp2 = Tmp2.substr(0,2);
		
//		if (  ( (Tmp2 == 75)||(Tmp2 == 78)||(Tmp2 == 77)||(Tmp2 == 91)||(Tmp2 == 92)||(Tmp2 == 93) ||(Tmp2 == 94)||(Tmp2 == 95) ) && 
//	                ( CYLINDREE.value<125 )  && ( (Tmp3==5) || (Tmp3==6) ) )
//		{
//			alert("Tarification impossible, véhicule non assurable en fonction de la zone");
//			return false;
//		}
		
		if (!RESILIE[0].checked && !RESILIE[1].checked)
		{
			alert("Répondez à la question :\nL'assuré a-il été résilié par son précédent assureur ?");
			return false;
		}
		if (RESILIE[0].checked)
		{
			alert("Tarification impossible, vos antécédents d'assurance sont incompatibles avec nos conditions de souscription");
			return false;
		}
	
		p1 = 0;
		p2 = 0;
		p3 = 0;
		if ( !((CLASSE.value == 'A')||(CLASSE.value == 'B')) )
	    	{ p1 = 1 };
	    test36m = olderThanXYears(DATE_MEC.value,3);

	  	switch (CLASSE.value) {
	     	case 'A': {p2 = 0; p3 = 0; break;}
	       	case 'B': {p2 = 0; p3 = 0; break;}
		  	case 'C': {p2 = 0; p3 = 0; break;}
		  	case 'D': {p2 = 0; p3 = 0; break;}
		  	case 'E': {p2 = 1; if (!test36m && Tmp3>3)p3 = 1; else p3 = 0; break;}
		 	case 'F': {p2 = 1; if (!test36m && Tmp3>3)p3 = 1; else p3 = 0; break;}
		  	case 'G': {p2 = 1; if (Tmp3>3)p3 = 1; else p3 = 0; break;}
		 	case 'H': {p2 = 1; if (Tmp3>3)p3 = 1; else p3 = 0; break;}
			} /* End Switch */
	
		// Affichage des indications concernant la protection du vehicule 
		strAffich = '';
	    if ( p1 == 1 )
	    {
			strAffich = 'Le véhicule doit être équipé d\'un anti-vol mécanique agréé SRA.';
		    strAffich = strAffich + '\n' + 'La facture d\'achat de l\'anti-vol mécanique agréé SRA sera exigée préalablement';
		    strAffich = strAffich + '\n' + 'à tout règlement au titre de la garantie vol.\n\n';
	    };
	    if ( p2 == 1)
		{
		    strAffich = strAffich + 'Le gravage du véhicule est obligatoire.';
		    strAffich = strAffich + '\n' + 'Celui-ci doit être réalisé par un correspondant ';
		    strAffich = strAffich + '\n' + 'd\'une société de marquage agréée SRA.\n\n';
	    }; 
	    if ( p3 == 1 )
	    {
			if (p1 == 1)
	        	{	strAffich = strAffich + 'Le véhicule doit également être équipé d\'un système de protection anti-vol électronique agréé SRA installé par un professionnel qualifié.\n\n'; }
		    else
				{	strAffich = strAffich + 'Le véhicule doit être équipé d\'un système de protection anti-vol électronique agréé SRA installé par un professionnel qualifié.\n\n'; };
	     };
	
	    if ( (p1 == 1)||(p2 == 1)||(p3 == 1) )
	     	{ alert(strAffich) };
	    P1.value = p1;
		P2.value = p2;
		P3.value = p3;

		return true;
		}
}


//--- validateBonusMoto: fonction, valide le bonus ---

function validateBonusMoto(monBonus,BonusRef,ctrl)
{
	monBonus=monBonus.replace(",",".");
	document.formMoto[BonusRef].value=monBonus;
	var temp;
	var maDatePermis=document.formMoto.DATE_PERMIS_MOTO.value;
	var maDatePermisAuto=document.formMoto.DATE_PERMIS_AUTO.value;
	var deltaMois, maDatePermisT;
	var dateC, moisC, anneeC;
	var maCylindree=document.formMoto.CYLINDREE.value;
	var monBonusAuto=document.formMoto.COEFBONUSAUTO.value;
	monBonusAuto=monBonusAuto.replace(",",".");
	var temp2;
	res=true;
	function msg(myText){
			alert(myText);
			document.formMoto[BonusRef].value='';
			document.formMoto[BonusRef].select();
			document.formMoto[BonusRef].focus();
			return false;
			}
	//--- Recuperation de la date courrante ---
	jourC = parseInt(document.forms[0].jourC.value,10); 
	moisC = parseInt(document.forms[0].moisC.value,10); 
	anneeC = parseInt(document.forms[0].anneeC.value,10);
	if (monBonus!=''||ctrl)
	  if (((maDatePermis=='mmaa') || (maDatePermis=='')) && !((parseInt(maCylindree)==125 && olderThanXYears(maDatePermisAuto,2))||document.formMoto.GENRE.value == '0' || document.formMoto.GENRE.value == 'T'))
		{
			alert("Veuillez d'abord renseigner le champ Permis de conduire moto");
			document.formMoto[BonusRef].value='';
			document.formMoto.DATE_PERMIS_MOTO.select();
			document.formMoto.DATE_PERMIS_MOTO.focus();
		}
		else
		{
			temp=parseFloat(monBonus);
			temp2=parseFloat(monBonusAuto);
			if (isNaN(temp2))
				{temp2=-1;}
			if (isNaN(temp))
			res=msg("Coefficient Bonus incorrect");

//			else if (((maDatePermis=='mmaa') || (maDatePermis=='')) && ((parseInt(maCylindree)==125 && olderThanXYears(maDatePermisAuto,2))||GENRE.value == '0' || GENRE.value == 'T') && temp<temp2)
//			res=msg("Le bonus auto doit être supérieur au bonus moto");	
			else
			{		
				if (document.formMoto.ChoixAss.options.selectedIndex==0 && temp!= 1)
				{
					alert("Compte tenu de vos antécédents,\n le bonus ne peut être différent de 1");
					document.formMoto[BonusRef].value='1';
					return false;
				}
				else if (temp<0.5)
				res=msg("Le bonus doit être compris entre 0.5 et 1");
				else if (temp>1)
				res=msg("Souscription impossible pour les détenteurs d'un malus au titre d'un contrat 2 roues ou 4 roues");
				else
				{
					maDatePermisT=maDatePermis.split("/");
					deltaMois=(moisC-maDatePermisT[0])+(12*(anneeC-maDatePermisT[1]));
					if ((deltaMois<60)&&(temp<0.75))
					res=msg("Coefficient Bonus incorrect (0.75 minimum)");
					else if ((deltaMois<72)&&(temp<0.74))
					res=msg("Coefficient Bonus incorrect (0.74 minimum)");
					else if ((deltaMois<84)&&(temp<0.69))
					res=msg("Coefficient Bonus incorrect (0.69 minimum)");
					else if ((deltaMois<96)&&(temp<0.60))
					res=msg("Coefficient Bonus incorrect (0.60 minimum)");
					else if ((deltaMois<108)&&(temp<0.55))
					res=msg("Coefficient Bonus incorrect (0.55 minimum)");
					else if ((deltaMois<120)&&(temp<0.52))
					res=msg("Coefficient Bonus incorrect (0.52 minimum)");

				}
			}
		}
		return res;
}




// - Validation des sinistres
  
  function valid_sin(strIn,strRef)
   {
	if ( isNaN(strIn) )
          { alert("Entrer un nombre");
	    	document.formMoto[strRef].options[document.formMoto[strRef].options.selectedIndex].value = '';
            return false;
          }

	if ( parseInt(strIn) > 9 || parseInt(strIn) < 0 ) 
      { alert("Entrer un nombre compris entre 0 et 9");
	    document.formMoto[strRef].value = '';
	    return false;
      }
    return true;
   }



function Checkhuman(strIn,strRef,BoundMin)
 {
	//--- Recuperation de la date courrante ---
	jourC = parseInt(document.forms[0].jourC.value,10); 
	moisC = parseInt(document.forms[0].moisC.value,10); 
	anneeC = parseInt(document.forms[0].anneeC.value,10);

   ind1 = strIn.indexOf('/');
   mm = strIn.substr(0,ind1);
   aaaa = strIn.substr(ind1+1,9999);
   if ( (anneeC - aaaa) < BoundMin )
     {
        alert("Conducteur trop jeune, tarification impossible");
        document.formMoto[strRef].value = '';
        return false;
     };
   if ( (anneeC - aaaa) == BoundMin )
    {
      if( (moisC - mm) < 0 )
       { alert("Conducteur trop jeune, tarification impossible");
        document.formMoto[strRef].value = '';
        return false;
       }
    };
   if ( (anneeC - aaaa) > 75 )
    {
       alert("Conducteur trop agé, tarification impossible");
       document.formMoto[strRef].value = '';
       return false;
     };
   if ( (anneeC - aaaa) == 75 )
     {
       if( (moisC - mm) > 0 )
        {
           alert("Conducteur trop agé, tarification impossible");
           return false;
        }
     };
   return true;
 }

function Retour(){
	window.history.go(-1)
}

function VerifieCodePostal()
{
	Tmp2 = document.formMoto.Zon_CodePostal.value;
	Tmp2 = Tmp2.substring(0,2);
	if ((Tmp2 == 20)||(Tmp2 == 97)||(Tmp2 == 98)) 
	{
		alert("Tarification impossible, véhicule non assurable dans ce département");
		document.formMoto.Zon_CodePostal.value = '';
		return false;
	}
	else
		return true;
}


function validatePoliceSa(monnumero,ChampRef)
{
	if (monnumero.length>0 && monnumero.length!=7)
	 {
		alert("Numéro de police non valide");
        document.formMoto[ChampRef].value="";
		document.formMoto[ChampRef].focus();
        document.formMoto[ChampRef].select();
		return false;
	}
	
}

//-->


