
WebClientDataView = _aspxCreateClass(WebClientControl, {
    constructor: function(name) {
        this.constructor.prototype.constructor.call(this, name);

        this.allowMultipleCallbacks = false;
    },    
    
    GetPageIndexInputElement: function(){
        return _aspxGetElementById(this.name + "PI");
    },
    GetContentCell: function(){
        return this.GetChild("_CCell");
    }, 
    GetItemsCell: function(){
        return this.GetChild("_ICell");
    },
    DoPagerClick: function(value) {
        var inputElement = this.GetPageIndexInputElement();
        if(inputElement != null)
            this.CreateCallback(inputElement.value + __aspxCallbackSeparator + value, "PAGERCLICK");
    },
    CustomCallback: function(args) {
        if(!_aspxIsExists(this.callBack)) {
            if(this.isInitialized)
                this.SendPostBack(args);
            return;
        }
        this.CreateCallback(args, "CUSTOMCALLBACK");
    },
    OnCallback: function(result) {
        var inputElement = this.GetPageIndexInputElement();
        if(inputElement != null) 
            inputElement.value = result.index;
        var element = this.GetContentCell();
        if(element != null) 
            element.innerHTML = result.html;
    },
    DoBeginCallback: function(command){
        this.CreateLoadingPanelWithAbsolutePosition(this.GetItemsCell());
        WebClientControl.prototype.DoBeginCallback.call(this, command);
    },
    PerformCallback: function(parameter) {
        this.CustomCallback(parameter);
    }
});

function aspxDVPagerClick(name, value) {
    var dv = aspxGetControlCollection().Get(name);
    if(dv != null) dv.DoPagerClick(value);
}