function checkPersonal(f) // IN form  OUT bool
{
  var s = '';

  if ( f.MemberSalutation.selectedIndex < 1 )
  {
    alert('Please select a salutation.');
    f.MemberSalutation.focus();
    return false;
  }

  s = f.MemberFullName.value;
  if ( s.length < 1 )
  {
    alert('Please enter your full name.');
    f.MemberFullName.focus();
    return false;
  }
  if ( !isText(s) || s.length > 50 )
  {
    alert('Please enter a valid name.');
    f.MemberFullName.focus();
    return false;
  }

  s = f.MemberDesignation.value;
  if ( s.length < 1 )
  {
    alert('Please enter your designation (professional title).');
    f.MemberDesignation.focus();
    return false;
  }
  if ( s.length > 50 )
  {
    alert('Please enter a valid designation.');
    f.MemberDesignation.focus();
    return false;
  }

  var s = f.MemberMobileCC.value;
  if ( !isNumber(s) || s.length > 4 )
  {
    alert('Please enter a valid country code (1-4 digits).');
    f.MemberMobileCC.focus();
    return false;
  }

  var s = f.MemberMobileNN.value;
  if ( !isNumber(s) || s.length > 10 )
  {
    alert('Please enter a valid mobile phone number (4-10 digits).');
    f.MemberMobileNN.focus();
    return false;
  }

  s = f.MemberEMail.value;
  if (s.length < 1)
  {
    alert('Please enter your email address.');
    f.MemberEMail.focus();
    return false;
  }
  if ( !isEMail(s) || s.length > 50 )
  {
    alert('Please enter a valid email address.');
    f.MemberEMail.focus();
    return false;
  }

  return true;
}

function checkAll(f) // IN form  OUT bool
{
  var s = '';

  s = f.CompanyName.value;
  if ( s.length < 1 )
  {
    alert('Please enter your company\'s name.');
    f.CompanyName.focus();
    return false;
  }
  if ( s.length > 50 || !isText(s) )
  {
    alert('Please enter a valid company name.');
    f.CompanyName.focus();
    return false;
  }

  s = f.CompanyAddress.value;
  if ( s.length < 1 )
  {
    alert('Please enter your company\'s address.');
    f.CompanyAddress.focus();
    return false;
  }
  if ( s.length > 250 )
  {
    alert('Please enter a valid address.');
    f.CompanyAddress.focus();
    return false;
  }

  s = f.CompanyPostCode.value;
  var s1 = f.CompanyCountry.options(f.CompanyCountry.selectedIndex).value;
  if ( s1 != 'HK' && s1 != 'SG' && s.length < 1 )
  {
    alert('Please enter a postcode.');
    f.CompanyPostCode.focus();
    return false;
  }
  if ( s.length > 10 )
  {
    alert('Please enter a valid postcode.');
    f.CompanyPostCode.focus();
    return false;
  }

  s = f.CompanyCity.value;
  if ( s.length < 1 )
  {
    alert('Please enter a city.');
    f.CompanyCity.focus();
    return false;
  }
  if ( s.length > 50 )
  {
    alert('Please enter a valid city name.');
    f.CompanyCity.focus();
    return false;
  }

  if ( f.CompanyCountry.selectedIndex < 1 )
  {
    alert('Please select a country.');
    f.CompanyCountry.focus();
    return false;
  }

  s = f.CompanyPhoneCC.value;
  if ( s.length < 1 )
  {
    alert('Please enter a country code (1-4 digits).');
    f.CompanyPhoneCC.focus();
    return false;
  }
  else if ( !isNumber(s) || s.length > 4 )
  {
    alert('Please enter a valid country code (1-4 digits).');
    f.CompanyPhoneCC.focus();
    return false;
  }

  s = f.CompanyPhoneAC.value;
  var s1 = f.CompanyCountry.options(f.CompanyCountry.selectedIndex).value;
  if ( s1 != 'SG' && s1 != 'HK' && s.length < 1 )
  {
    alert('Please enter an area code (1-4 digits).');
    f.CompanyPhoneAC.focus();
    return false;
  }
  else if ( !isNumber(s) || s.length > 4 )
  {
    alert('Please enter a valid area code (1-4 digits).');
    f.CompanyPhoneAC.focus();
    return false;
  }

  s = f.CompanyPhoneNN.value;
  if ( s.length < 1 )
  {
    alert('Please enter a phone number (4-10 digits).');
    f.CompanyPhoneNN.focus();
    return false;
  }
  else if ( !isNumber(s) || s.length < 4 || s.length > 10 )
  {
    alert('Please enter a valid phone number (4-10 digits).');
    f.CompanyPhoneNN.focus();
    return false;
  }

  s = f.CompanyFaxCC.value;
  if ( !isNumber(s) || s.length > 4 )
  {
    alert('Please enter a valid country code (1-4 digits).');
    f.CompanyFaxCC.focus();
    return false;
  }

  s = f.CompanyFaxAC.value;
  var s1 = f.CompanyCountry.options(f.CompanyCountry.selectedIndex).value;
  if ( s1 != 'SG' && s1 != 'HK' && ( !isNumber(s) || s.length > 4 ) )
  {
    alert('Please enter a valid area code (1-4 digits).');
    f.CompanyFaxAC.focus();
    return false;
  }

  s = f.CompanyFaxNN.value;
  if ( !isNumber(s) || s.length > 10 || ( s.length > 0 && s.length < 4 ) )
  {
    alert('Please enter a valid fax number (4-10 digits).');
    f.CompanyFaxNN.focus();
    return false;
  }

  s = f.CompanyBROther.value;
  var i = 1;
  var j = parseInt(f.CompanyBR0.value,10);
  var b = true;
  while ( b && i < j )
  {
    if ( (i & j) && (eval('f.CompanyBR' + i + '.checked')) )
      b = false;
    i *= 2;
  }
  if ( b &&  s.length < 1 )
  {
    alert('Please select or enter your business relationship with Lumut Port.');
    f.CompanyBROther.focus();
    return false;
  }
  else if ( s.length > 50 )
  {
    alert('Please enter a valid business relationship.');
    f.CompanyBROther.focus();
    return false;
  }

  if ( !checkPersonal(f) ) {
    return false;
  }

  s = f.MemberUsername.value;
  if ( s.length < 1)
  {
    alert('Please select a username for accessing this site.');
    f.MemberUsername.focus();
    return false;
  }
  else if ( !isUsername(s) )
  {
    alert('Please enter a valid username.');
    f.MemberUsername.focus();
    return false;
  }

  s = f.MemberPassword.value;
  if ( s.length < 1)
  {
    alert('Please enter a password.');
    f.MemberPasswordVerify.value = '';
    f.MemberPassword.value = '';
    f.MemberPassword.focus();
    return false;
  }
  else if ( !isUsername(s) )
  {
    alert('Please enter a valid password.');
    f.MemberPasswordVerify.value = '';
    f.MemberPassword.value = '';
    f.MemberPassword.focus();
    return false;
  }
  else if ( s != f.MemberPasswordVerify.value )
  {
    alert('Password verification failed.');
    f.MemberPasswordVerify.value = '';
    f.MemberPassword.value = '';
    f.MemberPassword.focus();
    return false;
  }

  return true;
}

