var undefined;

function isEmptyStr(s) {
	return (s.length == 0);
}

function isBlankStr(s) {
	if (isEmptyStr(s)) return true;
	
	var RE_TrimSpace = /(^\s+)|(\s+$)/g;
	var sTrimmed = s.replace(RE_TrimSpace, '');

	return (isEmptyStr(sTrimmed));
}

function isValidEmail(sEmailAddress, bBlankOk, bMultipleOk) {
	var RE_EmailDelim = /\s*[,]\s*/;
	var RE_ValidEmail = /^\s*([a-z0-9][a-z0-9\-'\._]*@([a-z0-9][a-z0-9\-_]*\.)+([a-z]{2,5}))\s*$/i;
	var s, m
	
	if (isBlankStr(sEmailAddress)) 
		return bBlankOk;
	
	s = sEmailAddress;
	
	if (!bMultipleOk) {
		m = s.match(RE_ValidEmail);
		if (m == null) return false;

	} else {
		var addr = s.split(RE_EmailDelim);
		var n = addr.length;
	
		for(var i=0; i<n; i++) {
			s = addr[i];
			if (s.length == 0) return false;
			
			m = s.match(RE_ValidEmail);
			if (m == null) return false;
		}
	}

	return true;
}
