

//-- ------------------------------------------------------------------------------------------------------------------------
function ouvreFenetre(urlFenetre,width,height) {
//-- ------------------------------------------------------------------------------------------------------------------------	
	carac = "menubar=no,scrollbars=no,width="+width+",height="+height;
	fenetre = open(urlFenetre,'emp_popup',carac);
	fenetre.focus();
}

//-- ------------------------------------------------------------------------------------------------------------------------
function aide(motcle) { // Aide contextuelle	  
//-- ------------------------------------------------------------------------------------------------------------------------	
	urlaide = 'aideformb.php?rech='+motcle;
	fenetre = window.open(urlaide,'fenaide','menubar=no,scrollbars=yes,width=450,height=400');
	fenetre.focus();	    
}

//-- ------------------------------------------------------------------------------------------------------------------------
function ValideNumerique(chaine, longueur) {
//-- ------------------------------------------------------------------------------------------------------------------------	
   if(longueur!=0) {
      if (( chaine.search(/[^0-9]/) != -1 ) || (chaine =='') ||(chaine.length < longueur))       return false;
      else return true;
   }
   else {
      if (( chaine.search(/[^0-9]/) != -1 ) || (chaine ==''))       return false;
      else return true;
   }
}  

//-- ------------------------------------------------------------------------------------------------------------------------
function ValidePhone(chaine) {
//-- ------------------------------------------------------------------------------------------------------------------------	
	if(chaine=='') return true;
	if (( chaine.search(/[^0-9]/) != -1 ) ||(chaine.length < 10)) return false;
	if(chaine.charAt(0)!="0") return false ;
	var prefixe = chaine.charAt(1);
	if(prefixe<1) return false ;
	return true;
}

//-- ------------------------------------------------------------------------------------------------------------------------
function testeDate(jour, mois, annee, obligatoire, message) {
//-- ------------------------------------------------------------------------------------------------------------------------	

	datedujour = new Date();
	lannee = datedujour.getFullYear();

   if(obligatoire==1) {
      if((jour=="")||(mois=="")||(annee=="")) {
         alert("Veuillez saisir" + message);
         return false;
      }      
   }

		if ( annee.search(/[^0-9]/) != -1 ) {
		  alert("Il y a une erreur sur" + message);
		  return false;
		}

   if((jour <=0)||(jour>31)
      ||(mois<=0)||(mois>12)
      ||(annee<(lannee-100))) {
      alert("Il y a une erreur sur" + message);
      return false;
   }
   if((jour>30) && ((mois==4) || (mois==6) || (mois==9) || (mois==11)) ) {
      alert("Il y a une erreur sur" + message);
      return false;
   }
   if((jour>29) && (mois==2)) {
      alert("Il y a une erreur sur" + message);
      return false;
   }
   if( (isNaN(parseInt(jour,10))) || (isNaN(parseInt(mois,10))) 
      ||(isNaN(parseInt(annee,10))) ) {      
      alert("Il y a une erreur sur" + message);
      return false;
   } 
   return true;        
}   

//-- ------------------------------------------------------------------------------------------------------------------------
function compareDates(date1an, date1mois, date1jour, date2an, date2mois, date2jour, nbannees, message) {
//-- ------------------------------------------------------------------------------------------------------------------------	

   if((date1an - date2an) < nbannees) {
      if (message != "") alert(message);
      return false;      
   }
   else {
      if(((date1an - date2an) == nbannees) && (date1mois < date2mois)) {
	      if (message != "") alert(message);
	      return false;            
      }
      else {
         if(((date1an - date2an) == nbannees) 
          && (date1mois == date2mois ) 
          && (date1jour < date2jour) ) {
            if (message != "") alert(message);
            return false;      
         }
      }
   }   
   return true;   
}   

//-- ------------------------------------------------------------------------------------------------------------------------
function compareJours(date1an,date1mois,date1jour,date2an,date2mois,date2jour,nbjours,message) {
//-- ------------------------------------------------------------------------------------------------------------------------	
   d1 = Date.parse(new Date(date1an, date1mois, date1jour));
   d2 = Date.parse(new Date(date2an, date2mois, date2jour));
      
   if((d2-d1) > (nbjours*24*60*60*1000)) {
      alert(message);
      return false;
   }
   return true;   
}  

//-- ------------------------------------------------------------------------------------------------------------------------
function valideraccueil(param) { // INFORMATIONS SUR L'ACCUEIL
//-- ------------------------------------------------------------------------------------------------------------------------	
   f = document.formulaire;
   if(param == 'new') {
      // f.numdoss.value = '';
      f.pagevoulue.value = 'infocond';
      f.submit();           
   }
   else {
      if(f.numdoss.value.length ==0) {
         alert('Veuillez saisir le numéro de dossier.');
         f.numdoss.focus();
         return;
      }
      if(f.adresse_mail.value.length == 0) {
         alert('Veuillez saisir votre adresse mail.');
         f.adresse_mail.focus();
         return;         
      }
      if(param == 'reprise') { f.pagevoulue.value = 'infocond'; f.act.value='reprise'; }
      else { f.pagevoulue.value = 'accueil'; f.act.value = 'liste'; }
      f.submit();
   }
}

