PageSourceSearch

https://deutscheoperberlin.de/media/scripts/abopraemie.js

js deutscheoperberlin.de collected 2026-10-01 11:50:14 UTC 4,327 bytes, 144 lines download raw bytes

1$(document).ready(function () {
2
3    if (ENV.page === "abopraemie") {
4
5        function showErrorMessage() {
6            $('.form-error-message').show();
7        }
8
9        function hideErrorMessages() {
10            $('.form-error-message').hide();
11            $('input, select').removeClass('error');
12        }
13
14        function collectInputs() {
15            var inputsData = [];
16            var hasError = false;
17
18            $.each($('input[type="text"]'), function (index, item) {
19                if ($(item).prop('required')) {
20                    if ($(item).val() !== '') {
21                        inputsData[$(item).attr('name')] = $(item).val();
22                    } else {
23                        $(item).addClass('error');
24                        hasError = true;
25                    }
26                } else {
27                    inputsData[$(item).attr('name')] = $(item).val();
28                }
29            });
30
31            if ($('input[type="checkbox"]:checked').length === 0) {
32                $('input[type="checkbox"]').addClass('error');
33                hasError = true;
34            }
35
36            return hasError ? false : inputsData;
37        }
38
39        function collectSelects() {
40            var inputSelects = [];
41            var hasError = false;
42
43            $.each($('select'), function (index, item) {
44                if ($(item).hasClass('select-item-count')) {
45                    if ($(item).val() !== "0") {
46
47                        var x = $(item).attr('data-id');
48
49                        console.log(x);
50                        inputSelects[$(item).attr('data-id')] = $(item).val();
51                    }
52                } else {
53                    inputSelects[$(item).attr('name')] = $(item).val();
54                }
55            });
56
57            return hasError ? false : inputSelects;
58        }
59
60        function collectLocation() {
61            if (typeof $('input[name="selection"]:checked').val() != "undefined") {
62                return [{location: $('input[name="selection"]:checked').val()}];
63            } else {
64                $('input[name="selection"]').addClass('error');
65                return false;
66            }
67        }
68        function collectAgb() {
69            if (typeof $('input[name="agb"]:checked').val() != "undefined") {
70                return [{agb: $('input[name="agb"]:checked').val()}];
71            } else {
72                $('input[name="agb"]').addClass('error');
73                return false;
74            }
75        }
76        
77        
78
79        function collectFormData() {
80            var formData = [];
81            var inputsData = collectInputs();
82            var selectsData = collectSelects();
83            var location = collectLocation();
84            var agb = collectAgb();
85
86
87            if (inputsData === false || selectsData === false || location === false || agb === false ) {
88                return false;
89            } else {
90                formData = [];
91                formData = $.extend(formData, selectsData, inputsData, location[0], agb[0]);
92                return formData;
93            }
94        }
95
96        function sendOrder(bodyData, callback) {
97
98
99            var body = {
100                m: 'send_abopraemie_order'
101            };
102
103            $.extend(body, bodyData);
104
105            console.log(body);
106
107            CbUx.showLoader();
108            $.get(ENV.link_root + '/abopraemie.json', body, function () {
109                CbUx.hideLoader();
110                if (typeof callback === 'function') {
111                    callback();
112                }
113            });
114
115        }
116
117        function registerDrinksAndFoodForm() {
118
119            $('#order-button').on('click', function () {
120                hideErrorMessages();
121
122                var formData = collectFormData();
123
124                if (formData === false) {
125                    showErrorMessage();
126                } else {
127                    sendOrder(formData, function () {
128                        $('.order-form').hide();
129                        $('.order-done').fadeIn('333');
130                    });
131                }
132            });
133
134            $('#abort-button').on('click', function () {
135                CbUx.showLoader();
136                window.location.href = ENV.link_root + '/abopraemie';
137            });
138        }
139
140
141        registerDrinksAndFoodForm();
142    }
143
144});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.