var full = false; function parse_phone(phone) { const digits = phone.replace(/\D/g, ''); if (digits.startsWith('00')) { parsedNumber = parseInt(digits); } else if (digits.startsWith('0')) { parsedNumber = parseInt(`0049${digits.slice(1)}`); } else { parsedNumber = parseInt(`00${digits}`); } return parsedNumber; } function get_free_places() { $.ajax({ url: '/api/v1/stats/registrations', type: 'GET', dataType: "json", success: function (data) { if (data['free'] <= 0) { $('.register .btn').prop('disabled', true); $('.register .field-btn').css('cursor', 'no-drop'); full = true; $('#register .btn').text('Ausgebucht. Versuch es später noch mal!'); Swal.fire({ title: 'Leider sind schon alle Plätze belegt :(', text: 'Schau einfach später noch mal vorbei...', icon: 'warning', }); } else { $('#register .btn').text('Anmelden (noch _FREE_ Plätze frei)'.replace('_FREE_', data['free'])); $('.register .field-btn').css('cursor', 'auto'); } } }); } function register() { $('.register .btn').prop('disabled', true); $.ajax({ url: '/api/v1/registration', type: 'POST', data: JSON.stringify({ address: $('#address').val(), age: $('#age').val(), city: $('#city').val(), comment: $('#note').val(), email: $('#mail').val(), firstname: $('#firstname').val(), food: $('#food').val(), lastname: $('#lastname').val(), newsletter: $('#newsletter').prop('checked'), notice: $('#reason').val(), phone: parse_phone($('#phone').val()), picture: $('#picture').prop('checked'), tshirt: 'x' //$('#tshirt').val(), }), contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { Swal.fire({ title: 'Vielen Dank für deine Anmeldung!', text: 'Alles Weitere erhältst du in Kürze via Mail', icon: 'success', willClose: function () { location.replace('/') } }); }, error: function (data) { Swal.fire({ title: 'Ups, da ist wohl etwas schief gelaufen', text: data.responseJSON.detail, icon: 'error' }); $('.register .btn').prop('disabled', false); $('.register .field-btn').css('cursor', 'auto'); } }); } //$(document).on("click", ".tshirt-info", function (event) { // Swal.fire({ // title: 'Warum gibt es nur Männergrößen?', // text: 'In den letzten Jahren kam es bei unserem Lieferanten leider immer wieder zu Problemen mit den Frauengrößen. So waren die Farben oft nicht einheitlich oder die bestellte Menge konnte nicht geliefert werden. Da ohnehin viele Teilnehmerinnen aufgrund des Schnitts oft Männergrößen bestellt haben, haben wir uns dazu entschlossen, ausschließlich diese anzubieten. Wir bitten um Verständnis :)', // icon: 'question' // }); //}); $(document).on("keyup", '#reason', function () { if ($('.register .btn').prop('disabled')) { if ($('#reason').val() === 'SecretStaff') { $('.register .btn').prop('disabled', false); $('.register .field-btn').css('cursor', 'auto'); } else { $('.register .btn').prop('disabled', true); $('.register .field-btn').css('cursor', 'no-drop'); } } }); $(document).on("click", '.agb label', function () { if ($(this).parent().find('input').prop('checked')) { $(this).parent().find('input').prop('checked', false); } else { $(this).parent().find('input').prop('checked', true); } }); $(document).on("submit", '.register', function () { if ($('#picture').prop('checked') == false) { Swal.fire({ showCancelButton: true, confirmButtonColor: '#d33', confirmButtonText: 'Trotzdem anmelden!', cancelButtonColor: '#3085d6', cancelButtonText: 'Entscheidung ändern', title: 'Es ist dein gutes Recht...', text: 'dass du nicht möchtest, dass wir Foto- und Video-Aufnahmen auf denen du zu sehen bist veröffentlichen. Allerdings bedeutet dies einen erheblichen Mehraufwand für uns, auf den wir gerne verzichten würden.', type: 'warning' }).then((result) => { if (result.value) { register(); } }); } else { register(); } return false }); $(function () { get_free_places(); });