/*

FORM VALIDATION SCRIPT, v1.00
------------------------------------------------------------------

Developed by Community Internet - http://www.everythingcapecod.com

Charles Heller (charlie@everythingcapecod.com)
Cody Robbins   (cody@everythingcapecod.com)

------------------------------------------------------------------
Date:             December 7, 2003
Filename:         /common/scripts/validation.js

*/

// This function makes sure that the field has a value in it.

function validateRequireValue(fieldTarget, strFieldName, strMessage)
{
	if (fieldTarget.value == "")
	{
		if (strMessage)
		{
			var tempMessage = strMessage;

		} else {

			var tempMessage = "The " + strFieldName + " field requires a value. Please enter a value before proceeding.";
		}

		if (strMessage || strFieldName)
		{
			alert(tempMessage);
		}
			
		fieldTarget.focus();

		return (false);

	} else {

		return (true);
	}
}

// This function makes sure that the field value contains a counting
// counting number, which is a non-zero, non-negative whole number,
// starting with 1, 2, 3, 4, 5, etc.

function validateRequireCountingNumber(fieldTarget, strFieldName, strMessage)
{
	var blnFieldOK = true;
	var strFieldValue = fieldTarget.value;
	
	// Make sure field is not blank.

	if (strFieldValue == "")
	{
		blnFieldOK = false;
	}

	// Make sure field only contains digits.
	
	var strAcceptableCharacters = "0123456789";

	for (i = 0;  i < strFieldValue.length;  i++)
	{
		strCurrentCharacter = strFieldValue.charAt(i);

		for (j = 0;  j < strAcceptableCharacters.length;  j++)
		{
			if (strCurrentCharacter == strAcceptableCharacters.charAt(j))
			{
				break;
			}
		}
			
		if (j == strAcceptableCharacters.length)
		{
			blnFieldOK = false;
				
			break;
		}
	}

	// Make sure field is not zero.
		
	if (parseInt(strFieldValue) == 0)
	{
		blnFieldOK = false;
	}
	
	// Display message if the data is not valid.
	
	if (blnFieldOK == false)
	{
		if (strMessage)
		{
			var tempMessage = strMessage;

		} else {

			var tempMessage = "The " + strFieldName + " field requires a non-zero, non-negative whole number. Please enter an acceptable value before proceeding.";
		}

		if (strMessage || strFieldName)
		{
			alert(tempMessage);
		}
			
		fieldTarget.focus();
		
		return (false);

	} else {
		
		return (true);
	}
}

function validateRequireCountingNumberLessThanOrEqual(fieldTarget, limit, strFieldName, strMessage)
{
	var blnFieldOK = true;
	var strFieldValue = fieldTarget.value;
	
	if (!validateRequireCountingNumber(fieldTarget, strFieldName, strMessage))
	{
		return (false);
	}

	// Make sure field is not zero.
		
	if (parseInt(strFieldValue) > limit)
	{
		blnFieldOK = false;
	}
	
	// Display message if the data is not valid.
	
	if (blnFieldOK == false)
	{
		if (strMessage)
		{
			var tempMessage = strMessage;

		} else {

			var tempMessage = "The " + strFieldName + " field requires a non-zero, non-negative whole number less than or equal to " + limit + ". Please enter an acceptable value before proceeding.";
		}

		if (strMessage || strFieldName)
		{
			alert(tempMessage);
		}
			
		fieldTarget.focus();
		
		return (false);

	} else {
		
		return (true);
	}
}

function validateRequireStringLengthEquals(fieldTarget, pLength, strFieldName, strMessage)
{
    if (fieldTarget.value.length != pLength)
    {
	if (strMessage)
	    var tempMessage = strMessage;
	else
	    var tempMessage = "The " + strFieldName + " field requires a non-zero, non-negative whole number. Please enter an acceptable value before proceeding.";

	if (strMessage || strFieldName)
	    alert(tempMessage);
			
	fieldTarget.focus();		
	return (false);
    } else		
	return (true);
}

function validateRequireStringLengthGreaterThan(fieldTarget, pLength, strFieldName, strMessage)
{
    if (fieldTarget.value.length <= pLength)
    {
	if (strMessage)
	    var tempMessage = strMessage;
	else
	    var tempMessage = "The " + strFieldName + " field requires a non-zero, non-negative whole number. Please enter an acceptable value before proceeding.";

	if (strMessage || strFieldName)
	    alert(tempMessage);
			
	fieldTarget.focus();		
	return (false);
    } else		
	return (true);
}

function validateRequireStringLengthLessThan(fieldTarget, pLength, strFieldName, strMessage)
{
    if (fieldTarget.value.length >= pLength)
    {
	if (strMessage)
	    var tempMessage = strMessage;
	else
	    var tempMessage = "The " + strFieldName + " field requires a non-zero, non-negative whole number. Please enter an acceptable value before proceeding.";

	if (strMessage || strFieldName)
	    alert(tempMessage);
			
	fieldTarget.focus();		
	return (false);
    } else		
	return (true);
}

function validateRequireEmailAddress(fieldTarget, strFieldName, strMessage)
{
	var intCharacterPosition = fieldTarget.value.indexOf("@")

	if (intCharacterPosition == -1)
	{
		if (strMessage)
		{
			var tempMessage = strMessage;

		} else {

			var tempMessage = "The " + strFieldName + " field requires a valid e-mail address. Please enter a valid e-mail address before proceeding.";
		}

		if (strMessage || strFieldName)
		{
			alert(tempMessage);
		}
			
		fieldTarget.focus();

		return (false);

	} else {

		return (true);
	}
}

