function editPhoneNumber(fieldName,areacode,exchange,number,numberOfFields,requiredField) {
  
	//  editPhoneNumber parameters:
	//  1. Error message description for field
	//  2. Area code from form
	//  3. Exchange from form
	//  4. Number from form
	//  5. Number of fields to edit: 2 = exhange and number; 3 = area code, exhange, and number
	//  6. Required field: true; false

  areacode = trim(areacode);
  exchange = trim(exchange);
  number = trim(number);
	
  if (requiredField) {
    if ((areacode == '') && (exchange == '') && (number == '')) {
      passed = false;
      errorMessage = errorMessage + fieldName + ' phone number is required.' + CRLF;
    } else {
      //  At least one of them is not blank, so edit the ones in play.
      //  Could have factored out edits for exhange and number, but
      //  this way the error messages show up in the right order      
      if (numberOfFields == 2) {
        //  Area code is not included in number
				editNumericField(fieldName + ' phone exchange',exchange,3,true);
				editNumericField(fieldName + ' phone number',number,4,true);
			} else {
				editNumericField(fieldName + ' phone area code',areacode,3,true);
				editNumericField(fieldName + ' phone exchange',exchange,3,true);
				editNumericField(fieldName + ' phone number',number,4,true);
			}
		}
	} else {  //  It's not required			
    if (numberOfFields == 2) {
			editNumericField(fieldName + ' phone exchange',exchange,3,false);
			editNumericField(fieldName + ' phone number',number,4,false);
		} else {
			editNumericField(fieldName + ' phone area code',areacode,3,false);
			editNumericField(fieldName + ' phone exchange',exchange,3,false);
			editNumericField(fieldName + ' phone number',number,4,false);
		}
	}	

}



