/// class ProspectDirector.Web.UI.FeatureSets.MacroEditorAssemblerDOM
/// using ProspectDirector.Web.UI.FeatureSets.EditorAssemblerBase

/**
@class MacroEditorAssemblerDOM
@namespace Web.UI.FeatureSets
@extends Web.UI.FeatureSets.EditorAssemblerBase
@constructor
**/
ProspectDirector.Web.UI.FeatureSets.MacroEditorAssemblerDOM = ProspectDirector.Web.UI.FeatureSets.EditorAssemblerBaseDOM.extend({

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

    getDimensions: function () {
        return {
            height: this.get_node().outerHeight(),
            width: this.get_node().outerWidth()
        };
    },

    render: function (data, content) {

        var $result = $("<div id=\"" + this.get_id() + "\" data-role=\"MacroEditorAssembler\" style=\"height:100%;width:100%;overflow:auto;\"></div>");

        if (content) {
            $result.append(content);
        }

        return $result[0].outerHTML;

    },

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

    _getPaddingY: function (container) {
        return parseFloat(container.css("paddingTop"))
            + parseFloat(container.css("paddingBottom"));
    },

    _getPaddingX: function (container) {
        return parseFloat(container.css("paddingRight"))
            + parseFloat(container.css("paddingLeft"));
    }

});