
ASPxClientCallback = _aspxCreateClass(ASPxClientControl, {
    constructor: function(name) {
        this.constructor.prototype.constructor.call(this, name);
        this.CallbackComplete = new ASPxClientEvent();        
    },
    SendCallback: function(parameter) {        
        this.PerformCallback(parameter);
    },
    PerformCallback: function(parameter) {
        if(!_aspxIsExists(parameter)) parameter = "";
        this.CreateCallback(parameter);
    },
    OnCallback: function(result) {
        var args = new ASPxClientCallbackCompleteEventArgs(result.parameter, result.data);
        this.CallbackComplete.FireEvent(this, args);
    }
});
ASPxClientCallbackCompleteEventArgs = _aspxCreateClass(ASPxClientEventArgs, {
    constructor: function(parameter, result){
        this.constructor.prototype.constructor.call(this);
        this.parameter = parameter;
        this.result = result;
    }
});