function trim(myString) {
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
}

function isEntier (nombre) {
	var num=/^\d+\d*$/;
	return nombre.match(num);
}

function isAlpha (texte) {
	var expr=/^[^0-9]*$/;
	return texte.match(expr);
}

function isAlphaNumerique (texte) {
	var expr=/^[a-zA-Z\d]+$/;
	return texte.match(expr);
}

function isEmail (email) {
	var expr=/^[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}$/gi;
	return (email.match(expr)==email)&&(email.substr(email.lastIndexOf("@")).length<=256);
}

function replaceAll(str,c1,c2) {
	num=str.indexOf(c1,0);
	while(num!=-1)
	{
		str=str.replace(c1,c2);
		num=str.indexOf(c1,num);
	}
	return str;
}

function removeSpace(myString) {
	return myString.replace(/\s+/g,'');
}

function isMontant(myString) {
	var montant = removeSpace(myString);	
	if ( montant == '') {
	  return false;
	}
	montant=replaceAll(montant,',','.');
	var montantRegexp = new RegExp('^\\d+\\.?\\d*$');
	if ( !montantRegexp.test(montant) ) {
		return false;
	}
	return montant;
}
	
function controleFormParticulier() {

	var chaine='';
	
	if (document.getElementsByName("titre")[0].checked == false && 
		document.getElementsByName("titre")[1].checked == false && 
		document.getElementsByName("titre")[2].checked == false 
	) {
		chaine += "- Veuillez cocher votre Titre\n";
	}

	if (trim(document.getElementsByName("nom")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Nom\n";
	}
	else {
		if (!isAlpha(document.getElementsByName("nom")[0].value)) {
			chaine += "- Champ Nom : les chiffres sont interdits\n";
		}
	}
	
	if (trim(document.getElementsByName("prenom")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Prénom\n";
	}
	else {
		if (!isAlpha(document.getElementsByName("prenom")[0].value)) {
			chaine += "- Champ Prénom : les chiffres sont interdits\n";
		}
	}
	
	if (trim(document.getElementsByName("entreprise")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Entreprise\n";
	}
	
	if (trim(document.getElementsByName("telephone")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Téléphone\n";
	}
	else {
		if (!isEntier(document.getElementsByName("telephone")[0].value) || 
			document.getElementsByName("telephone")[0].value.length != 10) {
			chaine += "- Champ Téléphone : le champ doit être sur 10 caractères numériques\n";
		}
	}
	
	if (document.getElementsByName("rendezvous")[0].checked == false &&
		document.getElementsByName("rendezvous")[1].checked == false
	) {
		chaine += "- Veuillez cocher votre Rendez-vous\n";
	}
	
	if (document.getElementsByName("rendezvous")[1].checked == true) {
		if (trim(document.getElementsByName("heuredebut")[0].value) == '') {
			chaine += "- Veuillez renseigner votre Heure de début\n";
		}
		else {
			if (!isEntier(document.getElementsByName("heuredebut")[0].value) || 
				document.getElementsByName("heuredebut")[0].value.length != 2 ||
				document.getElementsByName("heuredebut")[0].value < 0 || 
				document.getElementsByName("heuredebut")[0].value > 23) {
				chaine += "- Champ Heure de début : le champ doit être sur 2 caractères numériques valables\n";
			}
		}
		if (trim(document.getElementsByName("minutedebut")[0].value) == '') {
			chaine += "- Veuillez renseigner votre Minute de début\n";
		}
		else {
			if (!isEntier(document.getElementsByName("minutedebut")[0].value) || 
				document.getElementsByName("minutedebut")[0].value.length != 2 ||
				document.getElementsByName("minutedebut")[0].value < 0 || 
				document.getElementsByName("minutedebut")[0].value > 59) {
				chaine += "- Champ Minute de début : le champ doit être sur 2 caractères numériques valables\n";
			}
		}
		if (trim(document.getElementsByName("heurefin")[0].value) == '') {
			chaine += "- Veuillez renseigner votre Heure de fin\n";
		}
		else {
			if (!isEntier(document.getElementsByName("heurefin")[0].value) || 
				document.getElementsByName("heurefin")[0].value.length != 2 ||
				document.getElementsByName("heurefin")[0].value < 0 || 
				document.getElementsByName("heurefin")[0].value > 23) {
				chaine += "- Champ Heure de fin : le champ doit être sur 2 caractères numériques valables\n";
			}
		}
		if (trim(document.getElementsByName("minutefin")[0].value) == '') {
			chaine += "- Veuillez renseigner votre Minute de fin\n";
		}
		else {
			if (!isEntier(document.getElementsByName("minutefin")[0].value) || 
				document.getElementsByName("minutefin")[0].value.length != 2 ||
				document.getElementsByName("minutefin")[0].value < 0 || 
				document.getElementsByName("minutefin")[0].value > 59) {
				chaine += "- Champ Minute de fin : le champ doit être sur 2 caractères numériques valables\n";
			}
		}
	}
	
	if (chaine != '') {
		alert(chaine);
		return false;
	}
	else {
		return true;
	}
}

function controleFormEntreprise() {

	var chaine='';

	if (trim(document.getElementsByName("telephone")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Téléphone\n";
	}
	else {
		if (!isEntier(document.getElementsByName("telephone")[0].value) || 
			document.getElementsByName("telephone")[0].value.length != 10) {
			chaine += "- Champ Téléphone : le champ doit être sur 10 caractères numériques\n";
		}
	}
	
	if (trim(document.getElementsByName("nom")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Nom\n";
	}
	else {
		if (!isAlpha(document.getElementsByName("nom")[0].value)) {
			chaine += "- Champ Nom : les chiffres sont interdits\n";
		}
	}
	
	if (trim(document.getElementsByName("prenom")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Prénom\n";
	}
	else {
		if (!isAlpha(document.getElementsByName("prenom")[0].value)) {
			chaine += "- Champ Prénom : les chiffres sont interdits\n";
		}
	}
	
	if (trim(document.getElementsByName("societe")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Société\n";
	}
	
	if (trim(document.getElementsByName("fonction")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Fonction\n";
	}
	
	if (trim(document.getElementsByName("email")[0].value) == '') {
		chaine += "- Veuillez renseigner votre Email\n";
	}
	else {
		if (!isEmail(document.getElementsByName("email")[0].value)) {
			chaine += "- Champ Email : la syntaxe est incorrecte\n";
		}
	}
	
	if (chaine != '') {
		alert(chaine);
		return false;
	}
	else {
		return true;
	}
}

function controleFormAuthentification() {

	var msg='';
	if (trim(document.getElementsByName("identifiant")[0].value) == '') {
		msg += "- Veuillez renseigner votre identifiant\n";
	} else if(!isAlphaNumerique(document.authentification.identifiant.value)) {
		msg += "- Votre identifiant doit contenir des caractères alphanumériques\n";
	}
	
	if (trim(document.getElementsByName("motDePasse")[0].value) == '') {
		msg += "- Veuillez renseigner votre mot de passe\n";
	} else if(!isAlphaNumerique(document.authentification.motDePasse.value)) {
		msg += "- Votre mot de passe doit contenir des caractères alphanumériques\n";
	}
	
	if (msg != '') {
		document.authentification.motDePasse.value='';
		alert(msg);
		return false;
	}
	else {
		return true;
	}
}

function controleFormCreditAffecteA() {
	var msg = "";
	var nominal = trim(document.simulateur_antios.nominalSMens.value);
	var nominalClean = 0;
	var duree = trim(document.simulateur_antios.dureeSMens.value);

	if (nominal == ''){
		msg += "- Veuillez renseigner un montant de financement entre 1.500 et 21.500 euros \n"; 
	} else {
		nominalClean = isMontant(nominal)
	  	if ( ! nominalClean ) {  
	  		msg += "- Le montant de financement doit être un numérique entre 1.500 et 21.500 \n";
	  	} else {
			if (nominalClean < 1500 || nominalClean > 21500) {
				msg += "- Le montant de votre financement doit être compris entre 1.500 et 21.500 euros\n";
			}
	  	}
	}
	
	if (duree == ''){
		msg += "- Veuillez renseigner une durée de remboursement entre 12 et 96 mois \n"; 
	} else {
		if ( ! isEntier(duree) ) {
			msg += "- La durée du remboursement doit être un chiffre compris entre 12 et 96 \n";
		} else {
			if (duree < 12 || duree > 96) {
				msg += "- La durée du remboursement doit être compris entre 12 et 96 mois \n";
			}
		}
	}
	
	if (msg != '') {
		alert(msg);
		return false;
	}

	document.simulateur_antios.nominalSMens.value = nominalClean;
	document.simulateur_antios.typeSimulation.value = "simuMensualite";
	document.simulateur_antios.fromUrl.value=document.location.href;
	return true;
}

function controleFormCreditAffecteB() {
	var msg = "";
	var mensualite = trim(document.simulateur_antios.mensualiteSNomi.value);
	var mensualiteClean = 0;
	var duree = trim(document.simulateur_antios.dureeSNomi.value);
	
	if (mensualite == ''){
		msg += "- Veuillez renseigner une mensualité en euros \n"; 
	} else {
		mensualiteClean = isMontant(mensualite)
	  	if ( ! mensualiteClean ) {  
	  		msg += "- Le montant de la mensualité doit être un numérique \n";
	  	}
	}
	
	if (duree == ''){
		msg += "- Veuillez renseigner une durée de remboursement entre 12 et 96 mois \n"; 
	} else {
		if ( ! isEntier(duree) ) {
			msg += "- La durée du remboursement doit être un chiffre compris entre 12 et 96 \n";
		} else {
			if (duree < 12 || duree > 96) {
				msg += "- La durée du remboursement doit être compris entre 12 et 96 mois \n";
			}
		}
	}
	
	if (msg != '') {
		alert(msg);
		return false;
	}

	document.simulateur_antios.mensualiteSNomi.value = mensualiteClean;
	document.simulateur_antios.typeSimulation.value = "simuNominal";
	document.simulateur_antios.fromUrl.value=document.location.href;
	return true;

}

function verifAnneeNumerique(annee){
	// Pour la passe à l'affichage de la page
	if(annee == "")
		return true;
		
	if (!isMontant(annee)){
		alert("- La valeur que vous venez d'entrer doit être numérique");
		return false;
	}
	else{
		return true;
	}
}

var bonnesAnnees = "non";
function calculTotalEpargne(annee){
	var champAnnee = eval("document.credit_revolving.annee" + annee + ".value");
	
	if (verifAnneeNumerique(champAnnee)){
		var anneeX = 0;
		var montantAnnees = new Array();
		var champRenseigne = 0;
		for(i=1; i<6 ;i++){
			anneeX = eval("document.credit_revolving.annee" + i + ".value");
			if(anneeX != ""){
				montantAnnees[i-1] = isMontant(anneeX);
				champRenseigne = i;
			}
			else{
				montantAnnees[i-1] = 0;
			}
		}
		if(champRenseigne != 0){
			document.credit_revolving.totalEpargne.value = 0;
			for(i=0; i<5 ;i++){
				document.credit_revolving.totalEpargne.value = parseFloat(document.credit_revolving.totalEpargne.value) + parseFloat(montantAnnees[i]);			
			}
		}
		bonnesAnnees = "oui";
	}
	else {
		document.credit_revolving.totalEpargne.value = "NaN";
	}
}

function controleFormCreditRevolving(mobilisation) {
	var chaineErreurVide = "";

	// Si le total est vide, c'est qu'aucun montant d'année n'a été fourni
	if (!isMontant(document.credit_revolving.totalEpargne.value) || document.credit_revolving.totalEpargne.value == 0){
		chaineErreurVide += "- Vous devez donner le montant de votre épargne pour au moins une année (en numérique)\n";
	}
	// Présence du montant du projet
	if (!isMontant(document.credit_revolving.montantProjet.value) || document.credit_revolving.montantProjet.value == 0){
		chaineErreurVide += "- Vous n'avez pas rempli le montant de votre projet (en numérique)";
	}
	if(chaineErreurVide != ""){	
		alert(chaineErreurVide);
		return false;
	}
	
	if(bonnesAnnees == "non"){
		return false;
	}
	else{
		var montantMax = document.credit_revolving.totalEpargne.value * mobilisation;
		if(document.credit_revolving.montantProjet.value > montantMax){
			alert("Nous ne pouvons vous accorder une utilisation qu'à hauteur de " + Math.round(montantMax*100)/100 + " \u20AC");
			document.credit_revolving.montantProjet.value = Math.round(montantMax*100)/100;
			return false;
		}
		else{
			return true;
		}
	}
	
}

function calculerAnnees(){
	var d = new Date();
	var jourRef = d.getDate();
	var moisRef = d.getMonth();
	var anneeRef = d.getFullYear();

   				////     Date de première utilisation     ////
   	var moisPremUtil = 0;
   	var anneePremUtil = 0;
   	
   	// Si le jour de référence est le premier du mois
   	// alors la date de première utilisation est la date de référence
   	if(jourRef == 1){
       	moisPremUtil = moisRef;
       	anneePremUtil = anneeRef;
   	}
   	else{
   		// Si l'on était en Décembre, on passe en Janvier (ie revenir à 1)
   		if(moisRef == 12){
   			moisPremUtil = 1;
   		}
   		else{
   			moisPremUtil = moisRef +1;
   		}
   		
   		// Si l'on était en Décembre, on passe à l'année supérieure
   		if(moisRef == 12){
   			anneePremUtil = anneeRef +1;
   		}
   		else{
   			anneePremUtil = anneeRef;
   		}
   	}
   	
				////     1er Avril suivant date de première utilisation     ////
   	var anneePremAvril = 0;
   	
   	if(4 > moisPremUtil){
   		anneePremAvril = anneePremUtil;
   	}
   	else{
   		anneePremAvril = anneePremUtil +1;
   	}
   	
   	return anneePremAvril;
}

function isNumeroTelCorrect(numTel){
	var numTelRegexp = new RegExp('^0\\d*$');
	return numTelRegexp.test(numTel);
}

function isNumeroTelPortableCorrect(numTel){
	var numTelRegexp = new RegExp('^0[6-7]\\d*$');
	return numTelRegexp.test(numTel);
}

function controleFormSaisieMotDePasse(){
	var msg = '';
	
	if(document.saisieMotDePasse.email!=null && document.saisieMotDePasse.email.value!='') {
		if(!isEmail(document.saisieMotDePasse.email.value)) {
			msg += "- Veuillez indiquer votre adresse électronique de la forme jean.dupont@mon-courrier.net\n";
		}
	}
	if (document.saisieMotDePasse.numCellular!=null) {
		if(trim(document.saisieMotDePasse.numCellular.value) == '') {
			msg += "- Le numéro de portable est une donnée obligatoire\n";
		} else {
			if (!isEntier(document.saisieMotDePasse.numCellular.value) || 
				document.saisieMotDePasse.numCellular.value.length != 10) {
				msg += "- Le numéro de portable doit être un numéro de téléphone à 10 chiffres\n";
			} else {
				if (!isNumeroTelCorrect(document.saisieMotDePasse.numCellular.value)) {
					msg += "- Les deux premiers chiffres du numéro de téléphone sont incorrects\n";
				}
			}
		}
	}
	if(document.saisieMotDePasse.nouveauMDP.value=='') {
		msg += "- Vous devez saisir votre mot de passe\n";
	} else {
		if(document.saisieMotDePasse.nouveauMDP.value.length<8) {
			msg += "- Votre mot de passe doit comporter au moins 8 caractères\n";
		} else {
			if(!isAlphaNumerique(document.saisieMotDePasse.nouveauMDP.value)) {
				msg += "- Votre mot de passe doit être composé de caractères alphanumériques\n";
			}
		}
		if(document.saisieMotDePasse.confirmNouveauMDP.value=='' || document.saisieMotDePasse.confirmNouveauMDP.value!=document.saisieMotDePasse.nouveauMDP.value) {
			msg += "- Vous devez saisir 2 fois votre mot de passe\n";
		}
	}
	
	if (msg != '') {
		document.saisieMotDePasse.confirmNouveauMDP.value='';
		document.saisieMotDePasse.nouveauMDP.value='';
		alert(msg);
		return false;
	}
	
	return true;
}

function controleFormActualiserCoordonnees(){
	var msg = '';
	var popupNouvellesNormes=false;
	if (trim(document.actualiserCoordonnees.numCellular.value) != '') {
		if (!isEntier(document.actualiserCoordonnees.numCellular.value) || 
			document.actualiserCoordonnees.numCellular.value.length != 10) {
			msg += "- Le numéro de portable doit être un numéro de téléphone à 10 chiffres\n";
		} else {
			if (!isNumeroTelPortableCorrect(document.actualiserCoordonnees.numCellular.value)) {
				msg += "- Veuillez saisir un numéro de portable\n";
			}
		}
	}
	if(document.actualiserCoordonnees.email.value!='') {
		if(!isEmail(document.actualiserCoordonnees.email.value)) {
			msg += "- Veuillez indiquer votre adresse électronique de la forme jean.dupont@mon-courrier.net\n";
		} else {
			if(document.actualiserCoordonnees.confirmEmail.value=='' || document.actualiserCoordonnees.confirmEmail.value!=document.actualiserCoordonnees.email.value) {
				msg += "- Vous devez saisir 2 fois votre adresse e-mail\n";
			}
		}
	}
	if(document.actualiserCoordonnees.noSMS.checked==true) {
		if (trim(document.actualiserCoordonnees.email.value) == '') {
			popupNouvellesNormes=true;
		}
	} else {
		if (trim(document.actualiserCoordonnees.numCellular.value) == '') {
			msg += "- Aucun n° de portable n'est enregistré, vous ne pouvez recevoir de code. Veuillez contacter votre Service Clients au 09 69 32 35 58 du lundi au vendredi de 8h30 à 19h\n"
		}
	}
	if (msg != '') {
		alert(msg);
		return false;
	}
	if (popupNouvellesNormes==true) {
		window.open('Saisie-e-mail-316.jsp','','width=600,height=590');
		return false;
	}
	return true;
}

function controleFormActualiserCoordonnees2(){
	if(trim(document.actualiserCoordonnees2.mdpRecu.value)==''){
		alert("Vous devez saisir le mot de passe reçu");
		return false;
	}
	if(!isAlphaNumerique(document.actualiserCoordonnees2.mdpRecu.value) || document.actualiserCoordonnees2.mdpRecu.value.length!=6) {
		alert("Le mot de passe doit contenir 6 caractères alphanumériques");
		return false;
	}
	return true;
}

function controleFormModifierMotDePasse(){
	var msg = '';

	if(document.modifierMotDePasse.mdpActuel.value=='') {
		msg += "- Vous devez saisir votre mot de passe actuel\n";
	} else {
		if(!isAlphaNumerique(document.modifierMotDePasse.mdpActuel.value)) {
			msg += "- Votre mot de passe actuel doit contenir des caractères alphanumériques\n";
		} else if(document.modifierMotDePasse.mdpActuel.value.length < 8) {
			msg += "- Votre mot de passe actuel doit comporter au moins 8 caractères\n";
		}
	}
	if(document.modifierMotDePasse.nouveauMDP.value=='') {
		msg += "- Vous devez saisir votre nouveau mot de passe\n";
	} else {
		if(document.modifierMotDePasse.nouveauMDP.value.length < 8) {
			msg += "- Votre nouveau mot de passe doit comporter au moins 8 caractères\n";
		} else if(!isAlphaNumerique(document.modifierMotDePasse.nouveauMDP.value)) {
			msg += "- Votre nouveau mot de passe doit contenir des caractères alphanumériques\n";
		} else if(document.modifierMotDePasse.confirmNouveauMDP.value=='' || document.modifierMotDePasse.confirmNouveauMDP.value!=document.modifierMotDePasse.nouveauMDP.value) {
			msg += "- Vous devez saisir 2 fois votre nouveau mot de passe\n";
		}
	}

	if (msg != '') {
		document.modifierMotDePasse.mdpActuel.value='';
		document.modifierMotDePasse.nouveauMDP.value='';
		document.modifierMotDePasse.confirmNouveauMDP.value='';
		alert(msg);
		return false;
	}
	
	return true;
}

function controleFormObtenirCodeAcces(){
	if(document.obtenirCodeAcces.contrat.value=='') {
		alert("Vous devez saisir votre numero de contrat");
		return false;
	}
	if(!isAlphaNumerique(document.obtenirCodeAcces.contrat.value)) {
		alert("Votre numéro de contrat doit contenir des caractères alphanumériques");
		return false;
	}
	if(document.obtenirCodeAcces.contrat.value.length!=8) {
		alert("Votre numéro de contrat doit comporter 8 caractères");
		return false;
	}
	return true;
}

function controleFormSaisieEmail(){
	if(document.saisieEmail.email.value=='') {
		alert("Vous devez saisir votre adresse e-mail");
		return false;
	} else {
		if(!isEmail(document.saisieEmail.email.value)) {
			alert("Veuillez indiquer votre adresse électronique de la forme jean.dupont@mon-courrier.net");
			return false;
		} else {
			if(document.saisieEmail.confirmEmail.value=='' || document.saisieEmail.confirmEmail.value!=document.saisieEmail.email.value) {
				alert("Vous devez saisir 2 fois votre adresse e-mail");
				return false;
			}
		}
	}
	return true;

}

