var regle=/^[a-zA-Z'\-ÀÁÂÃÄÅàáâãäåÇçÈÉÊËèéêëÌÍÎÏìíîïÑñÒÓÔÕÖØòóôõöøÙÚÛÜùúûüÿ ]+$/;
var regleadr=/^[0-9a-zA-Z,.'\-ÀÁÂÃÄÅàáâãäåÇçÈÉÊËèéêëÌÍÎÏìíîïÑñÒÓÔÕÖØòóôõöøÙÚÛÜùúûüÿ ]+$/;
var nb=/^[0-9]+$/;
var reglenb=/^[0-9]+$/;
var reglenbagape=/^[1-9][0-9][0-9][0-9][0-9][0-9]?$/;
var reglenbatride=/^[1-9][0-9][0-9][0-9][0-9][0-9]?$/;
var reglenbapres=/^[1-9][0-9][0-9][0-9][0-9]?$/;
var regledate=/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
var reglecomment=/cc *:/;
var regletel=/^0[1-9] [0-9][0-9] [0-9][0-9] [0-9][0-9] [0-9][0-9]$/;
var regleNRSS=/^[0-9]{3}[a-zA-Z]{2}$/;
var regleNAF = /^[0-9]{2,3}[a-zA-Z]{0,}$/;


function testmail(pchamp,plibelle)
{
var Email  = pchamp.value;

if (!Email.length)
	{
    alert("Veuillez saisir "+plibelle);
    return false;
    } 
else
	{
   	var verif     = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.]([a-zA-Z0-9-]{2,}[.])*[a-zA-Z]{2,5}$/
   
   	if (verif.exec(Email) == null)
   		{
		alert("Votre adresse email est incorrecte");
     	return false;
   		}
	}
	
return true;
}

function testradio(pchamp, plibelle, pnb) {
	pnb = document.getElementsByName(pchamp).length;
	for(i=0;i<pnb;i++) 
		 if (document.getElementsByName(pchamp)[i].checked) return true;
		 
	window.alert("Veuillez entrer "+plibelle);
	return false;
}

function testliste(pchamp, plibelle, pnb) {
	pnb = document.getElementsByName(pchamp).length;
	for(i=0;i<pnb;i++)
			{
			champ = pchamp+"["+i+"]";
			if (document.getElementsByName(pchamp)[i].checked)
				
				return true;
		 	}
		 	
	alert("Veuillez entrer "+plibelle);
	return false;
}


function testradioinput(pchamp, plibelle, pnb, pi, pregle, pchamp2) {

	if (!testradio(pchamp, plibelle, pnb))	return false;
	if (document.getElementsByName(pchamp)[pi-1].checked) {
		return test(pregle, pchamp2, plibelle);
	}
	return true;
}

function testsel(pchamp, plibelle) {

	if (pchamp.value=="0") {
		window.alert("Veuillez choisir dans "+plibelle);
		return false;
	}
	return true;
}

function testval(pchamp, plibelle, pval) {

	if (pchamp.value>pval) {
		window.alert("Veuillez saisir pour "+plibelle+" un montant inférieur ou égal à "+pval+" €");
		return false;
	}
	return true;
}

function testvalcomprise(pchamp, plibelle, pvalmin,pvalmax) {

	if ( (pchamp.value<pvalmin) || (pchamp.value>pvalmax) ) {
		window.alert("Veuillez saisir pour "+plibelle+" un montant compris entre "+pvalmin+" € et "+pvalmax+" €");
		return false;
	}
	return true;
}

function testquestion(pchamp, pval) {

	if (pchamp.value == "") {
		window.alert("Veuillez saisir "+pval);
		return false;
	}

	return true;
}

function testdate(pchamp,regle,plibelle){
cmessdeb= "Veuillez entrer ";
cmessfindate = " au format jj/mm/aaaa";

if( (pchamp.value.length > 0) && (pchamp.value.search(regle)==-1)) {
		 window.alert(cmessdeb+plibelle+cmessfindate);
		 return false;
}

return true;
}


function test(pregle, pchamp, plibelle,ptaillefixe) {
cmessdeb= "Veuillez entrer ";
cmessfin = " avec des caractères valides";

//alert(pchamp);
	if (isNaN(ptaillefixe)) ptaillefixe=0;
	if((!ptaillefixe && !pchamp.value.length) || (ptaillefixe && pchamp.value.length!=ptaillefixe)) {
	      if (!ptaillefixe) window.alert("Veuillez entrer "+plibelle);
	      else window.alert(cmessdeb+plibelle+" sur "+ptaillefixe+" caractères");
	      return false;
	}else {
	      switch (pregle) {
	      case pregle="regle" :
	      	if(pchamp.value.search(regle)==-1) {
			window.alert(cmessdeb+plibelle+cmessfin);
			return false;
	      	}
	      	break;
	      case pregle="regleadr" :
	      	if(pchamp.value.search(regleadr)==-1) {
			window.alert(cmessdeb+plibelle+cmessfin);
			return false;
	      	}
	      	break;

	    case pregle="regletel" :
	      	if(pchamp.value.search(regletel)==-1) {
		 window.alert(cmessdeb+plibelle+cmessfin);
		 return false;
	       	}
		break;			
        
		case pregle="regleNRSS" :
	      	if(pchamp.value.search(regleNRSS)==-1) {
		 window.alert(cmessdeb+plibelle+cmessfin);
		 return false;
	       	}
		break;

		  case pregle="regleNAF" :
	      	if(pchamp.value.search(regleNAF)==-1) {
		 window.alert(cmessdeb+plibelle+cmessfin);
		 return false;
	       	}
		break;
		 
	    case pregle="reglenb" :
	      	if(pchamp.value.search(reglenb)==-1) {
				window.alert(cmessdeb+plibelle+cmessfin);
				return false;
	       	}
			break;

		case pregle="reglenbagape" :
			//alert(pchamp.value.search(reglenbagape));
	      	if(pchamp.value.search(reglenbagape)==-1) {
				window.alert(cmessdeb+plibelle+cmessfin);
				return false;
	       	}
			break;

	      case pregle="reglenbapres" :
	      	if(pchamp.value.search(reglenbapres)==-1) {
		 window.alert(cmessdeb+plibelle+cmessfin);
		 return false;
	       	}
		break;

	      case pregle="reglenbatride" :
	      	if(pchamp.value.search(reglenbatride)==-1) {
		 window.alert(cmessdeb+plibelle+cmessfin);
		 return false;
	       	}
		break;
		}
	}
	return true;	
}

function testnb(pregle, pchamp, plibelle) {
cmessdeb= "Veuillez entrer ";
cmessfin = " avec des caractères numériques";

//alert(pchamp);
	switch (pregle) {
	      
		case pregle="reglenbagape" :
			//alert(pchamp.value.search(reglenbagape));
	      	if(isNaN(pchamp.value)) {
				window.alert(cmessdeb+plibelle+cmessfin);
				return false;
	       	}
			break;
	}
	return true;	
}

function testtel(pregle, pchamp, plibelle,ptaillefixe) {
cmess= "Veuillez entrer votre téléphone à 10 chiffres avec des espaces (ex : 01 45 22 85 64)";

//alert(pchamp);
	if (isNaN(ptaillefixe)) ptaillefixe=0;
	if((!ptaillefixe && !pchamp.value.length) || (ptaillefixe && pchamp.value.length!=ptaillefixe)) {
	      if (!ptaillefixe) window.alert("Veuillez entrer "+plibelle);
	      else window.alert(cmess);
	      return false;
	}else {
	      switch (pregle) {
	      case pregle="regle" :
	      	if(pchamp.value.search(regle)==-1) {
			window.alert(cmess);
			return false;
	      	}
	      	break;
	      case pregle="regleadr" :
	      	if(pchamp.value.search(regleadr)==-1) {
			window.alert(cmess);
			return false;
	      	}
	      	break;

	    case pregle="regletel" :
	      	if(pchamp.value.search(regletel)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;			
        
		case pregle="regleNRSS" :
	      	if(pchamp.value.search(regleNRSS)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

		  case pregle="regleNAF" :
	      	if(pchamp.value.search(regleNAF)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;
		 
	      case pregle="reglenb" :
	      	if(pchamp.value.search(reglenb)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

		case pregle="reglenbagape" :
	      	if(pchamp.value.search(reglenbagape)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

	      case pregle="reglenbapres" :
	      	if(pchamp.value.search(reglenbapres)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

	      case pregle="reglenbatride" :
	      	if(pchamp.value.search(reglenbatride)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;
		}
	}
	return true;	
}

function testtelvide(pregle, pchamp, plibelle,ptaillefixe) {
cmess= "Veuillez entrer votre téléphone à 10 chiffres avec des espaces (ex : 01 45 22 85 64)";

//alert(pchamp);
	if (isNaN(ptaillefixe)) ptaillefixe=0;
	if(!pchamp.value.length){
	      return true;
	}else {
	      switch (pregle) {
	      case pregle="regle" :
	      	if(pchamp.value.search(regle)==-1) {
			window.alert(cmess);
			return false;
	      	}
	      	break;
	      case pregle="regleadr" :
	      	if(pchamp.value.search(regleadr)==-1) {
			window.alert(cmess);
			return false;
	      	}
	      	break;

	    case pregle="regletel" :
	      	if(pchamp.value.search(regletel)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;			
        
		case pregle="regleNRSS" :
	      	if(pchamp.value.search(regleNRSS)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

		  case pregle="regleNAF" :
	      	if(pchamp.value.search(regleNAF)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;
		 
	      case pregle="reglenb" :
	      	if(pchamp.value.search(reglenb)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

		case pregle="reglenbagape" :
	      	if(pchamp.value.search(reglenbagape)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

	      case pregle="reglenbapres" :
	      	if(pchamp.value.search(reglenbapres)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;

	      case pregle="reglenbatride" :
	      	if(pchamp.value.search(reglenbatride)==-1) {
		 window.alert(cmess);
		 return false;
	       	}
		break;
		}
	}
	return true;	
}

function validation(typ){

switch(typ) {

case "atexya" :
	if (!(test("regleadr", document.forms[typ].nom_etp,"le nom de votre entreprise")
		&& test("regle", document.forms[typ].nom, "votre nom") 
		&& test("regle", document.forms[typ].prenom, "votre prénom") 
		&& test("regle", document.forms[typ].activite, "votre activité") 
		&& test("regleNAF", document.forms[typ].naf, "votre code NAF") 
		&& test("regleadr",document.forms[typ].adresse, "votre adresse")
		&& test("reglenb",document.forms[typ].cp, "votre code postal", 5)
		&& test("regle",document.forms[typ].ville, "votre ville")
		&& testtel("regletel",document.forms[typ].tel, "votre téléphone",14)
		&& testmail(document.forms[typ].mail, "votre mail") 
		&& testsel(document.forms[typ].id_typeconnaissance, "la liste la façon dont vous avez connu notre produit")
		&& test("regleNRSS",document.forms[typ].numrisqueSS, "votre n° de risque SS")
		&& test("reglenb",document.forms[typ].effectif, "l'effectif de votre entreprise")
		&& testsel(document.forms[typ].franchise1, "la première liste 'franchise'")
		&& testsel(document.forms[typ].franchise2, "la deuxième liste 'franchise'")
		&& test("reglenb",document.forms[typ].siren, "votre n° Siren", 9)
		))
		return false;
	
	break;

case "agape" :
	if (!(testradio("genre","votre civilité",3)
		&& test("regle", document.forms[typ].nom, "votre nom") 
		&& test("regle", document.forms[typ].prenom, "votre prénom")
		&& testtelvide("regletel",document.forms[typ].tel, "votre téléphone",14)		
	    && testmail(document.forms[typ].mail, "votre mail")  
		&& testsel(document.forms[typ].id_typeconnaissance, "la liste la façon dont vous avez connu notre produit")
		&& testnb("reglenbagape", document.forms[typ].salaire_brut, "votre salaire annuel brut")
		//&& testval(document.forms[typ].salaire_brut, "votre salaire annuel brut",138480)		
		&& testvalcomprise(document.forms[typ].salaire_brut, "votre salaire annuel brut",10000,141408)))		
		return false;
	
	break;
/*
		&& test("reglenbagape", document.forms[typ].salaire_brut, "votre salaire annuel brut")
		&& testval(document.forms[typ].salaire_brut, "le salaire annuel brut",138480)))
*/
case "apres" :
	if (!(testradio("genre","votre civilité",3)
		&& test("regle", document.forms[typ].nom, "votre nom") 
		&& test("regle", document.forms[typ].prenom, "votre prénom")
		&& testtelvide("regletel",document.forms[typ].tel, "votre téléphone",14)	
		&& testmail(document.forms[typ].mail, "votre mail")  
		&& testsel(document.forms[typ].id_typeconnaissance, "la liste la façon dont vous avez connu notre produit")
		&& testnb("reglenbagape", document.forms[typ].salaire_brut, "votre salaire mensuel brut")
		&& testvalcomprise(document.forms[typ].salaire_brut, "votre salaire mensuel brut",1000,11784)))
		return false;
	break;
/*
		&& test("reglenbapres", document.forms[typ].salaire_brut, "votre salaire mensuel brut")
*/
case "atride" :
	if (!(testradio("genre","votre civilité",3)
		&& test("regle", document.forms[typ].nom, "votre nom") 
		&& test("regle", document.forms[typ].prenom, "votre prénom")
		&& test("regleadr", document.forms[typ].nom_etp,"le nom de votre entreprise")
		&& testdate(document.forms[typ].dte_creation,regledate,"la date de création de votre entreprise")
		&& testtel("regletel",document.forms[typ].tel, "votre téléphone",14)
		&& testmail(document.forms[typ].mail, "votre mail")
		&& testsel(document.forms[typ].id_typeconnaissance, "la liste la façon dont vous avez connu notre produit")
		&& testnb("reglenbagape", document.forms[typ].salaire_brut, "votre revenu professionnel annuel fiscal net")
		//&& testval(document.forms[typ].salaire_brut, "votre revenu professionnel annuel fiscal net",138480)
		&& testvalcomprise(document.forms[typ].salaire_brut, "le revenu professionnel annuel fiscal net",17676,141408)))
		return false;
	
	break;
/*
		&& test("reglenbatride", document.forms[typ].salaire_brut, "votre revenu professionnel annuel fiscal net")
*/
	
case "intac" :
	if (!(test("regleadr", document.forms[typ].nom_etp,"le nom de votre entreprise")
		&& testradio("genre","votre civilité",3)
		&& test("regle", document.forms[typ].nom, "votre nom") 
		&& test("regle", document.forms[typ].prenom, "votre prénom")
		&& testtel("regletel",document.forms[typ].tel, "votre téléphone",14)
		&& testmail(document.forms[typ].mail, "votre mail") 
		&& test("reglenb", document.forms[typ].marge_brute, "votre marge brute")

		&& test("nb",document.forms[typ].effectif, "l'effectif de votre entreprise")
		&& testsel(document.forms[typ].id_typeconnaissance, "la liste la façon dont vous avez connu notre produit")))
		return false;
	
	break;

case "courtier" :
	//alert(document.forms[typ].adresse);
	if (!(test("regleadr", document.forms[typ].nom_etp,"le nom de votre entreprise")
		&& testradioinput("intermediaire","le type d'intermédiaire",3, 3,"regle", document.forms[typ].intermediaire_autre)
		&& testradio("genre","votre civilité",3)
		&& test("regle", document.forms[typ].nom, "votre nom") 
		&& test("regle", document.forms[typ].prenom, "votre prénom") 
		&& test("regleadr",document.forms[typ].adresse1, "votre adresse")
		&& test("reglenb",document.forms[typ].cp, "votre code postal", 5)
		&& test("regle",document.forms[typ].ville, "votre ville")
		&& testtel("regletel",document.forms[typ].tel_societe, "le téléphone de votre société",14)
		&& testmail(document.forms[typ].mail, "le mail de votre société")
		&& testliste("produits[]","le(s) produit(s) qui vous intéresse(nt)")
		&& testquestion(document.forms[typ].information, "votre question"))
		) 
		return false;

	break;
	
case "contact" :
	if (!(testradio("genre","votre civilité",3)
		&& test("regle", document.forms[typ].nom, "votre nom") 
		&& test("regle", document.forms[typ].prenom, "votre prénom") 
		&& test("regleadr",document.forms[typ].adresse, "votre adresse")
		&& test("reglenb",document.forms[typ].codepostal, "votre code postal", 5)
		&& test("regle",document.forms[typ].ville, "votre ville")
		&& testtel("regletel",document.forms[typ].tel, "votre téléphone",14)
		&& testmail(document.forms[typ].mail, "votre mail")
		&& testsel(document.forms[typ].id_typeconnaissance, "la liste la façon dont vous avez connu notre produit")
		&& testquestion(document.forms[typ].information, "votre question"))
		
		
		) 
		return false;
	
	break;
}

return true;
}



// fonctions spécifiques
function marge(pobj) {
	if (pobj.value>8000000) {
		alert('Attention\nLa marge brute ne doit pas dépasser 8M€');
		pobj.value='';
	}
}
