String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };

Array.prototype.exists = function(search) {
	for (var i=0; i<this.length; i++)
		if (this[i] == search) return true;
		
	return false;
} 


function validateEmail(emailAddress) {
	var filter = /^([a-zA-Z0-9_!#\$%&'\*\+\/=\?\^`\{\|\}~\.\-])+\@(([a-zA-Z0-9\-_])+\.)+([a-zA-Z0-9_]{2,4})+$/;
	return filter.test(emailAddress);
}

function validateDate(dateToValidate) {
	var filter = /(\d{4})-(\d{2})-(\d{2})/;
	return filter.test(dateToValidate);
}

function isEmptyString(str){ 
	return (str.trim() == '');
}

function validateEmailList(emailList, sep) {
	var ok = true;
	
	if(emailList != ''){
		var arrayEmails = emailList.split(sep);
		
		for(var i = 0; i<arrayEmails.length && ok; i++){
			ok = validateEmail(arrayEmails[i]);
		}
	}
	
	return ok;
}

function validateNumberList(numberList, sep) {
	var ok = true;
	
	if(numberList != ''){
		var arrayNumbers = numberList.split(sep);
		
		for(var i = 0; i<arrayNumbers.length && ok; i++){
			ok = isNaN(arrayNumbers[i]) ? false : true;
		}
	}
	
	return ok;
}

// Sert à simuler le "maxlength" sur un textarea.
function isMaxLength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
	if (obj.getAttribute && obj.value.length>mlength)
		obj.value=obj.value.substring(0,mlength)
}
