function validateApplication(form) 
{
  //alert('Checking form...');
  var errorMsg = '';
  
  // Test that all the required fields are filled out ok

  	
  if (form.username.value == "" )
  {
	errorMsg += 'A username is required\n';
	form.username.focus();
  }
	

  if (form.password.value == "" )
  {
    errorMsg += 'A password is required\n';
	form.password.focus();
  }
  else
  {
  	if (form.password.value.length < 6 )
	{
    	errorMsg += 'You password should be between 6 and 20 characters long\n';
		form.password.focus();
		form.password.select();
    }
	if (form.password.value.length > 20 )
	{
    	errorMsg += 'You password should be between 6 and 20 characters long\n';
		form.password.focus();
		form.password.select();
	}
  }
	 	
		
  if (form.forename.value == "" )
  {
    errorMsg += 'Your Forename is required\n';
	form.forename.focus();
  }
	
	  	
  if (form.surname.value == "" )
  {
    errorMsg += 'Your Surname is required\n';
	form.surname.focus();
  }

  if (form.email.value == "" )
  {
    errorMsg += 'An Email Address is required\n';
	form.email.focus();
  }
  else
  {
	x = form.email.value.indexOf('@');
	y = form.email.value.indexOf('.');

    if (x < 1 || x == (form.email.value.length-1) || y < 1 ) 
	{
	  errorMsg += 'Please enter a valid Email Address.\n';
	  form.email.focus();
	  form.email.select();
	}
	  
    s = form.email.value.indexOf(' ');
    if (s != -1)
	{
	  errorMsg += 'Please check your Email Address. It should not contain spaces\n';
	  form.email.focus();
	  form.email.select();
	}
  }
  
  if ( ! form.termsconditions.checked )
  	errorMsg += 'Please indicate that you agree to our Terms & Conditions\n';

   if (errorMsg) 
	alert('Required form fields:\n'+errorMsg);
  document.returnValue = (errorMsg == '');
}