//-- ------------------------------------------------------------------------------------------------------------------------
function validerinfocond() { //INFORMATIONS SUR LE CONDUCTEUR
//-- ------------------------------------------------------------------------------------------------------------------------	
	f = document.formulaire;
	
	datedujour = new Date();
	annee = datedujour.getFullYear();
	mois = datedujour.getMonth()+1;
	jour = datedujour.getDate();

	dnmoisc = f.dnmoisc.selectedIndex;
	dnjourc = f.dnjourc.selectedIndex;

	datenaissance = new Date(f.dnanc.value, dnmoisc -1, dnjourc -1);
	
	// Civilité ?
   selection = f.sexe.selectedIndex;
   if (selection == 0) {
   		var message = "Merci de préciser votre sexe";
      alert(message) 
      f.sexe.focus();
      return false;   
   } 

   // Validité date de naissance
   if(!testeDate(dnjourc, dnmoisc,  f.dnanc.value, 1, " votre date de naissance")) {
      f.dnjourc.focus();
      return false;
   }

   // situation familiale
   selection = f.sit_famille.selectedIndex;
   if(selection == 0) {
   		var message = "Merci de préciser votre situation familiale";
      alert(message) 
      f.sit_famille.focus();
      return false;   
   }   

   // Profession 
   selection = f.idstatut.selectedIndex;
   if(selection == 0) {
   		var message = "Merci de préciser votre profession";
      alert(message) 
      f.idstatut.focus();
      return false;   
   }  

 	 // 50cc ou non ?
		if (f.moto_50cc[0].checked == false && f.moto_50cc[1].checked == false) {
 			alert("Merci de préciser si vous voulez assurer une 50cm3 ou plus"); 
      f.moto_50cc[0].focus();
      return false;
		}
      
 	 // type de projet
   selection = f.type_projet.selectedIndex;
   if (selection == 0) {
   		var message = "Merci de préciser votre type de projet";
      alert(message) 
      f.type_projet.focus();
      return false;   
   } 
    
   // usage vehicule 
   selection = f.idusag.selectedIndex;
   if(selection==0) {
   		var message = "Merci de préciser l'usage du véhicule que vous souhaitez assurer";
      alert(message) 
      f.idusag.focus();
      return false;   
   }

   // titulaire de la carte 
   selection = f.idtitulaire.selectedIndex;
   if(selection==0) {
   		var message = "Merci de préciser le titulaire de la carte grise";
      alert(message) 
      f.idtitulaire.focus();
      return false;   
   }

 	 // Types de permis selon la cylindrée
		if (f.moto_50cc[0].checked == true) { // + de 50cc
			if (f.avoir_permis[0].checked == false
			 && f.avoir_permis[1].checked == false
			 && f.avoir_permis[2].checked == false) {
				alert("Merci de préciser quels permis vous possédez."); 
			  f.avoir_permis[0].focus();
			  return false;
			}
		} else { // cyclo
			if (f.avoir_permis[0].checked == false 
			 && f.avoir_permis[1].checked == false
			 && f.avoir_permis[2].checked == false
			 && f.avoir_permis[3].checked == false
			 && f.avoir_permis["bsr"].checked == false) {
				alert("Merci de préciser quels permis vous possédez."); 
			  f.avoir_permis[0].focus();
			  return false;
			}				
		}
		
		// déjà assuré moto
		if(f.deja_assure_moto[0].checked == false && f.deja_assure_moto[1].checked == false) {
			alert("Merci de préciser vos antécédents d'assurance moto"); 
		  f.deja_assure_moto[0].focus();
		  return false;
		}
		
		// déjà assuré auto
		if(f.deja_assure_auto[0].checked == false && f.deja_assure_auto[1].checked == false) {
			alert("Merci de préciser vos antécédents d'assurance auto"); 
		  f.deja_assure_auto[0].focus();
		  return false;
		}		
		
		// pre-vente 
		if(f.pre_vente) {
			if((!f.pre_vente[0].checked)&&(!f.pre_vente[1].checked)) {
				alert("Merci de nous indiquer si vous souhaitez bénéficier des avantages de nos partenaires.");
				f.pre_vente[0].focus();
				return false;
			}  
		}	
		
		// Age du conducteur selon le type de moto à assurer
		if (f.moto_50cc[0].checked == true) { // + de 50cc
			if(!compareDates(annee,mois,jour,f.dnanc.value,dnmoisc,dnjourc,18,"vous devez avoir au moins 18 ans")) {
		    f.dnjourc.focus();
		    return false;
		  }
		}	else { // Cyclo
			if(!compareDates(annee,mois,jour,f.dnanc.value,dnmoisc,dnjourc,14,"vous devez avoir au moins 14 ans")) {
		    f.dnjourc.focus();
		    return false;
		  }			
		}
				
   return true;
}

