function AddMissing(obj) {
	$("label[for=" + obj.attr("name") + "]").addClass("missing-info");
	obj.focus();
}
function RemoveMissing(obj) {
	$("label[for=" + obj.attr("name") + "]").removeClass("missing-info");
}
function NotEmpty(obj) {
	if (obj.val() == '') {
		AddMissing(obj);
		return false;
	} else {
		RemoveMissing(obj);
		return true;
	}	
}
function IsEmail(obj) {
	var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
	if (! obj.val().match(re)) {
		AddMissing(obj);
		return false;	
	} else {
		RemoveMissing(obj);
		return true;
	}
}
function IsSelected(obj) {
	if (obj.val() == '') {
		AddMissing(obj);
		return false;
	} else {
		RemoveMissing(obj);
		return true;
	}	
}
function IsNumber(obj) {

	var reInteger = /^\d+$/;
	if (! obj.val().match(reInteger)) {
		AddMissing(obj);
		return false;
	} else {
		RemoveMissing(obj);
		return true;
	}
}
function IsYear(obj) {
	/*note: calling isnumber will set the missing indicator as well */
	var d = new Date();
	if (IsNumber(obj) && (obj.val() > 1000 && obj.val() <= d.getFullYear())) {
		RemoveMissing(obj);
		return true;
	} else {
		AddMissing(obj);
		return false;
	}
}

