function checkForm(theForm) {
    var why = "";
    why += checkEmail(theForm.user_email.value);
    why += checkPassword(theForm.Password.value, theForm.PasswordAgain.value);
    why += checkUsername(theForm.user_login.value);
    if (why != "") {
       alert(why);
       return false;
    }
return true;
}

function checkUsername (strng) {
 var error = "";
 if (strng == "") {
    error = "Please enter a username.\n";
 }
 if ((strng.length < 4) || (strng.length > 15)) {
    error = "The username should be between 4 and 15 characters.\n";
 }
 return error;
}

function checkPassword (strng, strng2) {
var error = "";
if (strng == "") {
   error = "Please enter a password.\n";
}

    var illegalChars = /[\W_]/; // allow only letters and numbers
    
    if (strng != strng2) {
       error = "The two passwords do not match";
    }
    else if ((strng.length < 6) || (strng.length > 10)) {
       error = "The password should be between 6 and 10 characters \n";
    }
    else if (illegalChars.test(strng)) {
      error = "The password contains illegal characters.\n";
    } 

return error;    
}    
function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "Please enter an email address.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}