//-- ------------------------------------------------------------------------------------------------------------------------
function validerantecedants() { // INFORMATIONS SUR LES ANTECEDENTS
//-- ------------------------------------------------------------------------------------------------------------------------	
	
	var f = document.forms["moto"];
	//if (confirm(f.avoir_permis.value) == false) {return false;}
	
  var datedujour = new Date(); 
  var annee = datedujour.getFullYear();
  var mois = datedujour.getMonth()+1;
  var jour = datedujour.getDate();
  var date_naissance  = new Date(f.annee_naissance.value, f.mois_naissance.value -1, f.jour_naissance.value);

	//-- ------------------------------------------------------------------------------------------------------------------------
	// SI PERMIS AUTO
  //-- ------------------------------------------------------------------------------------------------------------------------
  if (f.avoir_permis.value == "1" || f.avoir_permis.value == "3") { // si permis auto

    // Validité date d'obtention du permis
    if (!testeDate(f.dnjourp_auto.value, f.dnmoisp_auto.value, f.dnanp_auto.value, 1, " la date d'obtention du permis Auto"))  {
      f.dnjourp_auto.focus();
      return false;
    } 
      	
  	// date de permis auto
  	var datepermis_auto = new Date(f.dnanp_auto.value, f.dnmoisp_auto.value -1, f.dnjourp_auto.value);

		// date permis > à la date du jour
    if (datedujour < datepermis_auto) {
      alert("La date d'obtention du permis auto est supérieure à la date du jour.");
      f.dnanp_auto.focus();
      return false;
    }  	
    
    // Permis à 18 ans en auto
    var message = "Il y a une erreur sur la date d'obtention du permis auto.\n(Inférieur à 18 ans)";
    if(!compareDates(f.dnanp_auto.value,f.dnmoisp_auto.value,f.dnjourp_auto.value,f.annee_naissance.value,f.mois_naissance.value,f.jour_naissance.value,18,message)) {
      f.dnanp_auto.focus();
      return false;
    }	        	
  }	
	
	//-- ------------------------------------------------------------------------------------------------------------------------
	// SI DEJA ASSURE EN AUTO 
	//-- ------------------------------------------------------------------------------------------------------------------------
  if (f.deja_assure_auto.value == 1) { 	
 
    // Années d'assurance auto  
    if (f.nbannees_assauto.value == "") {
      alert("Vous avez déclaré avoir déjà été assuré en auto, veuillez indiquer pendant combien d'années.");
      f.nbannees_assauto.focus();
      return false;  
    }   
     	
  	// Si pas renseigné
    if (f.assure_mois_auto.selectedIndex == 0) {
      alert("Vous avez déclaré avoir déjà été assuré en auto, veuillez indiquer pendant combien de temps.");  
      f.assure_mois_auto.focus();
      return false;
    }
	  else if (f.assure_mois_auto.value >= 12 && f.nbannees_assauto.value == 0) { // si renseigné mais >= 12 mois on doit remplir le champ années d'assurance auto	  	
      alert("Vous avez déclaré avoir déjà été assuré en auto au moins 1 ans, veuillez indiquer pendant combien d'années.");
      f.nbannees_assauto.focus();
      return false; 	  	  	
	  }
    
    // CRM auto   
    var valcrm_auto = f.bonus_auto.options[f.bonus_auto.selectedIndex].value;    
    if (valcrm_auto == "") {
      alert("Veuillez indiquer votre bonus/malus en auto.");
      f.bonus_auto.focus();
      return false;  
    }            
 	}   
 	
 	//-- ------------------------------------------------------------------------------------------------------------------------
	// SI PERMIS AUTO et DEJA ASSURE EN AUTO
	//-- ------------------------------------------------------------------------------------------------------------------------
  if ((f.avoir_permis.value == "1" || f.avoir_permis.value == "3") && (f.deja_assure_auto.value == 1)) { 
  	
    // Cohérence CRM + nb années de permis
    var nbannee_permis_auto = annee - f.dnanp_auto.value;
    var conf_crm = true;
    var mincrm = 100; 
     
    for (i = 1; i <= nbannee_permis_auto; i++) {mincrm = Math.floor(mincrm * 0.95);}    
    if (mincrm > valcrm_auto) {
    	var message = "Les informations suivantes ne semblent pas cohérentes: \n";
    		  message+= "	- votre coefficent de bonus : "+valcrm_auto+"\n";
    		  message+= "	- vos années de permis : "+nbannee_permis_auto+"\n\n";
    		  message+= "	('OK' pour confirmer, 'Annuler' pour modifier)\n";
      if (!confirm(message)) {return false;}
    }   
  }  	

	//-- ------------------------------------------------------------------------------------------------------------------------
	// SI PERMIS MOTO
  //-- ------------------------------------------------------------------------------------------------------------------------
  if (f.avoir_permis.value > 1) { // si permis moto

    // Validité date d'obtention du permis
    if (!testeDate(f.dnjourp_moto.value, f.dnmoisp_moto.value, f.dnanp_moto.value, 1, " la date d'obtention du permis Moto"))  {
      f.dnjourp_moto.focus();
      return false;
    } 
 	
  	// date de permis moto
  	var datepermis_moto = new Date(f.dnanp_moto.value, f.dnmoisp_moto.value -1, f.dnjourp_moto.value);

		// date permis > à la date du jour
    if (datedujour < datepermis_moto) {
      alert("La date d'obtention du permis moto est supérieure à la date du jour.");
      f.dnanp_moto.focus();
      return false;
    }  	
    
    // Permis à 18 ans en moto
    var message = "Il y a une erreur sur la date d'obtention du permis moto.\n(Inférieur à 18 ans)";
    if(!compareDates(f.dnanp_moto.value,f.dnmoisp_moto.value,f.dnjourp_moto.value,f.annee_naissance.value,f.mois_naissance.value,f.jour_naissance.value,18,message)) {
      f.dnanp_moto.focus();
			return false;
    }      	
  }
 
 	//-- ------------------------------------------------------------------------------------------------------------------------
	// SI DEJA ASSURE EN MOTO 
	//-- ------------------------------------------------------------------------------------------------------------------------
  if (f.deja_assure_moto.value == 1) { 	   

		
    // Vérification informations sur les années / mois d'assurance moto
    if (f.nb_mois_periode1 != undefined) {
    	
    	
    	for(i = 1; i <= 4; i++) {
    		//if (confirm(eval("f.nb_mois_periode"+i+".value")) == false) {return false;}
				// vérification des champs "cyl_periode"
    		if(eval("f.nb_mois_periode"+i+".value") != 0) {
    			if (eval("f.cyl_periode"+i+"[0].checked") == false
    			 && eval("f.cyl_periode"+i+"[1].checked") == false
    			 && eval("f.cyl_periode"+i+"[2].checked") == false) {
						alert("Veuillez préciser la cylindrée de la moto assurée pendant l'année "+(annee-i)+"-"+(annee-(i-1)));
			      eval("f.nb_mois_periode"+i).focus();
			      return false;					
					}
				}				
			}		
    }
    
    // Années d'assurance moto 
    if (f.nbannees_assmoto.value == "") {
      alert("Vous avez déclaré avoir déjà été assuré en moto, veuillez indiquer pendant combien d'années.");
      f.nbannees_assmoto.focus();
      return false;  
    } 
    
  	// Si pas renseigné
  	var nbmoisassmoto = parseInt(f.nb_mois_periode1.value) + parseInt(f.nb_mois_periode2.value) + parseInt(f.nb_mois_periode3.value) + parseInt(f.nb_mois_periode4.value);
  	//alert("nbmoisassmoto : "+nbmoisassmoto);
    if (nbmoisassmoto >= 12 && f.nbannees_assmoto.value == 0) { // si renseigné mais >= 12 mois on doit remplir le champ années d'assurance auto	  	
      alert("Vous avez déclaré avoir déjà été assuré en moto au moins 1 ans, veuillez indiquer pendant combien d'années.");
      f.nbannees_assmoto.focus();
      return false; 	  	  	
	  }        
    
    // Vérification informations sur les années d'assurance moto <= à 125cc
    if (f.assure_an_total_80.disabled == false) {
    	if (f.assure_an_total_80.value == "") {
				alert("Veuillez préciser le nombre d'années total d'assurance pour une cylindrée inférieure ou égale à 125cc.");				
				f.assure_an_total_80.focus();
				return false;
			}    		
    }	

    // Vérification informations sur les années d'assurance moto > 125cc
    if (f.assure_an_total_400.disabled == false) {
    	if (f.assure_an_total_400.value == "") {
				alert("Veuillez préciser le nombre d'années total d'assurance pour une cylindrée de plus de 125cc.");
				f.assure_an_total_400.focus();
				return false;
			}    		
    }	  

    // CRM moto   
    var valcrm_moto = f.bonus_moto.options[f.bonus_moto.selectedIndex].value;     
    if (valcrm_moto == "") {
      alert("Veuillez indiquer votre bonus/malus en moto.");
      f.bonus_moto.focus();
      return false;  
    }            
 	} 

 	//-- ------------------------------------------------------------------------------------------------------------------------
	// SI PERMIS MOTO et DEJA ASSURE EN MOTO
	//-- ------------------------------------------------------------------------------------------------------------------------
  if ((f.avoir_permis.value > 1) && (f.deja_assure_moto.value == 1)) { 
  	
		// Nombre d'années d'assurance moto
		var nbmois_total = 0;
		var nbannee_assurance_moto = 0;
		var nbmois_80 = 0;
		var	nbannee_80 = 0;				
		var nbmois_400 = 0;
		var nbannee_400 = 0;
				
		if (f.nb_mois_periode1 != undefined) {
			for(i = 1; i <= 4; i++) {
				if (eval("f.cyl_periode"+i+".value") == 3) { // > 400
					nbmois_400 += eval("f.nb_mois_periode"+i+".value");
				} else { // de 80 à 400
					nbmois_80 += eval("f.nb_mois_periode"+i+".value");
				}
				nbmois_total += eval("f.nb_mois_periode"+i+".value");
			}		
			nbannee_80 = nbmois_80 / 12;
			nbannee_400 = nbmois_400 / 12;
	    nbannee_assurance_moto = nbmois_total / 12;
	  }

	  // Cohérence CRM + nb années d'assurance moto 
    var conf_crm = true;
    var mincrm = 100; 
     
    for (i = 1; i <= nbannee_assurance_moto; i++) {mincrm = Math.floor(mincrm * 0.95);}    
    if (mincrm > valcrm_moto) {
    	var message = "Les informations suivantes ne semblent pas cohérentes: \n";
    		  message+= "	- votre coefficent de bonus : "+valcrm_moto+"\n";
    		  message+= "	- vos années d'assurance : "+nbannee_assurance_moto+"\n\n";
    		  message+= "	('OK' pour confirmer, 'Annuler' pour modifier)\n";
      if (!confirm(message)) {return false;}
    } 
    	  
	  // Cohérence CRM + nb années de permis 
    var nbannee_permis_moto = annee - f.dnanp_moto.value;
    var conf_crm = true;
    var mincrm = 100; 
     
    for (i = 1; i <= nbannee_permis_moto; i++) {mincrm = Math.floor(mincrm * 0.95);}    
    if (mincrm > valcrm_moto) {
    	var message = "Les informations suivantes ne semblent pas cohérentes: \n";
    		  message+= "	- votre coefficent de bonus : "+valcrm_moto+"\n";
    		  message+= "	- vos années de permis : "+nbannee_permis_moto+"\n\n";
    		  message+= "	('OK' pour confirmer, 'Annuler' pour modifier)\n";
      if (!confirm(message)) {return false;}
    } 
    
    // Cohérence nombre d'années d'assurance / date obtention permis
    if (nbannee_400 > 0) {
	    var message = "Il y a une erreur sur la date d'obtention du permis ou le nombre d'années d'assurance.\n";
	    if(!compareDates(annee,mois,jour,f.dnanp_moto.value,f.dnmoisp_moto.value,f.dnjourp_moto.value,Math.max(nbannee_80,nbannee_400),message)) {
	      f.dnanp_moto.focus();
	      return false;
	    }   
		}     
  }

	//-- ------------------------------------------------------------------------------------------------------------------------
	// SI DEJA ASSURE (AUTO/MOTO)
	//-- ------------------------------------------------------------------------------------------------------------------------
	if (f.dejaassure.value == 1) {
		
		// Sinistres
		if (f.nbsinistres.selectedIndex == 0) {
			var message = "Merci d'indiquer le nombre de sinistres auto ou moto, que vous avez déclaré au cours des 36 derniers mois.\n";
					message+= "(Accidents, bris de glaces, vols, vandalisme...)";
		  alert(message);  
		  f.nbsinistres.focus();
		  return false;
		}		
			
		// Résiliation
	  if (f.resil.selectedIndex == 0) {
	    alert("Merci de nous indiquer si vous avez fait l'objet d'une résiliation de permis");  
	    f.resil.focus();
	    return false;
	  }
	
		// Problème sur la date de résiliation
		if (f.resil.value > 0) {
	    if (!testeDate(f.resiliation_j.value, f.resiliation_m.value, f.resiliation_a.value, 1, " la date de résiliation")){
	      f.resiliation_j.focus();
	      return false;
	    }
		}
		
		// Date de résiliation > à la date du jour
		if (f.resil.value > 0) {			
	  	var date_resiliation = new Date(f.resiliation_a.value, f.resiliation_m.value -1, f.resiliation_j.value);		
	    if (datedujour < date_resiliation) {
	      alert("La date de résiliation est supérieure à la date du jour.");
	      f.resiliation_a.focus();
	      return false;
	    } 		
	  }				
	}

	//-- ------------------------------------------------------------------------------------------------------------------------	
	// SI AU MOINS UN PERMIS
	//-- ------------------------------------------------------------------------------------------------------------------------
  if (f.avoir_permis.value > 0) { 
  	
		// Retrait / suspension de permis
	  if (f.retrait_motif.selectedIndex == 0) {
	    alert("Merci de nous indiquer si vous avez fait l'objet d'un retrait de permis");  
	    f.retrait_motif.focus();
	    return false;
	  }
	
		// si retrait
		if (f.retrait_motif.value > 0) {
			
			// Problème sur date du retrait
	    if(!testeDate(f.retrait_j.value, f.retrait_m.value, f.retrait_a.value, 1, " la date du retrait")){
	      f.retrait_j.focus();
	      return false;
	    }

			// Date de retrait > à la date du jour	
	  	var date_retrait = new Date(f.retrait_a.value, f.retrait_m.value -1, f.retrait_j.value);		
	    if (datedujour < date_retrait) {
	      alert("La date du retrait est supérieure à la date du jour.");
	      f.retrait_a.focus();
	      return false;
	    } 		
	
	  	// Durée du retrait
			if (f.retrait_duree.value == "" || f.retrait_duree.value == 0) {
			  alert("Merci de nous indiquer la durée du retrait.");
			  f.retrait_duree.focus();
			  return false;
			}
	
			// Récidive retrait
			if (f.retrait_recidive[0].checked == false && f.retrait_recidive[1].checked == false){
			  alert("Merci de nous indiquer, dans le cadre du retrait du permis, s'il s'agit d'une récidive.");
			  return false;
			}
		}
	
		// Annulation de permis
		if (f.annulation[0].checked == false && f.annulation[1].checked == false) {
			alert("Merci de nous indiquer si vous avez fait l'objet d'une annulation de permis.");
			return false;
		}
	
		// Si annulation 
		if (f.annulation[0].checked) {		
				
			// Problème sur la date d'annulation
	    if(!testeDate(f.annulation_j.value, f.annulation_m.value, f.annulation_a.value, 1, " la date d'annulation")){
	      f.annulation_j.focus();
	      return false;
	    }
	    
			// Date d'annulation > à la date du jour	
	  	var date_annulation = new Date(f.annulation_a.value, f.annulation_m.value -1, f.annulation_j.value);		
	    if (datedujour < date_annulation) {
	      alert("La date d'annulation est supérieure à la date du jour.");
	      f.annulation_a.focus();
	      return false;
	    } 	    
		}
	
		// Alcoolémie
		if (f.ivresse[0].checked == false && f.ivresse[1].checked == false) {
			alert("Merci de nous indiquer si vous avez fait l'objet de sanctions liées à l'alcoolémie.");
			return false;
		}
	
		// Si ivresse
		if (f.ivresse[0].checked) {
			
			// Problème sur date d'alcoolémie
	    if(!testeDate(f.ivresse_j.value, f.ivresse_m.value, f.ivresse_a.value, 1, " la date de l'alcootest")){
	      f.ivresse_j.focus();
	      return false;
	    }
	    
			// Date d'alcoolémie > à la date du jour	
	  	var date_ivresse = new Date(f.ivresse_a.value, f.ivresse_m.value -1, f.ivresse_j.value);		
	    if (datedujour < date_ivresse) {
	      alert("La date de l'alcotest est supérieure à la date du jour.");
	      f.ivresse_a.focus();
	      return false;
	    } 	
	    
	    // Taux d'alcool	
			if (f.ivresse_taux.value == '' || f.ivresse_taux.value == 0){
			  alert("Merci de nous indiquer le taux constaté.");
			  f.ivresse_taux.focus();
			  return false;
			}
			
			// Sinistre dû à l'alcoolémie
			if (f.ivresse_sinistre.value == '') {
			  alert("Merci de nous indiquer si cette infraction a entrainé un sinistre.");
			  f.ivresse_sinistre.focus();
			  return false;
			}
	
			// Alcoolémie récidive
			if (f.ivresse_recidive[0].checked == false && f.ivresse_recidive[1].checked == false){
			  alert("Merci de nous indiquer, dans le cadre d'une condamnation pour état d'ébriété, s'il s'agit d'une récidive.");
			  return false;
			}
		}
	
		// Stupéfiants
		if (f.stupefiants[0].checked == false && f.stupefiants[1].checked == false) {
			alert("Merci de nous indiquer si vous avez fait l'objet de poursuites liées à la prise de stupéfiants.");
			return false;
		}
  }     

	//-- ------------------------------------------------------------------------------------------------------------------------
	// PERMIS + CYLINDREE
	//-- ------------------------------------------------------------------------------------------------------------------------
	
	// Si moto + de 50cc : doit avoir 1 permis moto, ou 1 permis auto depuis + de 2 ans
	if (f.moto_50cc.value == 1 && f.avoir_permis.value == 1 && nbannee_permis_auto < 2) {
	  alert("Vous ne pouvez pas assurer une moto de plus de 50cm3 si vous avez votre permis B depuis moins de 2 ans.");  
	  f.dnanp_auto.focus();
	  return false;			
	}
		
	return true;
}


