/// class PD.Web.UI.Controls.GridFooterModule

PD.Web.UI.Controls.GridFooterModule =
PD.Web.UI.Controls.GridModule.extend({

    //===================================
    // FIELDS
    //===================================

    _widgetArea: null,

    //===================================
    // PROPERTIES
    //===================================

    get_footer: function () {
        return this.get_kendo().element.find(".k-grid-pager");
    },

    //===================================
    // PROTECTED METHODS
    //===================================

    start: function () {
        this._initFooter();
        this._initWidgetArea();
        this.addGridMethod("addFooterWidget", $.proxy(this._addWidget, this));
    },

    ready: function () {
        this._widgetArea.autoAdjustDockSizes();
    },

    //===================================
    // PRIVATE METHODS
    //===================================

    _initFooter: function () {

        var isFooterVisible = this.getOption("footer.visible", true);

        this.get_footer().empty();
        this.get_footer().css({
            height: isFooterVisible ? 32 : 0,
            position: "relative",
            padding: "0",
            display: isFooterVisible ? "" : "none"
        });

    },

    _initWidgetArea: function () {
        this._widgetArea = new PD.Web.UI.Controls.GridWidgetArea({
            insertAt: ".k-grid-pager"
        });
        this.get_grid().get_children().add(this._widgetArea);
    },

    _addWidget: function (widget) {
        this._widgetArea.addWidget(widget);
    }

});