var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/// <reference path="proxy/AdProxy.ts" />
/// <reference path="../util/DomHelper.ts" />
/// <reference path="Widget.ts" />
/// <reference path="recengine.d.ts" />
/// <reference path="Widget.ts" />
var econda;
(function (econda) {
    var recengine;
    (function (recengine) {
        /**
         * Class to render recommendations to be used in offsite ads.
         * @class econda.recengine.AdWidget
         * @extends econda.recengine.Widget
         */
        var AdWidget = (function (_super) {
            __extends(AdWidget, _super);
            function AdWidget(cfg) {
                if (cfg === void 0) { cfg = null; }
                _super.call(this);
                this.setType('ac');
                this.setDefaultContextEnabled(false);
                this.initConfig(cfg);
                this.setProxy(new econda.recengine.proxy.AdProxy());
            }
            AdWidget.renderAdWidgetsFromConfigArray = function (configs) {
                for (var i = 0; i < configs.length; i++) {
                    var w = new AdWidget(configs[i]);
                    w.render();
                }
            };
            return AdWidget;
        }(recengine.Widget));
        recengine.AdWidget = AdWidget;
        /// render widgets already defined in ecAdWidgets array
        var initEcAdWidgets = function () {
            if (typeof ecAdWidgets != 'undefined') {
                AdWidget.renderAdWidgetsFromConfigArray(ecAdWidgets);
            }
        };
        econda.util.DomHelper.isDocumentReady()
            ? initEcAdWidgets()
            : econda.util.DomHelper.documentReady(initEcAdWidgets);
    })(recengine = econda.recengine || (econda.recengine = {}));
})(econda || (econda = {}));