<!--

var g_arrError = new Array()

/****************************************************************/
// Check whether string s is empty.

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}


/****************************************************************/
// Check whether string s is empty.

function isWhitespace( s ) 
{   
	var i;
	var whitespace = " \t\n\r";
	
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++) {   
		var c = s.charAt(i);
		if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}

function ValidateRequiredField( s, errMsg )
{
	
	var txtvalue = new String( s );
	var blSuccess = true
	
	if (txtvalue.length == 0)
		{
			blSuccess =  false;
		}
		
	if( isWhitespace( txtvalue ) ) 
		{
			blSuccess = false;
		} 
		
	if (!blSuccess)
		{
			g_arrError[g_arrError.length] = errMsg
		}
}

function ValidateDate(strDate, FieldName)
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
	var matchArray = strDate.match(datePat); // is the format ok?
	
	if (isWhitespace(strDate)) { 
        return true; 
	} 
	
	if (matchArray == null) {
		g_arrError[g_arrError.length] = 'Values entered in the ' + FieldName + ' field must be a valid date in the formatmm/dd/yyyy.' ;
		return false;
	}
	
	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[4];
	if (year.length == 2) {
		if (year > 53) {
			year = '19' + year;
			}
		else {
		year = '20' + year;
		}
	}
	
	if (year < 1753)
	{
		g_arrError[g_arrError.length] = 'Year values less than 1753 are not acceptable. Please revise the year entered for ' + FieldName + '.';
		return false;
	}
	if (month < 1 || month > 12) { // check month range
		g_arrError[g_arrError.length] = 'The month provided for ' + FieldName + ' must be between 1 and 12.';
		return false;
	}
	if (day < 1 || day > 31) {
		g_arrError[g_arrError.length] = 'The day provided for ' + FieldName + ' must be between 1 and 31.';
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		g_arrError[g_arrError.length] = 'The month provided in ' + FieldName + ' does not have 31 days.';
		return false;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			g_arrError[g_arrError.length] = 'February, ' + year + ' (' + FieldName + ') does not have ' + day + ' days.';
			return false;
		}
	}
	return true;  // date is valid
}

function ValidateCompareDates(strDate1, FieldName1, strDate2, FieldName2)
{
	var blnCompare;
	var dtDate1, dtDate2;
	var fromYear, toYear;
	
	dtDate1 = new Date(strDate1);
	dtDate2 = new Date(strDate2);
	
	fromYear = dtDate1.getFullYear();
	toYear = dtDate2.getFullYear();
	
	if (fromYear < 1950) {
		fromYear = fromYear + 100;
		}

	if (toYear < 1950) {
		toYear = toYear + 100;
		}
	
	if (fromYear > toYear) {	
		g_arrError[g_arrError.length] = 'Tthe date in ' + FieldName1 + ' needs to be less than the date in ' + FieldName2 + '. Please revise the dates entered.';
		return false;
		}
	if (fromYear == toYear) {
		if (Date.parse(dtDate1) > Date.parse(dtDate2)){
		g_arrError[g_arrError.length] = 'The date in ' + FieldName1 + ' needs to be less than the date in ' + FieldName2 + '. Please revise the dates entered.';
		return false;
			}
		}
						
	if (toYear > 1999) {
		if (fromYear > 1999){
			if (Date.parse(dtDate1) > Date.parse(dtDate2)){
		g_arrError[g_arrError.length] = 'The date in ' + FieldName1 + ' needs to be less than the date in ' + FieldName2 + '. Please revise the dates entered.';
		return false;
				}
			}	
		}	 
	
	return true;  // date is valid
}

