// calcule le nombre de caracteres restants et tronque eventuellement la chaine
function handleStringLength(oElement, iMaxLength, bDisplayRest) {
	
	if (oElement.value.length > iMaxLength) {
		oElement.value = oElement.value.substring(0, iMaxLength);
	}
	if (bDisplayRest === true) {
		$(oElement.name + '_characters').innerHTML = iMaxLength - oElement.value.length;
	}
}

// fonction test
function affiche(sStringToDisplay){
	alert(sStringToDisplay);
}

// fonction équivalente à la fonction trim php
function trim (sString){
	return sString.replace(/^\s+/g,'').replace(/\s+$/g,'');
} 

//fonction test champ non vide
function checkNotNull(sString){
	if(trim(sString) != ''){
		return true ;
	}
	else{
		return false ;
	}
}

// fontion test mail unique
function checkEmail(sEmailAdress){
	var regularExpression = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9àáâãäåèéêëìiíîïòóôõöøùúûüýÿçñþð\-])+\.)+([a-zA-Z0-9]{2,6})$/;
	
	if (sEmailAdress.match(regularExpression)==null){
		return false;
	}
	else{
		return true;
	}
}

// Récupère la valeur d'un objet <input type="radio"/> passé en paramètre: renvoi vide si aucun radio n'est coché ou si l'objet n'existe pas
function getCheckedValueFromRadio(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked)
			return radioObj[i].value;
	}
	return "";
}

// fonction verifiant qu'une valeur est un entier
function isInteger(sValue){
	var oRegEx = new RegExp("^[0-9]+$","g");
	
	if(oRegEx.test(sValue)){
		return true;
	}
	else{
		return false;
	}
}

// fonction qui verfie qu'une valeur est un entier strictment positif
function isPositiveInteger(sValue){
	if(isInteger(sValue) && sValue > 0){
		return true;
	}
	else{
		return false;
	}
}

/*
 * teste le format d'un code postal
 * 
 * 5 chiffres
 * 
 * exemple france : 59650
 * exemple belgique : 1934
 * exemple suisse : 4356
 * exemple angleterre : A99AA / A9A9AA / A999AA / AA99AA / AA9A9AA / AA999AA
 */
function checkZipCode(sZipCode, iCountryId){
//	switch(iCountryId){
//	// france
//	case '1' : 
//		var oRegularExpression = new RegExp('^[0-9]{5}$', 'gi');
//	break;
//	// angleterre
//	case '2' :
//		var oRegularExpression = new RegExp('^[a-z]{1,2}[0-9][a-z0-9]?[0-9][a-z]{2}$', 'i');
//	break;
//	// belgique
//	case '3' : 
//		var oRegularExpression = new RegExp('^[0-9]{4}$', 'gi');
//	break;
//	// suisse
//	case '4' :
//		var oRegularExpression = new RegExp('^[0-9]{4}$', 'gi');
//	break;
//	default : 
//		return false;
//	break;
//	}
//
//	return sZipCode.match(oRegularExpression);
	return true;
}

/*
 * teste le format d'un numero de telephone
 * 
 * national et international
 * 
 * exemple france : 0320665683 ou +33.320665683
 * exemple belgique : 
 * exemple suisse : 
 * exemple angleterre : 
 */