//-- ------------------------------------------------------------------------------------------------------------------------
function validerinfomoto() { // INFORMATIONS SUR LE VEHICULE
//-- ------------------------------------------------------------------------------------------------------------------------	
  var f = document.forms["moto"]; 
  
  datedujour = new Date();
  annee = 	datedujour.getFullYear();
  mois = datedujour.getMonth()+1;
  jour = datedujour.getDate();

	
  if(f.code_sra.value == '' && f.id50cc.value == '') {
		f.levehicule.value = 'Choisissez votre Moto';
    alert("Veuillez sélectionner votre moto");
    f.levehicule.focus();
    return false;
  }

   if((f.marque.value == '') || (f.modele.value == '') || (f.circulationan.value == '') || (f.circulationmois.value == '') ) {
      alert("Veuillez sélectionner votre moto");
      f.levehicule.focus();
      return false;
   }
   
   //-- Si il n'a ni le permis auto, ni moto, ni 125 et qu'il demande une cylindrée > 50
   if (f.avoir_permis.value == 0 && f.cylindre.value > 50) {
      alert("Vous ne pouvez pas assurer une moto de plus de 50cm3 si vous n'avez pas de permis.");
      f.levehicule.focus();
      return false;
   }
   
   //-- S'il a le permis auto depuis moins de 2 ans et qu'il demande une cylindrée > 50 
   if (f.avoir_permis.value == 1) {
	   if (f.nbannee_permis_auto.value < 2 && f.cylindre.value > 50) {
	      alert("Vous ne pouvez pas assurer une moto de plus de 50cm3 si vous avez votre permis B depuis moins de 2 ans.");
	      f.levehicule.focus();
	      return false;
	   }
	  }
     
   //-- Si il n'a pas le permis moto, mais qu'il a le permis auto ou le permis 125, et qu'il demande une cylindrée > 125	
   if (f.avoir_permis.value == 1 && f.cylindre.value > 125) {
   	if (f.categorie_sra.value != 'QUAD') { 
   		if (f.code_sra.value != 'PG03003' && f.code_sra.value != 'PG02020' && f.code_sra.value != 'PG01036' 
					&& f.code_sra.value != 'PG01035' && f.code_sra.value != 'PG01034' && f.code_sra.value != 'PG01033' 
					&& f.code_sra.value != 'PG01049' && f.code_sra.value != 'EMP0001' && f.code_sra.value != 'EMP0002' 
					&& f.code_sra.value != 'EMP0004' && f.code_sra.value != 'EMP0005' && f.code_sra.value != 'EMP0014') {
				if (f.nbannee_permis_auto.value < 2) {
		      alert("Vous ne pouvez pas assurer une moto de cylindrée supérieure à 125cm3, si vous avez votre permis B depuis moins de 2 ans.");
		      f.levehicule.focus();
		      return false;
		    }
	    }
    }
   }    
   
   if(f.acquisition.selectedIndex == 0) {
      alert("Merci de nous indiquer le mode de financement de votre moto");  
      f.acquisition.focus();
      return false;
   }
   
   if(f.cpparking.value.length != 5) {
      alert("Veuillez saisir le code postal de votre garage.");
      f.cpparking.focus();
      return false;
   }          

   if(f.communeparking[f.communeparking.selectedIndex].value == "") {
      alert("Veuillez sélectionner la commune de votre domicile");
      f.cpparking.focus();
      return false;
   }

		if (f.echeancemois) {
			if (f.echeancemois.selectedIndex == "") {
		     alert("Merci de nous indiquer l'échéance de votre contrat actuel");  
		     f.echeancemois.focus();
		     return false;
			}
		}


	deb_jour = f.date_deb_jour[f.date_deb_jour.selectedIndex].value;
	deb_mois = f.date_deb_mois[f.date_deb_mois.selectedIndex].value;
	deb_an = f.date_deb_an[f.date_deb_an.selectedIndex].value;

	// Validité du champ date d'effet souhaitée
	if(!testeDate(deb_jour, deb_mois,  deb_an, 0, " la date d'effet du contrat")) {
		f.date_deb_jour.focus();
		return false;
	}

	date_deb = new Date(deb_an, deb_mois-1, deb_jour); 
	if (date_deb < datedujour) {
		alert("La date d'effet du contrat ne peut être antérieure à la date du jour");
		f.date_deb_jour.focus();
		return false;  
	}

	var message = "La date d'effet du contrat ne doit pas se situer à plus d'un an de la date d'aujourdhui.\n";
	if(!compareDates(annee,mois,jour,deb_an,deb_mois,deb_jour,-1,message)) {
		f.date_deb_jour.focus();
		return false;
	} 
	
  // niveau de garantie ?
  if (f.garantie[2]) {
		if((f.garantie[0].checked == false) && (f.garantie[1].checked == false) && (f.garantie[2].checked == false) && (f.garantie[3].checked == false) ) {
			var message = "Merci de préciser le niveau de garantie souhaité";
			alert(message) 
			f.garantie[0].focus();
			return false;
		}
	}
	
  if (!f.garantie[2]) {
		if(f.garantie[0].checked == false && f.garantie[1].checked == false) {
			var message = "Merci de préciser le niveau de garantie souhaité";
			alert(message) 
			f.garantie[0].focus();
			return false;
		}
	}	
	

	if(f.verif_dejaass.value == 1) {
		if(f.echeancemois.value != '' && f.echeancemois.value != 0) {
			fin_jour = 1;
			fin_mois = f.echeancemois[f.echeancemois.selectedIndex].value;
			if (fin_mois >= mois) {fin_an = annee;} else {fin_an = annee+1;}
			date_fin = new Date(fin_an, fin_mois, fin_jour);  
			if (date_deb - date_fin < 0) {
				message = "L'échéance que vous avez indiqué pour votre contrat est le "+fin_mois+"/"+fin_an+".\nMerci de confirmer que vous souhaitez souscrire votre contrat pour le "+deb_jour+"/"+deb_mois+"/"+deb_an+".\n(OK pour confirmer, Annuler pour modifier)";
				return confirm(message);
			}
		}
	} else {
		f.echeancemois.value = '0';
	}


	return true;

}


