﻿

(function ($) {
    $.widget("nmk.coronainfo", {
        options: {
            checkitem: {},
            identifier: "",
            mainperson: null,
            session: "",
            id: 0,
            item: null,
            user: function (user) { },
            loginCallback: function () { },
            slideUpCallback: function (newitem) { },
            show: false,
            daystoshow: 7,
            showbuttons: true,
            addabonnemang: null,
            order: null,
        },
        url: 'json/coronainfo.ashx',
        currentStatus: 0,
        refresh: function (options2) {
            if (options2)
                this.options = $.extend({}, options2);
            this._load();
        },
        _create: function () {
            this.randomnr = randomFromInterval(0, 99999);
            this._load();
        },
        _ajax: function (detta, item, callback) {
            if (item.title == undefined) {
                item.title = "";
            }
            item.session = detta.options.session;
            item.identifier = detta.options.identifier;
            console.log(item);
            if (item.title.length > 0)
                loadingBar(true, 1, "Vänta...", item.title + "...");
            $.ajax({
                url: detta.url,
                error: function (xhr, textStatus, errorThrown) {
                    if (item.title.length > 0)
                        loadingBar(false, 1);
                },
                cache: false,
                data: item,
                type: "POST"
            }).done(function (data) {
                var obj = $.parseJSON(data);
                if (item.title.length > 0)
                    loadingBar(false, 1);
                callback(obj);
                if (obj.checkitem) {
                    detta.options.user(obj.checkitem.medlem);
                }
                if (obj.resultat == false) {
                    informationMessage(obj.text, "warning");
                }
            });
        },
        _load: function () {
            this.element.empty();
            var detta = this;

            var item = new Object();
            item.command = "get"
            item.gruppid = detta.options.id;
            item.session = detta.options.session;
            detta.element.append($("<div/>").addClass('loader'));
            detta._ajax(detta, item, function (obj) {
                if (obj.resultat == false) {
                    informationMessage(obj.text, "warning");
                    return;
                }
                console.log("Corona:", obj);
                detta.element.empty();

                $("<button/>").html("Tillbaka".translate()).addClass("btn btn-warning").css({ marginBottom: '5px' }).appendTo(detta.element).click(function (e) {
                    e.preventDefault();
                    window.location.href = "default.html";
                });

                var titleDiv = $("<h2/>").addClass("tecknaTitle").append("VÄLJ ANLÄGGNING".translate()).appendTo(detta.element).hide();
                var mainDiv = $("<div/>").addClass("container-fluid").appendTo(detta.element);
                var divButtons = $("<div/>").appendTo(mainDiv).css({ marginBottom: '5px' });
                detta.divItems = $("<div/>").appendTo(detta.element);
                var buttons = [];
                if (obj.mainitems.length > 1) {
                    titleDiv.show();

                    for (var i = 0 ; i < obj.mainitems.length; i++) {
                        var button = $("<button/>").html(obj.mainitems[i].title).addClass("btn btn-default").css({ marginBottom: '5px' }).appendTo(divButtons).bind('click', { id: obj.mainitems[i].id }, function (e) {
                            e.preventDefault();
                            for (var i = 0; i < buttons.length; i++) {
                                buttons[i].removeClass("btn-primary").addClass("btn-default");
                            }
                            $(this).removeClass("btn-default").addClass("btn-primary");
                            funcClick(e.data.id);
                        });
                        buttons.push(button);
                        divButtons.append(" ");
                    }
                }

                detta.items = obj.items;

                detta.divItems.empty();

                var funcClick = function (id) {

                    detta.divItems.empty();

                    for (var i = 0 ; i < detta.items.length; i++) {
                        var anlaggning = detta.items[i];
                        if (anlaggning.id != id) {
                            continue;
                        }
                        var panelMain = $("<div/>").appendTo(detta.divItems);
                        $("<h2/>").addClass("tecknaTitle").append(anlaggning.title).appendTo(panelMain);

                        var divItems = $("<div/>").addClass("row").appendTo(panelMain);
                        for (var a = 0; a < anlaggning.items.length; a++) {

                            var tidItem = anlaggning.items[a];
                            var divValue = $("<div/>").css({ textAlign: 'center' });
                            var divTitle = $("<div/>").css({ textAlign: 'center' });
                            $("<h1/>").append(tidItem.value).appendTo(divValue)
                            $("<h1/>").append(tidItem.title).appendTo(divTitle)
                            $("<div/>").addClass("col-md-2").mypanel({ header: { text: divTitle }, content: { text: divValue }, footer: null }).appendTo(divItems);
                        }
                    }
                }

                if (obj.mainitems.length == 1) {
                    funcClick(obj.mainitems[0].id);
                }
               

            });
            

        },
        destroy: function () {
            this.element.empty();
            // Call the base destroy function.
            $.Widget.prototype.destroy.call(this);
        }
    });
})(jQuery);