/*-------G-E-N-E-R-I-Q-U-E-------*/
/* Retour sur le champ en erreur */
function bloque(formulaire,champ) {
	var controle = eval('document.' + formulaire + '.' + champ);
	controle.focus();
	controle.select();
	}


/*---------------------------*/
/* Controle des champs vides */

var mess = "Les champs suivants sont necessaires au traitement de votre demande :\n\n";
var mess_init = "Les champs suivants sont necessaires au traitement de votre demande :\n\n";
var necessaire = 0;

function vide(formulaire,champ,alerte) {
	var controle = eval('document.' + formulaire + '.' + champ);
	if ( controle.type == 'text' ) {
		if ( controle.value.length < 1 ) {
			mess += alerte;
			mess += "\n";
			necessaire = 1;
			}
		}
	if ( controle.type == 'password' ) {
		if ( controle.value.length < 1 ) {
			mess += alerte;
			mess += "\n";
			necessaire = 1;
			}
		}
	if ( controle.type == 'textarea' ) {
		if ( controle.value.length < 1 ) {
			mess += alerte;
			mess += "\n";
			necessaire = 1;
			}
		}
	if ( controle.type == 'select-one' ) {
		if ( controle.options[0].selected ) {
			mess += alerte;
			mess += "\n";
			necessaire = 1;
			}
		}
	if ( controle.type == 'checkbox' ) {
		if (!controle.status) {
			mess += alerte;
			mess += "\n";
			necessaire = 1;
			}
		}
	}

function vide_radio(formulaire,champ,alerte) {
	var controle = eval('document.' + formulaire + '.' + champ);
	var non = "hs";
	for ( i = 0; i < controle.length; i++ ) {
		if (controle[i].status) {
			non = "ok";
			}
		}
	if ( non != "ok" ) {
		mess += alerte;
		mess += "\n";
		necessaire = 1;
		}
	}

function resultat(formulaire) {
	if ( necessaire == 1 ) {
		alert(mess);
		}
	if ( necessaire == 0 ) {
		var formu = eval('document.' + formulaire);
		formu.submit();
		}
	mess = mess_init;
	necessaire = 0;
	}


/*---------------------*/
/* Validite des champs */

/* Formats :                    */
//	A	: alphabetique
//	AN	: alphanumerique
//	N	: numerique
//	CP	: code postal francais (5 chiffres)
//	D	: Date (xx/xx/xx ou xx/xx/xxxx ou xx-xx-xx ou xx-xx-xxxx)
//	EMAIL	: email

var probleme = 0;

