var reWhitespace = /^\s+$/;
var reEmail = /^.+@.+\..{2,3}$/;
var reInteger = /(^-?\d\d*$)/;

function isEmpty(s) {
	return ((s == null) || (s.length == 0));
}

function isWhitespace(s) {
	return (isEmpty(s) || reWhitespace.test(s));
}

function isInteger(s) {
	return (!(isEmpty(s)) && reInteger.test(s));
}

function isEmail(s) {
	return (!(isEmpty(s)) && reEmail.test(s));
}

function isExtension(s, extArr) {
	if (isEmpty(s)) return false;
	if (extArr.length == 0) return true;
	s = s.toLowerCase();
	for (var i = 0; i < extArr.length; i++) {
		var re = new RegExp(".+\." + extArr[i]);
		if (re.test(s)) return true;
	}
	return false;
}

function isRadioChecked(obj) {
	for (var i = 0; i < obj.length; i++) {
		if (obj[i].checked == true) {
			return true;
		}
	}
	return false;
}

function isCheckboxChecked(obj) {
	for (var i = 0; i < obj.length; i++) {
		if (obj[i].checked == true) {
			return true;
		}
	}
	return false;
}

function isSingleCheckboxChecked(obj) {
	return obj.checked;
}

function minCheckboxesChecked(obj, n) {
	var c = 0;
	for (var i = 0; i < obj.length; i++) {
		if (obj[i].checked == true) {
			c++;
			if (c >= n)	return true;
		}
	}
	return false;
}

function isCheckedFieldFilled(chkObj, fldObj) {
	if (chkObj.checked == true) {
		if (isWhitespace(fldObj.value)) {
			return false;
		}
	}
	return true;
}

function isSeriesCheckedFieldFilled(obj, t, o) {
	for (var i = 0; i < obj.length; i++) {
		if (o.toString().indexOf(i) != -1) continue;
		if (obj[i].checked == true) {
			if (isWhitespace(t[i].value)) {
				return false;
			}
		} else {
			if (!isWhitespace(t[i].value)) {
				return false;
			}
		}
	}
	return true;
}

function isDropdownSelected(obj) {
	if (!obj.value) {
		return false;
	} else {
		return true;
	}
}

//function isImageFile(path) {
//	var img = new Image();
//	img.src = path;
//	img.onError = alert;
//	img.onLoad = alert;
//	return false;
//}

function highlightLabel(styleObj) {
	styleObj.color = "#ff0000";
	styleObj.fontWeight = "bold";
}

function normalLabel(styleObj) {
	styleObj.color = "#000000";
	styleObj.fontWeight = "normal";
}