function IsValidEmail(strEmail)
{
	var EmailOk  = true

	var AtSym    = strEmail.indexOf('@')
	var Period   = strEmail.lastIndexOf('.')
	var Space    = strEmail.indexOf(' ')
	var Length   = strEmail.length - 1   // Array is from 0 to length-1

	if ((AtSym < 1) ||                     // '@' cannot be in first position
	    (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
	    (Period == Length ) ||             // Must be atleast one valid char after '.'
	    (Space  != -1))                    // No empty spaces permitted
	   {  
	      EmailOk = false
	      
	   }
	return EmailOk
}

function ValidateEmail(strEmail, strErrMsg)
{
	if (!IsValidEmail(strEmail)) 
	{
		g_arrError[g_arrError.length] = strErrMsg;
	}
}

function IsValidGUID(objGUID)
{
	var blnValidGUID = true;
	var strGUID = objGUID.value;
	strGUID = strGUID.replace(/[-]+/g, '');
	var strGUIDCompare = strGUID;
	
	if (strGUIDCompare.length != 32)
	{
		return false;
	}
	strGUIDCompare = strGUIDCompare.replace( /[A-Fa-f]+/g, '');
	strGUIDCompare = strGUIDCompare.replace( /\d+/g, '');
	if (strGUIDCompare.length > 0)
	{
		return false;
	}
	strGUIDCompare = strGUID.substr(0,8) + '-' + strGUID.substr(8,4) + '-' + strGUID.substr(12,4) + '-' + strGUID.substr(16,4) + '-' + strGUID.substr(20,12);
	objGUID.value = strGUIDCompare;
	return true;
}

function ValidateConfirmation(objGUID, strErrMsg)
{
	if (!IsValidGUID(objGUID)) 
	{
		g_arrError[g_arrError.length] = strErrMsg;
	}
}

function IsValidPassword(strPassword)
{
	var blnValidPassword  = true;
	blnValidPassword = (strPassword.match( /[A-Za-z]+/ ) != null);
	blnValidPassword = blnValidPassword && (strPassword.match( /\d+/ ) != null);

	return blnValidPassword;
}

function ValidatePassword(strPassword, strErrMsg)
{
	if (!IsValidPassword(strPassword)) 
	{
		g_arrError[g_arrError.length] = strErrMsg;
	}
}

function ValidateComparison(varOne, varTwo, errMsg)
{
	
	if (varOne != varTwo)
	{
		g_arrError[g_arrError.length] = errMsg;
	}
}

//NA for North America-specific
function IsValidPhone_NA(objField)
{	
	var txtvalue = new String( objField.value );
	txtvalue = txtvalue + ' '
	var blnValidPhone;
	blnValidPhone = (txtvalue.match( /^\d{3}[-. ]?\d{3}[-. ]?\d{4}[\s].*$/ ) != null); 
	blnValidPhone = (txtvalue.match( /^(\(\d{3}\))[-. ]?\d{3}[-. ]?\d{4}[\s].*$/  ) != null) || blnValidPhone;
	
	//return true if no entry
	if (objField.value.length == 0) {
		return true;
	}
	return blnValidPhone;
}

//NA for North America-specific
function ValidatePhone_NA( objField )
{
	
	var blnValidPhone = IsValidPhone_NA( objField );
	if (isWhitespace(objField.value)) { 
        return true; 
	}
	if ( blnValidPhone != true )
	{
		g_arrError[g_arrError.length] = 'Values entered in the ' + objField.name + ' field must be in one of the following formats:\n   ###-###-####\n   ##########\n   ###-####### ' ;
	}
	return blnValidPhone;
}

function IsValidRange(varValue, varRange1, varRange2)
{
	if ((varValue < varRange1) || (varValue > varRange2))
	{
		return false;
	}
	return true;
}

function ValidateRange(varValue, varRange1, varRange2, errMsg)
{
	if ((varValue < varRange1) || (varValue > varRange2))
	{
		g_arrError[g_arrError.length] = errMsg;
		return false;
	}
	return true;
}

function ValidatePasswords(objPassword1, objPassword2)
{
	if ( objPassword1.value == objPassword2.value)
	{
		if (ValidateRange(objPassword1.value.length, 6, 20, 'Password must be a minimum of 6 alphabetic and numeric characters.'))
		{
			ValidatePassword(objPassword1.value, 'User passwords must consist of alphabetic and numeric characters.');
		}
	} else {
		g_arrError[g_arrError.length] = 'Both Passwords must match.';
	}
}

function ValidateSummary()
{
	var strErrMsg, i
	var blSuccess = true
	
	if (g_arrError.length > 0)
		{
			blSuccess = false;
			strErrMsg = 'The following ';
			if (g_arrError.length > 1)
				{
					strErrMsg = strErrMsg  + ' error(s) occurred: \n\n';
				} else {
					strErrMsg = strErrMsg  + ' error occurred: \n\n';
				}
			for (i = 0; i < g_arrError.length; i++)
				{
					strErrMsg = strErrMsg + (i + 1) + '. ' +  g_arrError[i] + '\n';
				}
			
			strErrMsg = strErrMsg + '\n\nPlease correct these error(s) and try again.';
			alert(strErrMsg);

		}
	
	g_arrError = new Array();
	
	return blSuccess
}

function ValidateRequiredRadioButton(c, strErrMsg) {
	var bolCheckedFound;
	var i;
	
	bolCheckedFound = false;

	if (c.length == null) {
		if (c.checked) {
			bolCheckedFound = true;
		}
	} else {
		for (i = 0; i < c.length; i++) {
			if (c[i].checked) {
				bolCheckedFound = true;
			
				break;
			}
		}
	}

	if (bolCheckedFound == false) {
		g_arrError[g_arrError.length] = strErrMsg;
	}
}
-->