//-- ------------------------------------------------------------------------------------------------------------------------
function ValiderFicheClient() { // FICHE CLIENT
//-- ------------------------------------------------------------------------------------------------------------------------	
   
   f = document.formulaire;

   if(f.nom.value=="") {
      alert("Veuillez saisir votre nom.");
      f.nom.focus();
      return false;
   }
   if(f.prenom.value=="") {
      alert("Veuillez saisir votre prénom.");
      f.prenom.focus();
      return false;
   }

   if(f.adresse.value=="") {
      alert("Veuillez saisir votre adresse.");
      f.adresse.focus();
      return false;
   }
   if(!ValideNumerique(f.cp.value,5)) {
      alert("Il y a une erreur sur le code postal.");
      f.cp.focus();
      return false;      
   }
   if(f.ville.value=="") {
      alert("Veuillez saisir le nom de la ville.");
      f.ville.focus();
      return false;
   } 
   if(!ValidePhone(f.tel.value)) {
      alert("Le numéro de téléphone doit comporter 10 chiffres sans espaces.");
      f.tel.focus();
      return false;
   }
   if(!ValidePhone(f.tel_mob.value)) {
      alert("Le numéro de téléphone mobile doit comporter 10 chiffres sans espaces.");
      f.tel_mob.focus();
      return false;
   }
   if(!ValidePhone(f.tel_pro.value)) {
      alert("Le numéro de téléphone professionnel doit comporter 10 chiffres sans espaces.");
      f.tel_pro.focus();
      return false;
   }
   if( (f.tel.value.length + f.tel_mob.value.length + f.tel_pro.value.length)==0 ) {
      alert("Au moins un numéro de téléphone doit être indiqué.");
      f.tel.focus();
      return false;
   }

   return true;	
}

