function isValidEmail(sEmail) {
    var reEmail = /^(?:\w+\.?)*\w+@(?:\w+\.)(?:\w+\.?)*\w+$/;
    
    return reEmail.test(sEmail);
}

/* validateReferralForm() - validate the text entered in the referral form
 *
 * fields are named RX_COLNAME, where X is the number of the referral (and 0
 * in the case of the single referral form), and COLNAME matches the column
 * name in the REFERRALS table.
 *
 * For each referral, if data for any of the required fields is entered (first
 * name, last name, phone number), then we compain if any of the others
 * aren't. We ignore everything else. e.g. if someone enters an address but no
 * first name, we don't complain and we ignore the address.
 */

function validateReferralForm(iNumReferrals) {
    var errorText = "";
    var bHaveSomething = false;
    var aReferrals = [ "first", "second", "third", "fourth", "fifth" ];

    // for (i = 0; i < aReferrals.length; i++) {
    for (i = 0; i < iNumReferrals; i++) {
        // since we're going to use these more than once...
        var sFname = "R" + i + "_FNAME";
        var sLname = "R" + i + "_LNAME";
        var sPhone = "R" + i + "_PHONE";
        var sEmail = "R" + i + "_EMAIL";

        if ($F(sFname) || $F(sLname) || $F(sPhone || $F(sEmail))) {
  	    bHaveSomething = true;
            if (! $F(sFname)) {
                errorText += "Please enter a first name for the " + 
                             aReferrals[i] + " referral.\n";
            }
            if (! $F(sLname)) {
                errorText += "Please enter a last name for the " + 
                             aReferrals[i] + " referral.\n";
            }
            if (! $F(sPhone)) {
                errorText += "Please enter a phone number for the " + 
                             aReferrals[i] + " referral.\n";
            }
            if (($F(sEmail) && ! isValidEmail($F(sEmail))) || ! $F(sEmail)) {
                errorText += "Please enter a valid email address for the " +
                             aReferrals[i] + " referral.\n";
            }
        }
    }

    if (! isValidEmail($F("REFERRER_EMAIL"))) {
        errorText += "Please enter a valid email address for yourself\n";
    }
    if (! $F("REFERRER_FNAME")) {
        errorText += "Please enter your first name.\n";
    }
    if (! $F("REFERRER_LNAME")) {
        errorText += "Pleaes enter your last name.\n";
    }
    if (! $F("REFERRER_PHONE")) {
        errorText += "Please enter your phone number.\n";
    }

    if (! bHaveSomething) {
        errorText = "Please enter the first name, last name, and phone " + 
	  "number for a referral.\n" + errorText;
    }

    if (errorText) {
        alert(errorText);
        return false;
    }
 
    return true;
}
