var message = '';

function SetMessageAndFocus(objField, strMessage) {
	if (message == '') {
		objField.focus();
	}
	message += '\n   ' + strMessage;
}

function ValidateEmailField(objField, strMessage) {
	if (EmailFieldIsInvalid(objField)) {
		SetMessageAndFocus(objField, strMessage);
	}
}
function ValidateTextField(objField, intMinLength, strMessage) {
	if (TextFieldIsInvalid(objField, intMinLength)) {
		SetMessageAndFocus(objField, strMessage);
	}
}
function ValidateInfoRequired(objContactTypes, strType, objField, strMessage) {
	if (RequiredFieldIsEmpty(objContactTypes, strType, objField)) {
		SetMessageAndFocus(objField, strMessage);
	}
}
function ValidateInfoRequiredMulti(objContactTypes, strType, objField1, objField2, strMessage) {
	if (RequiredFieldIsEmpty(objContactTypes, strType, objField1) && RequiredFieldIsEmpty(objContactTypes, strType, objField2)) {
		SetMessageAndFocus(objField1, strMessage);
	}
}
function ValidateValue(objField, strMessage) {
	if (FieldIsEmpty(objField)) {
		SetMessageAndFocus(objField, strMessage);
	}
}
function ValidateNumber(objField, strMessage) {
	if (!FieldIsNumber(objField)) {
		SetMessageAndFocus(objField, strMessage);
	}
}

function EmailFieldIsInvalid(objField) {
	return (objField.value != '' && (objField.value.indexOf('@') == -1 || objField.value.indexOf('.') == -1));
}
function TextFieldIsInvalid(objField, intMinLength) {
	return (objField.value != '' && objField.value.length < intMinLength);
}
function RequiredFieldIsEmpty(objContactTypes, strType, objField) {
	if (strType.charAt(0) == '!') {
		strType = strType.substring(1, strType.length);
		return (objContactTypes.value != strType && objField.value == '');
	} else {
		return (objContactTypes.value == strType && objField.value == '');
	}
}
function FieldIsEmpty(objField) {
	return (objField.value == '');
}
function FieldIsNumber(objField) {
	var re = /^[0-9]+$/i;
	return (re.test(objField.value));
}
