(function ($) {
    $.fn.jsonButton = function (options) {
        var defaults = {
            url: "",
            createRequest: function () { },
            processResponse: function (response) { },
            error: function (XMLHttpRequest, textStatus, errorThrown) { alert('Der er sket en fejl. Kontakt os på support@loeberute.dk hvis du fortsat oplever problemer'); }
        };
        var options = $.extend(defaults, options);

        return this.each(function () {
            $(this).click(function () {

                request = options.createRequest();
                alert(options.url);
                $.ajax({
                    type: "POST",
                    url: options.url,
                    data: JSON.stringify(request),
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    success: function (reponse) {
                        options.processResponse(reponse);
                    },
                    error: function (response) {
                        options.error(response);
                    }

                });
                return false;
            });
        });
    };
})(jQuery);
