function CheckFields(theForm)
{
	if(ValidateForm(theForm))
		return true;
	else
		return false;
}



function ValidPhone(field1, field2, field3, fieldLabel)
{
	var result = true;
	var RE3 = /^\d\d\d$/;
	var RE4 = /^\d\d\d\d$/;
	if ( (! RE3.test(field1.value)) || (! RE3.test(field2.value)) || (! RE4.test(field3.value)) )
	{
		alert('Please enter a 10 digit number for the "' + fieldLabel +'" field.');
		field1.focus();
		result = false;
	}
	return result;
}

function ValidPhone1(field1, fieldLabel)
{
	var result = true;
	var RE = /^\d.*\d$/;
	if (! RE.test(field1.value))
	{
		alert('Please enter a number for the "' + fieldLabel +'" field.');
		field1.focus();
		result = false;
	}
	return result;
}

function ValidPhone1_Group(field1, errorMessage, errorDiv)
{
	var result = true;
	var RE = /^\d{10,15}$/;
	if (! RE.test(field1.value))
	{
		errorDiv.innerHTML += errorMessage;
		field1.focus();
		result = false;
	}
	return result;
}

function ValidEmail(formField, errorMessage, required)
{
	var result = true;
	if (required && !ValidRequired(formField, errorMessage))
		result = false;
	if (result && (!formField.value.match(/^[\w-][\w\d.%+-]+\@(?:[\w\d]+\.)+\w{2,4}$/)) )
	{
		alert(errorMessage);
		formField.focus();
		result = false;
	}
  return result;
}

function ValidEmail_Group(formField, errorMessage, errorDiv, required)
{
	var result = true;
	if (required && !ValidRequired_Group(formField, errorMessage, errorDiv))
		result = false;
	if (result && (!formField.value.match(/^[\w-][\w\d.%+-]+\@(?:[\w\d]+\.)+\w{2,4}$/)) )
	{
		errorDiv.innerHTML += errorMessage;
		formField.focus();
		result = false;
	}
  return result;
}

function ValidRequired(formField, errorMessage)
{
	var result = true;
	if (formField.value == "")
	{
		alert(errorMessage);
		formField.focus();
		result = false;
	}
	return result;
}

function ValidRequired_Group(formField, errorMessage, errorDiv)
{
	var result = true;
	if (formField.value == "")
	{
		errorDiv.innerHTML += errorMessage;
		formField.focus();
		result = false;
	}
	return result;
}

function ValidRequiredCheck(formField, errorMessage)
{
	for(var i=0;i<formField.length;i++)
	{
		if (formField[i].checked)
			return true;
	}
	alert(errorMessage);
	return false;
}

function ValidRequiredSelection(formField, errorMessage)
{
	var result = true;
	if (formField.selectedIndex == 0 || formField.selectedIndex == -1)
	{
		alert(errorMessage);
		formField.focus();
		result = false;
	}
	return result;
}

function ValidRequiredMultipleSelection(formField, errorMessage)
{
	for (i = 0; i< formField.length; i++)
	{
		if (formField.options[i].selected)
			return true;
	}
	alert(errorMessage);
	formField.focus();
	return false;
}

function ValidRequiredList(formField, errorMessage)
{
	if(formField.length > 0)
		return true;
	alert(errorMessage);
	formField.focus();
	return false;
}

function ValidRequiredCheckDependant(formField, depFormField, value, errorMessage)
{
	var result = true;
	if (depFormField[value].checked)
		result = ValidRequired(formField, errorMessage);
	return result;
}

function ValidRequiredCheckDropDependant(formField, depFormField, value, errorMessage)
{
	var result = true;
	if (depFormField.selectedIndex == value)
		result = ValidRequired(formField, errorMessage);
	return result;
}

function ValidRequiredCheckCheckDependant(formField, depFormField, value, errorMessage)
{
	var result = true;
	if (depFormField[value].checked)
		result = ValidRequiredCheck(formField, errorMessage);
	return result;
}

function AllNumbers(str)
{
	var result = true;
	var RE = /^\d+$/;
	if (!RE.test(str))
		result = false;
	return result;
}

function AllLetters(str)
{
	var result = true;
	var RE = /^\w+$/;
	if (!RE.test(str))
		result = false;
	return result;
}

function AllCharacters(str)
{
	var result = true;
	var RE = /^[\w\d]+$/;
	if (!RE.test(str))
		result = false;
	return result;
}

function ValidPrice(formField,fieldLabel,required)
{
	var result = true;

	if (formField.value == "0.00")
		formField.value = '';

	if (required && !ValidRequired(formField,fieldLabel))
		result = false;

 	if (result)
 	{
		if (formField.value.indexOf(".")==-1){formField.value+=".00"}
		while (formField.value.substr(formField.value.indexOf(".")).length<3){formField.value+="0"}

		var priceRE = /^\d*(\.\d\d)?$/;
		var flag = priceRE.test(formField.value);
 		if (!flag) {
			formField.value = "";
 			alert('The amount entered is not in the correct format.  Please enter the amount to be paid in the form of "dollars.cents".');
			formField.focus();
			result = false;
		}
	}
	return result;
}

function ValidNum(formField, errorMessage, required)
{
	var result = true;
	if (required && !ValidRequired(formField, errorMessage))
		result = false;
 	if (result)
 	{
 		if (!AllNumbers(formField.value))
 		{
 			alert(errorMessage);
			formField.focus();
			result = false;
		}
	}
	return result;
}

function ValidInt(formField, errorMessage, required)
{
	var result = true;

	if (required && !ValidRequired(formField, errorMessage))
		result = false;

 	if (result)
 	{
 		var num = parseInt(formField.value);
 		if (isNaN(num))
 		{
 			alert(errorMessage);
			formField.focus();
			result = false;
		}
	}

	return result;
}

function ValidCCNumber(formField,fieldLabel,required)
{
	var result = true;
	if (required && !ValidRequired(formField,fieldLabel)) {
		result = false;
	}
	else {
		result = AllNumbers(formField.value);

		if (result && ((formField.value.length < 14) || (formField.value.length > 16)) )
			result = false;

		if (!result) {
			alert('Please enter a valid number for the "' + fieldLabel +'" field.');
			formField.focus();
		}
	}
	return result;
}

function ValidSSN(field1,field2,field3,depField,fieldLabel) {
	var result = true;
	var RE2 = /^\d\d$/;
	var RE3 = /^\d\d\d$/;
	var RE4 = /^\d\d\d\d$/;
	if (depField[0].checked) {
		if ( (! RE3.test(field1.value)) || (! RE2.test(field2.value)) || (! RE4.test(field3.value)) ) {
			alert('Please enter a 9 digit number for the "' + fieldLabel +'" field.');
			field1.focus();
			result = false;
		}
	}
	return result;
}

function ValidPleaseSpecify(formField, depFormField, errorMessage)
{
	var result = true;
	if (depFormField[depFormField.selectedIndex].text.match(/(please specify)/))
		result = ValidRequired(formField, errorMessage);
	return result;
}

function LTrim(value)
{
	var RE = /\s*((\S+\s*)*)/;
	return value.replace(RE, "$1");
}

function RTrim(value)
{
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

function Trim(value)
{
	return LTrim(RTrim(value));
}

function ValidMimetype(value)
{
	var RE = /[A-za-z0-9_-]+\/[A-za-z0-9_-]/
	return RE.test(value);
}
