function checkForm(){

    var formname = 'appform';

    $('appform_hasJs').value = 1;

    var errorDetected = false;
    var alertcontainer = $('appform_alert');
    var errors = new Array();
    
    if(!checkRule($('appform_first_name'),"alnum|2|A|0|1|1|\\\'-")){
        errors.push("First name is required");
    }
    if(!checkRule($('appform_last_name'),"alnum|2|A|0|1|1|\\\'-")){
        errors.push("Last name is required");
    }
    if(!checkRule($('appform_email'),"email|2")){
        errors.push("Email is required");
    }
    if(checkRule($('appform_email'),"contain|@aol|@aim")){
        errors.push("AOL email not allowed");
    }
    if(!checkRule($('appform_securitycode'),"alnum|5|A|0|1|1|")){
        errors.push("Security code is required");
    }
    if(!$('appform_agreement').checked){
        errors.push("You must agree to the rules");
    }
    if(checkRule($('appform_securitycode'),"alnum|1|A|0|1|1|")){
    new Ajax.Request('/main/utils/securityimagecheck/codeid/' + $('appform_codeid').value + '/value/' + $('appform_securitycode').value,
        {
            method: 'get',
            asynchronous: false,
            onComplete: function(transport){
                var response = transport.responseText;
                if(transport.responseText != 1) errors.push("Security code is not correct");
            },
            onFailure: function(){ errors.push("Security code is not correct");}
        }
    );
    }
        
    if(errors.length > 0){
        alertcontainer.innerHTML = "Please correct the following fields:<br />";
        for(var i=0; i < errors.length; i++) alertcontainer.innerHTML += '<br />- ' + errors[i];
        alertcontainer.show();
        new Effect.Shake(alertcontainer);
        return false;
    } else return true;
}