var whitespace = " \t\n\r;,";

function isEmpty(s) {
	var i;
	if ((s == null) || (s.length == 0)) return true;
	for (i=0; i < s.length; i++) {
		var c = s.charAt(i);
		if (whitespace.indexOf(c) == -1) return false;
	}
	return true;
}

function isEmail (s) {
	var reEmail = /^(.+)@(.+)$/;
	var arMatch = s.match(reEmail);
	if (arMatch == null) return false;
	var s1=arMatch[1];
	var s2=arMatch[2];
	
	var charClass = "\[^\\s" + "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" + "\]+";
	var qS1 = "(\"[^\"]*\")";
	var word = "(" + charClass + "|" + qS1 + ")";
	
	var reS1 = new RegExp("^" + word + "(\\." + word + ")*$");
	if (s1.match(reS1) == null) return false;
									
	var reS2ip=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var arIps=s2.match(reS2ip);
	if (arIps != null) {
		for (var i = 1; i <= 4; i++)
			if (arIps[i] > 255) return false;
		return true;
	}
	
	var reS2dm = new RegExp("^" + charClass + "(\\." + charClass +")*$");
	if (s2.match(reS2dm) == null) return false;
	
	var reEmg = new RegExp(charClass,"g");
	var arDom = s2.match(reEmg);
	if (arDom[arDom.length-1].length < 2 || arDom[arDom.length-1].length > 3) return false;
	if (arDom.length < 2) return false;
	return true;
}  

function btnHoover(obj, fore, back) {
	obj.style.color = fore;
	obj.style.backgroundColor = back;
}

