function firstNotIn(sValidChars, sInStr)
{
	var i;
	var cCh = '';
	
	for (i=0; i<sInStr.length; i++)
	{
		cCh = sInStr.charAt(i);
		
		if (sValidChars.indexOf(cCh) == -1)
		{
			return i;
		}
	}
	
	return -1;
}



function isComposedOfCharacters(sValidChars, sInStr)
{
	return (firstNotIn(sValidChars,sInStr) == -1);
}




function isLetter(cCh)
{
	return ((cCh >= 'a') && (cCh <= 'z')) || ((cCh >= 'A') && (cCh <= 'Z'));
}



// -------------------------------------------------------------------
// Function isValidEmailFormat(domElement, sElementDescr, bDisplayAlert)
// Function to verify that the Email address has '@' and '.' character
//
// Parameters:
//				domElement: DOM object
//				sElementDescr: description of field for message
//				bDisplayAlert: whether to show the alert box
// -------------------------------------------------------------------

function isValidEmailFormat(domElement, sElementDescr, bDisplayAlert)
{
	var bValidAtChar = false;
	var sValueStr = domElement.value;
	var i = 0;
	var j = sValueStr.length;
	var bResultInd = true;

	for (i=0; i<j; i++)
	{
		if (sValueStr.charAt(i) == '@')
		{
			bValidAtChar = true;
			i = j;
		}
	}
			
	if (!bValidAtChar)
	{
		if (bDisplayAlert)
			alert ('The email address entered at ' + sElementDescr + ' is invalid.');
			
		bResultInd = false;
	}
		
	return bResultInd;
}

// -------------------------------------------------------------------
// function isRequiredField(domElement, sElementDescr, bDisplayAlert)
// Function to determine if a field contains any character
//
// Parameters:
//				domElement: DOM object
//				sElementDescr: description of field for message
//				bDisplayAlert: whether to show the alert box
// --------------------------------------------------------------------

function isRequiredField(domElement, sElementDescr, bDisplayAlert)
{
	var sElementValue = domElement.value;
	var iElementStrLen = sElementValue.length;
	var bResultInd = false;

	if (iElementStrLen > 0)
	{
		for (i=0; i<iElementStrLen; i++)
     	{
			if (sElementValue.charAt(i) != ' ')
			{
				//bail out
				i = iElementStrLen;
				bResultInd = true;
			}
		}
	}
    
	if (!bResultInd && bDisplayAlert)
	{
		var sAlertMsg = sElementDescr + ' is a required field.';
		alert(sAlertMsg);
	}
	
	return bResultInd;
}



