/// class PD.Web.UI.Controls.GridMessageModule
/// using PD.Web.UI.Controls.GridModule

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

    //===================================
    // EVENT HANDLERS
    //===================================

    _onDataBound: function () {
        this.get_grid().clearMessage();
        this._noRecordsCheck();
    },

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

    get_configuration: function () {
        return this.get_grid().get_configuration();
    },

    //===================================
    // PUBLIC METHODS
    //===================================

    start: function () {
        this.get_kendo().bind(
            "dataBound",
            $.proxy(this._onDataBound, this));
    },

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

    _noRecordsCheck: function () {

        var recordCount = this.get_dataSource().get_instance().data().length,
            message = this.get_grid().getOption("messaging.noRecordsMessage");

        message = message || "No records found";

        this.get_grid().clearMessage();

        if (recordCount === 0) {
            this.get_grid().addMessage(message);
        };

    }

});