/**
 * Defines a custom fieldset.
 * @ignore 
 * @markdown
<p>A custom fieldset is like a record that you can write to your user defined dimensions.</p>
<p>Example:</p>
    var fs = new econda.CustomFieldset({
    shortcut: "additionalCustomerFields",
    data: [
        "private",        // customer group
        "store"            // first contact was in a local store
    ]});

<p>Which data you can send depends on your configuration. All fields are
user defined. Pls. see econda monitor configuration for details.</p>

 * @class econda.CustomFieldset
 * @param cfg
 * @returns {econda.CustomFieldset}
 */
econda.CustomFieldset = function(cfg)
{
    var __p = {
        /**
         * @cfg {String} shortcut
         * Name to identify destination dimensions.
         */
        shortcut: null,
        
        /**
         * @cfg {Array} data
         * Data to write in custom dimensions
         */
        data: []
    };
    
    /**
     * Set name of dimension set as defined in monitor config
     * @method
     * @param {String} name
     */
    this.setShortcut = function(name)
    {
        __p["shortcut"] = name;
        return this;
    };
    
    /**
     * Get name of dimension set
     * @method
     * @return {String}
     */
    this.getShortcut = function()
    {
        return __p["shortcut"];
    };
    
    /**
     * Set data, must be an array
     * @method
     * @param {Array} arr
     */
    this.setData = function(arr)
    {
        __p["data"] = arr;
        return this;
    };
    
    /**
     * Get current data
     * @method
     * @return {Array}
     */
    this.getData = function()
    {
        return __p["data"];
    };
    
    // do setup and be happy
    return this.setup(cfg, __p);
};
econda.CustomFieldset.prototype = new econda.base.Object();