function checkPhoneNumber(sPhoneNumber, iCountryId){
//	var aRegEx = new Array();
//	var isOk = false;
//	
//	switch(iCountryId){
//	// france
//	case '1' : 
//		// national : fixe et portable (ex : 03.20.74.14.05)
//		aRegEx[1] = new RegExp('^0[1-9]\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// international : fixe et portable (ex : +33.3.20.74.14.05)
//		aRegEx[2] = new RegExp('^\\+33\\.[1-9]\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//	break;
//	// angleterre
//	case '2' :
//		// national : fixe (ex : 0.374.936.1536)
//		aRegEx[1] = new RegExp('^0\\.[0-9]{3}\\.[0-9]{3}\\.[0-9]{4}$', 'gi');
//		// international : fixe (ex : +44.374.936.1536)
//		aRegEx[2] = new RegExp('^\\+44\\.[0-9]{3}\\.[0-9]{3}\\.[0-9]{4}$', 'gi');
//		// national : portable (ex : 0.7.8374.527438)
//		aRegEx[3] = new RegExp('^0\\.7\\.[0-9]{4}\\.[0-9]{6}$', 'gi');
//		// international : portable (ex : +44.7.8374.527438)
//		aRegEx[4] = new RegExp('^\\+44\\.7\\.[0-9]{4}\\.[0-9]{6}$', 'gi');
//	break;
//	// belgique
//	case '3' : 
//		// national : fixe (ex : 03.225.08.46)
//		aRegEx[1] = new RegExp('^0[1-9]\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// international : fixe (ex : +32.3.225.08.46)
//		aRegEx[2] = new RegExp('^\\+32\\.[1-9]\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// national : portable (ex : 0456.23.31.17)
//		aRegEx[3] = new RegExp('^04[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// international : portable (ex : +32.456.23.31.17)
//		aRegEx[4] = new RegExp('^\\+32\\.4[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//	break;
//	// suisse
//	case '4' :
//		// national : fixe et portable (ex : 0.34.782.31.93)
//		aRegEx[1] = new RegExp('^0\\.[1-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// international : fixe et portable (ex : +41.34.782.31.93)
//		aRegEx[2] = new RegExp('^\\+41\\.[1-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//	break;
//	case 'all_countries' :
//		// france - national : fixe et portable (ex : 03.20.74.14.05)
//		aRegEx[1] = new RegExp('^0[1-9]\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// france - international : fixe et portable (ex : +33.3.20.74.14.05)
//		aRegEx[2] = new RegExp('^\\+33\\.[1-9]\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		
//		// angleterre - national : fixe (ex : 0.374.936.1536)
//		aRegEx[3] = new RegExp('^0\\.[0-9]{3}\\.[0-9]{3}\\.[0-9]{4}$', 'gi');
//		// angleterre - international : fixe (ex : +44.374.936.1536)
//		aRegEx[4] = new RegExp('^\\+44\\.[0-9]{3}\\.[0-9]{3}\\.[0-9]{4}$', 'gi');
//		// angleterre - national : portable (ex : 0.7.8374.527438)
//		aRegEx[5] = new RegExp('^0\\.7\\.[0-9]{4}\\.[0-9]{6}$', 'gi');
//		// angleterre - international : portable (ex : +44.7.8374.527438)
//		aRegEx[6] = new RegExp('^\\+44\\.7\\.[0-9]{4}\\.[0-9]{6}$', 'gi');
//		
//		// belgique - national : fixe (ex : 03.225.08.46)
//		aRegEx[7] = new RegExp('^0[1-9]\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// belgique - international : fixe (ex : +32.3.225.08.46)
//		aRegEx[8] = new RegExp('^\\+32\\.[1-9]\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// belgique - national : portable (ex : 0456.23.31.17)
//		aRegEx[9] = new RegExp('^04[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// belgique - international : portable (ex : +32.456.23.31.17)
//		aRegEx[10] = new RegExp('^\\+32\\.4[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');	
//		
//		// suisse - national : fixe et portable (ex : 0.34.782.31.93)
//		aRegEx[11] = new RegExp('^0\\.[1-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//		// suisse - international : fixe et portable (ex : +41.34.782.31.93)
//		aRegEx[12] = new RegExp('^\\+41\\.[1-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{2}$', 'gi');
//	break;
//	// aucun pays n'est defini
//	default : 
//		return true;
//	break;
//	}
//	
//	// boucle sur le tableau des expressions regulieres
//	for(iIndex=1; iIndex<=aRegEx.length && !isOk; iIndex++){
//		if(sPhoneNumber.match(aRegEx[iIndex])){
//			isOk = true;
//		}
//	}
//	
//	return isOk;
	
	return true;
}