/**
*** Ecrit par Janick Delot.
***
*** Liste des fonctions :
*** 
*** Check_Length		-> Vérifie la longueur de la chaîne
***
*** Is_Empty		-> Vérifie si la chaîne est vide
*** Is_Alphabetic	-> Vérifie si la chaîne contient uniquement des caractères alphabétique
*** Is_Integer		-> Vérifie si la chaîne contient uniquement des chiffres
*** Is_Numeric		-> Vérifie si la chaîne contient un nombre entier ou flottant
*** Is_Alphanumeric	-> Vérifie si la chaîne contient uniquement des caractères alphabétique et des nombres entiers ou flottants
***
*** Is_Date		-> Vérifie si la chaîne est une date (AAAA/MM/JJ)
*** Is_Email		-> Vérifie si la chaîne est une adreses email (xxx@xx.xxx)
***
*** Is_Radio_Checked	-> Vérifie s'il y a au moins un bouton radio sélectionné
*** Radio_Value		-> Renvoie la valeur du bouton radio sélectionné
***
*** Is_Checkedbox	-> Vérifie si la checkbox est cochée
*** Checkbox_Value	-> Renvoie la valeur de la checkbox
**/

/*
** Renvoie true si la longueur de la chaîne est plus petite ou égale à Len
*/
function Check_Length(String,Len){
	return String.length<=Len;
}

/*
** Renvoie true si la chaîne de caractère en paramètre est vide ou composée uniquement d'espaces
*/
function Is_Empty(String){
	return String.replace(/(^\s*)|(\s*$)/g,'')==""; 
}

/*
** Renvoie true si la chaîne contient uniquement des caractères alphabétiques (espaces acceptés)
*/
function Is_Alphabetic(String){
	var Exp=/^[a-z ]+$/;
	return Exp.test(String.toLowerCase());
}

/*
** Renvoie true si la chaîne est un nombre entier
*/
function Is_Integer(String){
	var Exp=/^[0-9]+$/;
	return Exp.test(String);
}

/*
** Renvoie true si la chaîne est numérique
*/
function Is_Numeric(String){
	var Exp=/^([0-9]{1,})\.?([0-9]{1,})$/;
	return Exp.test(String);
}

/*
** Renvoie true si la chaîne est alphanuméric (lettres & chiffres uniquement)
*/
function Is_Alphanumeric(String){
	var Exp=/^[\w ]+$/;
	return Exp.test(String);
}

/*
** Renvoie true si la date est valide
*/
function Is_Date(String){
	var Exp=/^(\d{4})\D(\d{2})\D(\d{2})$/;
	if(Exp.test(String)){
		Exp.exec(String);
		return (RegExp.$2>=0&&RegExp.$2<=12)&&(RegExp.$3>=0&&RegExp.$3<=31);
	}else{
		return false;
	}
}

/*
** Renvoie true si l'email est valide
*/
function Is_Email(String){
	var Exp=/^([a-z0-9-_\.]{2,})@([a-z0-9-_\.]{2,})\.([a-z]{2,4})$/;
	return Exp.test(String.toLowerCase());
}

/*
** Renvoie true si une des radio box a été sélectionnée
*/
function Is_Radio_Checked(Radio){
	var R_Length=Radio.length;
	for(var i=0;i<R_Length;i++){
		if(Radio[i].checked){
			return true;
		}
	}
	return false;
}

/*
** Renvoie la valeur de la radio box sélectionnée
*/
function Radio_Value(Radio){
    var R_Length=Radio.length;
    for(var i=0;i<R_Length;i++){
        if(Radio[i].checked){
            return Radio[i].value;
        }
    }
    return false;
}

/*
** Renvoie true si la check box a été cochée
*/
function Is_Checkedbox(Chkbox){
    return Chkbox.checked;
}

/*
** Renvoie la valeur de la checkbox
*/
function Checkbox_Value(Chkbox){
	return Chkbox.value;
}