/// class ProspectDirector.Web.UI.Controls.ToolBarItem

/// using ProspectDirector.Web.UI.Controls.Control

/**
@class ToolBarItem
@namespace Web.UI.Controls
@constructor
**/
ProspectDirector.Web.UI.Controls.ToolBarItem = ProspectDirector.Web.UI.Controls.Control.extend({

    //===================================
    // CONSTRUCTOR
    //===================================

    init: function (options) {

        this._super($.extend({
            type: "button",
            text: "",
            command: null,
            disabled: false
        }, options));

        this.setDomNode("<li><a href=\"#\">" + this.get_text() + "</a></li>");

        if (this.get_command() !== undefined && this.get_command() !== null) {
            if ($.isFunction(this.get_command().execute)) {
                this.get_domNode().on("click", $.proxy(this.get_command().execute, this.get_command()));
            }
        }

    },

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

    get_command: function () {
        return this.get_options().command;
    },

    get_disabled: function () {
        return this.get_options().disabled;
    },

    get_text: function () {
        return this.get_options().text;
    },

    set_text: function (value) {
        this.get_options().text = value;
    },

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

    render: function (content) {

        if (this.get_disabled()) {
            this.get_domNode().attr("disabled", "");
        }
        else {
            this.get_domNode().removeAttr("disabled");
        }

        return this._super(content);

    }

});