function validite(formulaire,champ,format,mini,maxi) {
	probleme = 0;
	if ( format == "A" ) { RE = /^([A-Za-z]+[ ]*[-]*[A-Za-z]*)+$/;}
	if ( format == "AN" ) { RE = /^[A-Za-zàâäéèêëîïôùûç\s,'0-9\-]+$/;}
	if ( format == "N" ) { RE = /^\d+$/;}
	if ( format == "CP" ) { RE = /^\d{5}$/;}
	if ( format == "D" ) { RE = /^\d{2}([\/]|[\-])+\d{2}([\/]|[\-])+\d{2}(\d{2})*$/;}
	if ( format == "EMAIL" ) { RE = /^[A-Za-z0-9\.\-_]+[@][A-Za-z0-9\-\.]+[\.][A-Za-z][A-Za-z][A-Za-z]?$/;}

	var controle = eval('document.' + formulaire + '.' + champ);
	if (controle.value.length > 0) {
		if (!RE.test(controle.value)) {
			alert('Votre saisie est incorrecte, veuillez modifier votre champs');
			probleme = 1;
			}
		if ( mini != 0 ) {
			if ( controle.value.length < mini ) {
				alert('Vous devez saisir au moins ' + mini + ' caracteres.');
				probleme = 1;
				}
			}
		if ( maxi != 0 ) {
			if ( controle.value.length > maxi ) {
				alert('Vous ne devez pas saisir plus de ' + maxi + ' caracteres.');
				probleme = 1;
				}
			}
		if ( probleme == 1 ) {
			bloque(formulaire,champ);
			}
		}
	}

function check_num(formulaire,champ,plancher,plafond) {
	var controle = eval('document.' + formulaire + '.' + champ);
	if ( controle.value < plancher ) {
		alert('Votre saisie ne doit pas etre inferieure a ' + plancher + '.');
		bloque(formulaire,champ);
		}
	if ( controle.value > plafond ) {
		alert('Votre saisie ne doit pas etre superieure a ' + plafond + '.');
		bloque(formulaire,champ);
		}
	}

function check_siren(formulaire,champ) {
/*
	Algorythme : 9 chiffres, Additionner les chiffres des resultats obtenus par index impair : x1, index pair : x2,
	si le total est divisible par 10 : OK, sinon ; HS
	ex1 :	0    5    8    4    3    7    9    1    0
		0  1 0    8    8    3  1 7    9    2    0 = 39 non divisible par 10, HS
	
	ex2 :	4    2    9    6    9    2    0    9    8
		4    4    9  1 2    9    4    0  1 8    8 = 50 divisible par 10 : OK
	LE STUDIO 10/2001 - BA
*/
	var controle = eval('document.' + formulaire + '.' + champ);
	if ( (controle.value*0) == 0 ) {
		if ( controle.value.length < 9 ) {
			controle.value = "0" + controle.value;
			check_siren(formulaire,champ);
			}
		else {
			if ( controle.value.length == 9 ) {
				var tableau = controle.value.split("");
				var somme = "";
				somme = tableau[0] + tableau[1]*2 + tableau[2] + tableau[3]*2 + tableau[4] + tableau[5]*2 + tableau[6] + tableau[7]*2 + tableau[8];
				var tableau2 = somme.split("");
				var somme2 = 0;
				for ( i = 0; i < tableau2.length; i++ ) {
					somme2 = somme2 + parseInt(tableau2[i]);
					}
				somme2 = somme2.toString();
				var verif = somme2.charAt(somme2.length-1);
				if ( verif != "0" ) {
					erreur(formulaire,champ);
					}
				}
			}
		}
	else { erreur(formulaire,champ); }
	}

function erreur(formulaire,champ) {
	alert('Votre saisie est incorrecte. Verifiez votre numero de SIREN.');
	bloque(formulaire,champ);
	}


/*
	Le code NAF semble s'ecrire de multiple façons : 000X, 000.X, 000 X, 00.0 x...
	Methode : retrait de tout espace ou point dans la chaine saisie,
	comparaison avec la liste des codes 'acceptables' formates a l'identique.
	LE STUDIO 10/2001 - BA
*/

var liste = new Array("011D","014B","452A","452B","452C","452J","452K","452L","452U","452V","453A","453C","453E","453F","453H","454A","454C","454D","454F","454H","454J","454L","454M","701A","701B","701F","702A","702C","742A","011d","014b","452a","452b","452c","452j","452k","452l","452u","452v","453a","453c","453e","453f","453h","454a","454c","454d","454f","454h","454j","454l","454m","701a","701b","701f","702a","702c","742a","723z","723Z");
function check_naf(formulaire,champ) {
	var controle = eval('document.' + formulaire + '.' + champ);
	var saisie = controle.value.split("");
	for ( i = 0; i < saisie.length; i++ ) {
		if ( saisie[i] == "." || saisie[i] == " " ) {
			saisie[i] = "";
			}
		}
	var chaine = saisie.join("");
	for ( i = 0; i < liste.length; i++) {
		if ( chaine == liste[i] ) {
			var ok = 1;
			}
		}
	if ( ok != 1 ) {
		alert('Votre saisie est incorrecte. Verifiez votre code NAF.');
		}
	}



/*-----------------------*/
/* Verification password */

function check_pw(formulaire,champ1,champ2) {
	var prems = eval('document.' + formulaire + '.' + champ1);
	var deuze = eval('document.' + formulaire + '.' + champ2);
	if (!prems.value) {
		alert('Vous n\'avez pas saisi votre mot de passe');
		bloque(formulaire,champ1);
		}
	else {
		if ( prems.value != deuze.value ) {
			alert('La confirmation de votre mot de passe n\'est pas exacte.');
			deuze.value = "";
			prems.value = "";
			bloque(formulaire,champ1);
			}
		}

	}
/* Verification email */

function check_email(formulaire,champ1,champ2) {
	var prems = eval('document.' + formulaire + '.' + champ1);
	var deuze = eval('document.' + formulaire + '.' + champ2);
	if (!prems.value) {
		alert('Vous n\'avez pas saisi votre email');
		bloque(formulaire,champ1);
		}
	else {
		if ( prems.value != deuze.value ) {
			alert('La confirmation de votre email n\'est pas exacte.');
			deuze.value = "";
			prems.value = "";
			bloque(formulaire,champ1);
			}
		}

}