EmailValidator = {
	validateEmail:function(str) {
		var strParts = str.split("<");
		if (strParts.length > 1) {
			str = "<" + strParts[1];
		}
		var filter=/(^(<?)[\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,3}(?:\.[a-z]{2})?(>?))$/i;
		if (filter.test(str)){
			return true;
		}else{
			return false;
		}
	},
	
	extractEmailAddress:function(str) {
		if (str == null || str == "") {
			return null;
		}
		
		var strParts = str.split("<");
		if (strParts.length > 1) {
			str = strParts[1];
		}
		str = str.replace(/</ig, '').replace(/>/ig, '');
		return str;
	},
	
	extractEmailAddressList: function(str) {
		if (str == null || str == "") {
			return null;
		}
		var emails = str.split(',');
		var scrubbedEmails = '';
		for (var i=0; i<emails.length; i++) {
			var email = trim(emails[i]);
			if (i == 0) {
				scrubbedEmails = this.extractEmailAddress(email);
			} else {
				scrubbedEmails += ", " + this.extractEmailAddress(email);
			}
		}
		return scrubbedEmails;
	},
		
	trimAll:function(sString)
	{
		while (sString.substring(0,1) == ' ')
		{
			sString = sString.substring(1, sString.length);
		}
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
			sString = sString.substring(0,sString.length-1);
		}
		return sString;
	}
}
