/************************************************************************************/
/*																					*/
/*				Outils de gestion des chaîne de caractères							*/
/*																					*/
/*	* Version 0.1 *																	*/
/*		 - estVide(test)															*/
/*		 - estNombre(test)															*/
/*		 - estEntier(test)															*/
/*		 - estDecimal(test)															*/
/*		 - estAnnee(test)															*/
/*		 - estMail(mail)															*/
/*		 - estPassword(test)														*/
/*		 - maxLength(test, n)														*/
/*																					*/
/*	* Version 0.2 *																	*/
/*		 - nl2br(text)																*/
/*																					*/
/*	* Version 0.3 *																	*/
/*		 - estVideRadio(radio)														*/
/************************************************************************************/

/************************************************************************************/
/* estVide(test)																	*/
/* Paramètres :																		*/
/*	- test : Valeur à tester														*/
/* Return : Vrai si la valeur est vide, faux sinon									*/
/************************************************************************************/
function estVide(test) { return (test==null || test == ""); }

/************************************************************************************/
/* estNombre(test)																	*/
/* Paramètres :																		*/
/*	- test : Valeur à tester														*/
/* Return : Vrai si la valeur est un nombre, faux sinon								*/
/************************************************************************************/
function estNombre(test) { return !isNaN(test); }

/************************************************************************************/
/* estEntier(test)																	*/
/* Paramètres :																		*/
/*	- test : Valeur à tester														*/
/* Return : Vrai si la valeur est un nombre entier, faux sinon						*/
/************************************************************************************/
function estEntier(test) { 
	var regexp_entier = /^([\d]+)$/ ;
	return test.match(regexp_entier); 
}

/************************************************************************************/
/* estDecimal(test)																	*/
/* Paramètres :																		*/
/*	- test : Valeur à tester														*/
/* Return : Vrai si la valeur est un nombre décimal, faux sinon						*/
/************************************************************************************/
function estDecimal(test) { 
	if (estEntier(test)) return false;
	else {
		//var regexp_decimal = ([0-9]+(\.[0-9]+)?);
		//return test.match(regexp_decimal);
		return true;
	} 
}

/************************************************************************************/
/* estAnnee(test)																	*/
/* Paramètres :																		*/
/*	- test : Valeur à tester														*/
/* Return : Vrai si la valeur est une année, faux sinon								*/
/************************************************************************************/
function estAnnee(test) {
	if (test == "") return true;
	else return (estEntier(test) && test.length == 4);
}

/************************************************************************************/
/* estMail(mail)																	*/
/* Paramètres :																		*/
/*	- mail : Valeur à tester														*/
/* Return : Vrai si la valeur est un mail, faux sinon								*/
/************************************************************************************/
function estMail(mail) {
	var regexp_mail = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/ ;
	with (document.test) { res = regexp_mail.test(mail); }
	return res;
}

/************************************************************************************/
/* estPassword(test)																*/
/* Paramètres :																		*/
/*	- test : Valeur à tester														*/
/* Return : Vrai si la valeur est un mot de passe, faux sinon						*/
/*			Au moins une lettre et une longueur entre 6 et 15 caractères			*/
/************************************************************************************/
function estPassword(test) {
	if (test == "") return true;
	else return(!estNombre(test) && test.length>5 && test.length<16)
}

/************************************************************************************/
/* maxLength(test, n)																*/
/* Paramètres :																		*/
/*	- test : Valeur à tester														*/
/*	- n : Longueur maxi de la valeur												*/
/* Return : Vrai si la taille de la valeur est inférieure au paramètre, faux sinon	*/
/************************************************************************************/
function maxLength(test, n) { return (test.length <= n); }

/************************************************************************************/
/* nl2br(text)																		*/
/* Paramètres :																		*/
/*	- text : Texte à modifier														*/
/* Return : Le texte passé en paramètre en ayant remplacé les \n par des <br />		*/
/************************************************************************************/
function nl2br(text){ return text.replace(/\n/g,"<br />"); }

/************************************************************************************/
/* estVideRadio(radio)																*/
/* Paramètres :																		*/
/*	- radio : élément de type radio du formulaire									*/
/* Return : Vrai si la valeur est vide, faux sinon									*/
/************************************************************************************/
function estVideRadio(radio) { 
	for(i = 0; i < radio.length; i++){
		if(radio[i].checked) return false;
	} 
	return true;
}