function validate_SignUpForm(frm) {
  var value = '';
  var errFlag = new Array();
  _qfMsg = '';

  value = frm.elements['FirstName'].value;
  if (value == '' && !errFlag['FirstName']) {
    errFlag['FirstName'] = true;
    _qfMsg = _qfMsg + '\n - First Name is required.';
  }

  value = frm.elements['FirstName'].value;
  var regex = /^[a-zA-Z\s]+$/;
  if (value != '' && !regex.test(value) && !errFlag['FirstName']) {
    errFlag['FirstName'] = true;
    _qfMsg = _qfMsg + '\n - First Name can contain letters only.';
  }

  value = frm.elements['FirstName'].value;
  if (value != '' && value.length > 255 && !errFlag['FirstName']) {
    errFlag['FirstName'] = true;
    _qfMsg = _qfMsg + '\n - First Name can have no more than 255 characters.';
  }

  value = frm.elements['EmailAddress'].value;
  if (value == '' && !errFlag['EmailAddress']) {
    errFlag['EmailAddress'] = true;
    _qfMsg = _qfMsg + '\n - Email is required.';
  }

  value = frm.elements['EmailAddress'].value;
  var regex = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
  if (value != '' && !regex.test(value) && !errFlag['EmailAddress']) {
    errFlag['EmailAddress'] = true;
    _qfMsg = _qfMsg + '\n - Enter valid email.';
  }

  value = frm.elements['EmailAddress'].value;
  if (value != '' && value.length > 255 && !errFlag['EmailAddress']) {
    errFlag['EmailAddress'] = true;
    _qfMsg = _qfMsg + '\n - Email address can have no more than 255 characters.';
  }

  value = frm.elements['ZipCode'].value;
  if (value == '' && !errFlag['ZipCode']) {
    errFlag['ZipCode'] = true;
    _qfMsg = _qfMsg + '\n - Zip Code/Postal Code is required.';
  }

  value = frm.elements['ZipCode'].value;
  if (value != '' && value.length > 20 && !errFlag['ZipCode']) {
    errFlag['ZipCode'] = true;
    _qfMsg = _qfMsg + '\n - Zip Code can have no more than 20 characters.';
  }

  value = frm.elements['HomePhone'].value;
  if (value == '' && !errFlag['HomePhone']) {
    errFlag['HomePhone'] = true;
    _qfMsg = _qfMsg + '\n - Home Phone is required.';
  }

  value = frm.elements['HomePhone'].value;
  if (value != '' && value.length > 20 && !errFlag['HomePhone']) {
    errFlag['HomePhone'] = true;
    _qfMsg = _qfMsg + '\n - Best Phone can have no more than 20 characters.';
  }

  if (_qfMsg != '') {
    _qfMsg = 'Invalid information entered.' + _qfMsg;
    _qfMsg = _qfMsg + '\nPlease correct these fields.';
    alert(_qfMsg);
    return false;
  }
  return true;
}