//-- ------------------------------------------------------------------------------------------------------------------------
function valider_coordonnees () {
//-- ------------------------------------------------------------------------------------------------------------------------

	f = document.moto;
	datedujour = new Date();
  annee = 	datedujour.getFullYear();
  mois = datedujour.getMonth()+1;
  jour = datedujour.getDate();	
	deb_jour = f.date_deb_jour[f.date_deb_jour.selectedIndex].value;
	deb_mois = f.date_deb_mois[f.date_deb_mois.selectedIndex].value;
	deb_an = f.date_deb_an[f.date_deb_an.selectedIndex].value;
	date_deb = new Date(deb_an, deb_mois - 1, deb_jour,23,59,59);  

	// Validité de l'horaire de contact
	if(f.moyen.value==8) {
		if (f.heure_contact.selectedIndex==0 || f.date_contact.selectedIndex==0 ) {
			alert("Veuillez préciser le jour et l'horaire de contact");
			f.date_contact.focus();
	  	return false;
		}
	}

	if(f.moyen.value == 1 && f.partenaire.value == 152){
		if(f.cgfr[0].checked != true && f.cgfr[1].checked != true){
			alert("Veuillez répondre à la question sur la carte grise française.");	
			f.cgfr[0].focus();
	  	return false;		
		}
	}
	
	if(f.moyen.value == 4 && f.partenaire.value == 175 && f.immat.value == ""){
		alert("Veuillez renseigner le numéro d'immatriculation du véhicule à assurer. \n(Si vous ne le connaissez pas encore, mettez XX)");	
		f.immat.focus();
  	return false;		
	}
	
	// Validité du champ date d'effet souhaitée
	if(!testeDate(deb_jour, deb_mois,  deb_an, 1, " la date d'effet envisagée \n(même approximative) pour votre contrat.")) {
	  f.date_deb_jour.focus();
	  return false;
	}      
	
	if (date_deb < datedujour) {
	  alert("La date d'effet du contrat ne peut être antérieure à la date du jour");
		f.date_deb_jour.focus();
		return false;  
	}

   var message = "La date d'effet du contrat ne doit pas se situer à plus d'un an de la date d'aujourdhui.\n";

   if(!compareDates(annee,mois,jour,deb_an,deb_mois,deb_jour,-1,message)) {
      f.date_deb_jour.focus();
      return false;
   }            	

	if(f.periodicite.selectedIndex == 0) {
      alert("Merci de préciser la périodicité de règlement des primes d'assurance\r\nque vous envisagez en cas de souscription de votre contrat.");
      f.periodicite.focus();
      return false;
	}

	if (f.nom.value == ''){alert("Merci de préciser votre nom.");f.nom.focus();return false;}
	if (f.prenom.value == ''){alert("Merci de préciser votre prénom.");f.prenom.focus();return false;}
	if (f.adresse.value == ''){alert("Merci de préciser votre adresse.");f.adresse.focus();return false;}
	if (ValideNumerique(f.cpparking.value,4) == false) {
      alert("Veuillez sélectionner le code postal de votre domicile");
      f.cpparking.focus();
      return false;
  }          
  if(f.communeparking[f.communeparking.selectedIndex].value == "") {
      alert("Veuillez sélectionner le code postal de votre domicile");
      f.cpparking.focus();
      return false;
	 }
	if (f.communeparking.value == ''){alert("Merci de préciser votre ville.");f.ville.focus();return false;}
	if (f.e_mail.value == ''){alert("Merci de préciser votre email.");f.e_mail.focus();return false;}
	if((f.e_mail.value.indexOf("@")==-1) || (f.e_mail.value.indexOf(".")==-1)) {
      alert("Il y a une erreur sur l'email.");
      f.e_mail.focus();
      return false;
  }      
	if(f.tel.value.length!=0 && !ValideNumerique(f.tel.value,10)) {
      alert("Le numéro de téléphone doit comporter 10 chiffres sans espaces.");
      f.tel.focus();
      return false;
	}
	if(f.tel_mob.value.length!=0 && !ValideNumerique(f.tel_mob.value,10)) {
	  alert("Le numéro de téléphone mobile doit comporter 10 chiffres sans espaces.");
	  f.tel_mob.focus();
	  return false;
	}
	if(f.tel_pro.value.length!=0 && !ValideNumerique(f.tel_pro.value,10)) {
	  alert("Le numéro de téléphone professionnel doit comporter 10 chiffres sans espaces.");
	  f.tel_pro.focus();
	  return false;
	}
	if( (f.tel.value.length + f.tel_mob.value.length + f.tel_pro.value.length)==0 ) {
	  alert("Au moins un numéro de téléphone doit être indiqué.");
	  f.tel.focus();
	  return false;
	}
		
	return true;
}
