﻿

(function ($) {
    $.widget("nmk.betalmetod", {
        options: {
            identifier: "",
            session: "",
            id: 0,
            clickCallback: function (item) { },
            user: function (user) { },
        },
        url: 'json/member.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");
                //}
            });
        },
        item: null,
        _load: function () {
            this.element.empty();
            var detta = this;
            var item = new Object();
            item.command = "getbetalmetod"
            item.betalmetod = detta.options.id;
            var div = $("<div/>").appendTo(this.element).addClass('loader');

            detta._ajax(detta, item, function (obj) {
                console.log("BEATALMETOD", obj);
                div.hide();
                div.remove();
                detta.element.empty();

                if (obj.resultat) {
                    detta.item = obj.item;
                    switch (detta.item.betalmetod) {
                        case 2:
                            var divMessage = $("<div/>");
                            var rad = $("<div/>").addClass("row").css("padding", "5px").css("marginBottom","5px").appendTo(divMessage);
                            var col = $("<div/>").addClass("col-md-12").appendTo(rad);
                            col.html(obj.text);

                            rad = $("<div/>").addClass("row").css("padding", "5px").appendTo(divMessage);
                            col = $("<div/>").addClass("col-md-12").appendTo(rad);
                            var txtAGPersonnr = $("<input/>").appendTo(col).val(detta.item.personnr).myinput({ placeholder: "ÅÅMMDDXXXX", iconTitle: "Personnummer (ägare av bankkonto)".translate(), onlydigit: true, minlength: 10, maxlength: 10 });
                            rad = $("<div/>").addClass("row").css("padding", "5px").appendTo(divMessage);
                            col = $("<div/>").addClass("col-md-12").appendTo(rad);
                            var txtClearing = $("<input/>").appendTo(col).val(detta.item.clearing).myinput({ placeholder: "CLEARINGNUMMER".translate(), iconTitle: "Clearingnummer".translate(), onlydigit: true, minlength: 4, maxlength: 5 });

                            rad = $("<div/>").addClass("row").css("padding", "5px").appendTo(divMessage);
                            col = $("<div/>").addClass("col-md-12").appendTo(rad);
                            var txtKontonummer = $("<input/>").appendTo(col).val(detta.item.kontonummer).myinput({ placeholder: "KONTONUMMER".translate(), iconTitle: "Kontonummer".translate(), onlydigit: true });

                            var betDialog = new BootstrapDialog({
                                title: obj.title,
                                message: divMessage,
                                onshown: function () {
                                    //txtPinkod.focus();
                                },
                                buttons: [{
                                    id: '0',
                                    label: "Spara och skicka in".translate(),
                                    action: function (dialog) {
                                        var item = new Object();
                                        item.command = "editbetalmetod";
                                        item.betalmetod = detta.item.id;
                                        item.title = "Sparar betalmetod".translate();
                                        item.personnr = txtAGPersonnr.val();
                                        item.clearing = txtClearing.val();
                                        item.kontonr = txtKontonummer.val();
                                        detta._ajax(detta, item, function (obj) {
                                            if (obj.resultat) {
                                                dialog.close();
                                                informationMessage(obj.text, "success");
                                            } else {
                                                BootstrapDialog.alert(obj.text);
                                            }

                                        });
                                    }
                                }, {
                                    id: '1',
                                    label: "Stäng",
                                    action: function (dialog) {
                                        dialog.close();
                                    }
                                }]
                            });

                            betDialog.open();
                            break;

                    }

                } else {
                    BootstrapDialog.alert(obj.text);
                }



            });

        },
        destroy: function () {
            this.element.empty();
            // Call the base destroy function.
            $.Widget.prototype.destroy.call(this);
        }
    });
})(jQuery);