
function req_email (name, id) {
	var pat = /^[^\@]+\@[^\.]+\.\S+$/;
	if (!pat.test(id.value)) {
		id.focus();
		if (id.value == '') {
			alert('Please enter: ' + name);
		} else {
			alert('Please re-enter: ' + name);
		}
		return false;
	}
	return true;
}

function opt_email (name, id) {
	if (id.value != '') {
		return req_email(name, id);
	}
	return true;
}

function req_filled (name, id) {
	var pat = /^\s*$/;
	if (pat.test(id.value)) {
		id.focus();
		if (id.value == '') {
			alert('Please enter: ' + name);
		} else {
			alert('Please re-enter: ' + name);
		}
		return false;
	}
	return true;
}

function opt_filled (name, id) {
	if (id.value != '') {
		return req_filled(name, id);
	}
	return true;
}

function req_text (name, id) {
	var pat1 = /^\s*$/;
	var pat2 = /^\d+$/;
	if (pat1.test(id.value) || pat2.test(id.value)) {
		id.focus();
		if (id.value == '') {
			alert('Please enter: ' + name);
		} else {
			alert('Please re-enter: ' + name);
		}
		return false;
	}
	return true;
}

function opt_text (name, id) {
	if (id.value != '') {
		return req_text(name, id);
	}
	return true;
}

function req_num (name, id) {
	var pat = /^\d+$/;
	if (!pat.test(id.value)) {
		id.focus();
		if (id.value == '') {
			alert('Please enter numeric value: ' + name);
		} else {
			alert('Please re-enter numeric value: ' + name);
		}
		return false;
	}
	return true;
}

function opt_num (name, id) {
	if (id.value != '' && id.value != '0') {
		return req_num(name, id);
	}
	return true;
}

function req_num_len (name, id, length) {
	id.value = id.value.replace(/\D/g, '');
	var pat = /^\d+$/;
	if (!pat.test(id.value) || id.value.length != length) {
		id.focus();
		if (id.value == '') {
			alert('Please enter numeric value: ' + name);
		} else {
			alert('Please re-enter numeric value: ' + name);
		}
		return false;
	}
	return true;
}

function opt_num_len (name, id, length) {
	if (id.value != '' && id.value != '0') {
		return req_num_len(name, id, length);
	}
	return true;
}

function req_money (name, id) {
	var pat = /^\d+(\.\d\d)?$/;
	if (!pat.test(id.value)) {
		id.focus();
		if (id.value == '') {
			alert('Please enter monetary value: ' + name);
		} else {
			alert('Please re-enter monetary value: ' + name);
		}
		return false;
	}
	return true;
}

function opt_money (name, id) {
	if (id.value != '' && id.value != '0' && id.value != '0.00') {
		return req_money(name, id);
	}
	return true;
}

function req_rate (name, id) {
	var pat = /^\d\d?(\.\d\d)?$/;
	if (!pat.test(id.value)) {
		id.focus();
		if (id.value == '') {
			alert('Please enter rate value: ' + name);
		} else {
			alert('Please re-enter rate value: ' + name);
		}
		return false;
	}
	return true;
}

function opt_rate (name, id) {
	if (id.value != '' && id.value != '0' && id.value != '0.00') {
		return req_rate(name, id);
	}
	return true;
}

function req_selected (name, id) {
	var pat = /^\s*$/;
	var val = '';
	for (var i = 0; i < id.options.length; i++) {
		if (id.options[i].selected) {
			val = id.options[i].value;
		}
	}
	if (pat.test(val)) {
		id.focus();
		alert('Please select: ' + name);
		return false;
	}
	return true;
}

function req_checked (name, id) {
	if (!id.checked) {
		id.focus();
		alert('Please check box: ' + name);
		return false;
	}
	return true;
}

function req_time_length (name, id1, id2) {
	var num1 = 0;
	var num2 = 0;
	var pat = /^\d+$/;
	if (pat.test(id1.value)) {
		num1 = parseInt(id1.value);
	}
	if (pat.test(id2.value)) {
		num2 = parseInt(id2.value);
	}
	if (num1 + (num2 * 12) <= 0) {
		id2.focus();
		alert('Please Enter: ' + name);
		return false;
	}
	return true;
}

function opt_time_length (name, id1, id2) {
	if ((id1.value != '' && id1.value != '0') || (id2.value != '' && id2.value != '0')) {
		return req_time_length(name, id1, id2);
	}
	return true;
}

