/// class ProspectDirector.Web.UI.Behavior

/**
The base class for all behaviors. A behavior is typically a completely encapsulated response to some event that may be applied to a target object. It must be possible to add or remove a behavior without impacting other behaviors applied to a target object.
@class Behavior
@namespace Web.UI
@constructor
@param options {Object}
**/
ProspectDirector.Web.UI.Behavior = Class.extend({

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

    _options: null,

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

    init: function (options) {
        this._options = $.extend(this._options, options);
    },

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

    /**
    @property get_options
    @type {Object}
    **/
    get_options: function () {
        return this._options;
    },

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

    /**
    @public
    @method apply
    **/
    apply: function () {
        //must override
    },

    /**
    @public
    @method remove
    **/
    remove: function () {
        //must override
    }

});