function ajaxSubmit(e) {
        form = this;
        $("form#" + form.id + " > div#result").removeClass().empty().html('<img src="/public/images/loading.gif">');
        v = new Object();
        v['formId'] = form.id;
        $.each( form, function() {
            v[this.name] = this.value;
        });

        $.ajax({
            'type' : 'POST',
            'url'  : form.action,
            'data' : v,
            'dataType' : 'json',
            'success' : showRequestResult
         });
         return false;
}    
    
function showRequestResult(res) {
    var selector = "form#" + res.formId + " div#result";
    var formElementInputSelector    = "form#" + res.formId + " input";
    var formElementTextareaSelector = "form#" + res.formId + " textarea";
    if (!res.errorCode) {
        $(selector).empty().removeClass().addClass('ok').html(res.msg);
        switch (res.action) {
            case 'refresh' :
                setTimeout( "$.facebox.close(); location.reload()", 2000);
                break;
            case 'close' :
                setTimeout( "$.facebox.close()", 2000);
                break;
            case 'clear' :
                $(formElementInputSelector).attr('value', '');
                $(formElementTextareaSelector).attr('value', '');
                setTimeout( "$('" + selector + "').hide()", 2000);
                break;
            default:
                break;
        }
    } else {
        $(selector).removeClass().addClass('error').html(res.msg);
    }
}