function checkTesting(aForm)
{
    // Disable the summit button
    aForm.submit.disabled = true;

    // define global vars.
    var nonoChars = "*|,\":<>[]{}`\';()&$#%";
    var iNonoLength = nonoChars.length;
    var i = 0;
    var iLength = 0;
    var iCode = 0;

    // check for valid company
    if (aForm.client_code.value == "")
    {
				alert("The Company field can not be empty, please try again.");
        aForm.client_code.focus();
        aForm.submit.disabled = false;
        return false;
    }

    var spaceChar = aForm.client_code.value.lastIndexOf(" ");
    if (spaceChar >= 0)
    {
				alert("The Company field can NOT have a space, please try again.");
        aForm.client_code.focus();
        aForm.submit.disabled = false;
        return false;
    }

    iLength = aForm.client_code.value.length;
    if (iLength > 16)
    {
        alert("The Company field is too long, please try again.");
        aForm.client_code.focus();
        aForm.submit.disabled = false;
        return false;
    }

    // Check for nono chars
		for (i=0; i < iNonoLength; i++)
		{
			if (aForm.client_code.value.indexOf(nonoChars.charAt(i)) >= 0 )
			{
				alert("Invalid Company. \nYou are using an invalid character, such as quote, double-qoute, back-slash, etc.");
				aForm.client_code.focus();
				aForm.submit.disabled = false;
				return false;
			}
		}

    // Test ID
    if (aForm.customer_id.value == "")
    {
        alert("The Test ID field can not be empty, please try again.");
        aForm.customer_id.focus();
        aForm.submit.disabled = false;
        return false;
    }

    // check for valid test-id
    var lastDash = aForm.customer_id.value.lastIndexOf("-");
    if (lastDash == -1)
    {
        alert("Invalid Test ID.  \nIt is usually the job position name follow by a dash and a number. \nExample: JobPosition-0123");
        aForm.customer_id.focus();
        aForm.submit.disabled = false;
        return false;
    }

    var testID = aForm.customer_id.value.substr(lastDash);
    if (isNaN(parseInt(testID)))
    {
        alert("Invalid Test ID.  \nIt is usually the job position name follow by a dash and a number. \nExample: JobPosition-0123");
        aForm.customer_id.focus();
        aForm.submit.disabled = false;
        return false;
    }

    spaceChar = aForm.customer_id.value.lastIndexOf(" ");
    if (spaceChar >= 0)
    {
				alert("The Test ID field can NOT have a space, please try again.");
        aForm.customer_id.focus();
        aForm.submit.disabled = false;
        return false;
    }

    iLength = aForm.customer_id.value.length;
    if (iLength > 24)
    {
        alert("The Test ID field is too long, please try again.");
        aForm.customer_id.focus();
        aForm.submit.disabled = false;
        return false;
    }

    // Check for nono chars
		for (i=0; i < iNonoLength; i++)
		{
			if (aForm.customer_id.value.indexOf(nonoChars.charAt(i)) >= 0 )
			{
				alert("Invalid Test ID. \nYou are using an invalid character, such as quote, double-qoute, back-slash, etc.");
				aForm.customer_id.focus();
				aForm.submit.disabled = false;
				return false;
			}
		}

    // User/Candidate name
    if (aForm.candidate_name.value == "")
    {
        alert("Please enter your name.");
        aForm.candidate_name.focus();
        aForm.submit.disabled = false;
        return false;
    }

    iLength = aForm.candidate_name.value.length;
    if (iLength > 60)
    {
        alert("The Name field is too long, please try again.");
        aForm.candidate_name.focus();
        aForm.submit.disabled = false;
        return false;
    }

    // Check for nono chars
		for (i=0; i < iNonoLength; i++)
		{
			if (aForm.candidate_name.value.indexOf(nonoChars.charAt(i)) >= 0 )
			{
				alert("Invalid Name. \nYou are using an invalid character, such as quote, double-qoute, back-slash, etc.");
				aForm.candidate_name.focus();
				aForm.submit.disabled = false;
				return false;
			}
		}

    // Email
    if (aForm.email.value == "")
    {
        alert("Please enter your email.");
        aForm.email.focus();
        aForm.submit.disabled = false;
        return false;
    }

    if (aForm.email.value.indexOf("@") < 0)
    {
        alert("Invalid Email, please try again.");
        aForm.email.focus();
        aForm.submit.disabled = false;
        return false;
    }

    iLength = aForm.email.value.length;
    if (iLength > 40)
    {
        alert("The Email field is too long, please try again.");
        aForm.email.focus();
        aForm.submit.disabled = false;
        return false;
    }

    var spaceChar = aForm.email.value.lastIndexOf(" ");
    if (spaceChar >= 0)
    {
				alert("The Email field can NOT have a space, please try again.");
        aForm.email.focus();
        aForm.submit.disabled = false;
        return false;
    }

    // Check for nono chars
		for (i=0; i < iNonoLength; i++)
		{
			if (aForm.email.value.indexOf(nonoChars.charAt(i)) >= 0 )
			{
				alert("Invalid Email. \nYou are using an invalid character, such as quote, double-qoute, back-slash, etc.");
				aForm.email.focus();
				aForm.submit.disabled = false;
				return false;
			}
		}

    // Phone number
    if (aForm.phone.value == "")
    {
        alert("Please enter your phone.");
        aForm.phone.focus();
        aForm.submit.disabled = false;
        return false;
    }

    iLength = aForm.phone.value.length;
    if (iLength > 24)
    {
        alert("The Phone field is too long, please try again.");
        aForm.phone.focus();
        aForm.submit.disabled = false;
        return false;
    }

    iLength = aForm.phone.value.length;
    if (iLength < 6)
    {
        alert("Invalid Phone number, please try again.");
        aForm.phone.focus();
        aForm.submit.disabled = false;
        return false;
    }

		for (i=0; i < iNonoLength; i++)
		{
      iCode = aForm.phone.value.charCodeAt(i);
			if (iCode > 58)
			{
				alert("Invalid Phone number, please try again.");
				aForm.phone.focus();
				aForm.submit.disabled = false;
				return false;
			}
		}

    // Check for nono chars
    var nonoChars2 = "*|,\":<>[]{}`\';&$#%";
    var iNonoLength2 = nonoChars2.length;
		for (i=0; i < iNonoLength2; i++)
		{
			if (aForm.phone.value.indexOf(nonoChars2.charAt(i)) >= 0 )
			{
				alert("Invalid Phone. \nYou are using an invalid character, such as quote, double-qoute, back-slash, etc.");
				aForm.phone.focus();
				aForm.submit.disabled = false;
				return false;
			}
		}

    // check for agreement
    if (aForm.elements["agree_initial[]"].checked == false)
    {
        alert("You must check the:\nYes - I agreed.\nto the Terms of Use.");
        aForm.elements[5].focus();
        aForm.submit.disabled = false;
        return false;
    }

    return true;

} // end of checkChangePassword()

// Open the test in a seperate window and close this one
function openTest(url, bObject)
{
  bObject.disabled = true;
  myWin = window.open(url, 'TopDogTest',
         'toolbar=0,menubar=0,resizable=0,fullscreen=1,scrollbars=1,status=1');
  myWin.focus();

  return;
}  // end of openTest()