/*jslint         browser : true, continue : true,
  devel  : true, indent  : 2,    maxerr   : 50,
  newcap : true, nomen   : true, plusplus : true,
  regexp : true, sloppy  : true, vars     : false,
  white  : true
*/

/*global $, app */

app.vendorNotifications = (function () {
    "use strict";
    //---------------- BEGIN MODULE SCOPE VARIABLES --------------
    var stateMap = {},
        configModule,
        initModule;
    //----------------- END MODULE SCOPE VARIABLES ---------------

    //------------------- BEGIN UTILITY METHODS ------------------

    //-------------------- END UTILITY METHODS -------------------

    //------------------- BEGIN EVENT HANDLERS -------------------

    //-------------------- END EVENT HANDLERS --------------------

    //------------------- BEGIN PUBLIC METHODS -------------------
    //CONFIGMODULE
    //
    configModule = function (context) {
        stateMap.context = context.context;
        if (stateMap.context.params.id) {
            stateMap.id = stateMap.context.params.id; //siteid
        }
    };

    //INITMODULE
    //
    initModule = function ($container) {
        if (typeof $container === "undefined") {
            $container = $("#app-shell-main-content");
        }
        $container.html(Handlebars.templates["app.vendorNotifications"]({}));

        //case 3513
        document.title = "Vendor notifications";

        //===================
        //Get notifications
        app.api.get("vendor-notifications/list/", function (res) {
            if (res.error) {
                $.gevent.publish("app-show-error", res.msg);
            } else {
                var $appList = $("#rf-list");

                $appList.append("<ul >");
                $.each(res, function (i, obj) {
                    var idColumn =
                        '<span class="rf-larger"><strong>' +
                        obj.id +
                        "</strong></span>";

                    $appList.append(
                        "<li class='mdc-list-item'><a href=\"#!/vendorNotifications/" +
                            obj.id +
                            '">' +
                            app.utilB.genListColumn(idColumn) +
                            "&nbsp;" +
                            app.utilB.genListColumn(
                                app.utilB.epochToLocalShortDateTime(
                                    obj.dtCreated
                                )
                            ) +
                            "</a></li>"
                    );
                });

                $appList.append("</ul>");
            }
        });
        //=========/licenses==============

        app.nav.contextClear(); ///ravLicense/122
    };

    //PUBLIC METHODS
    //
    return {
        configModule: configModule,
        initModule: initModule
    };
    //------------------- END PUBLIC METHODS ---------------------
})();
