function validate_form(frm_id)
{
  var frm = document.getElementById(frm_id);

  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 a required field';
  }

  value = frm.elements['Surname'].value;
  if (value == '' && !errFlag['Surname'])
  {
    errFlag['Surname'] = true;
    _qfMsg = _qfMsg + '\n - Surname is a required field';
  }

  value = frm.elements['PhoneNumber'].value;
  if (value == '' && !errFlag['PhoneNumber'])
  {
    errFlag['Surname'] = true;
    _qfMsg = _qfMsg + '\n - Phone Number is a required field';
  }

  value = frm.elements['Email'].value;
  if (value == '' && !errFlag['Email'])
  {
    errFlag['Email'] = true;
    _qfMsg = _qfMsg + '\n - E-mail is a required field';
  }

  value = frm.elements['Email'].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['Email'])
  {
    errFlag['Email'] = true;
    _qfMsg = _qfMsg + '\n - E-mail is invalid';
  }
  
  value = frm.elements['CountryCode'].value;
  if (value == '' && !errFlag['PhoneNumber'])
  {
    errFlag['Surname'] = true;
    _qfMsg = _qfMsg + '\n - Country Code is a required field';
  }

  if (_qfMsg != '')
  {
    _qfMsg = 'Invalid information entered.' + _qfMsg;
    _qfMsg = _qfMsg + '\nPlease correct these fields.';
    alert(_qfMsg);
    return false;
  }
  return true;
}

