"use strict"; function TournamentOptions(data, api) { const tournamentOptions = [{ name: "Jugendliche U08", id: "U08", birth_year: 2017 }, { name: "Jugendliche U10", id: "U10", birth_year: 2015 }, { name: "Jugendliche U12", id: "U12", birth_year: 2013 }, { name: "Jugendliche U14", id: "U14", birth_year: 2011 }, { name: "Jugendliche U18", id: "U18", birth_year: 2007 }, { name: "Junioren U25", id: "U25", birth_year: 2000 }]; this.hide = function () { $('#tournamentOptions').hide(); $('#tournamentOptionsBody').hide(); } this.show = function () { api.getCountRegistered(function (success, oCount) { for (let oTournament of tournamentOptions) oTournament.count = oCount[oTournament.id] $('#tournamentOptionsBody').empty(); let player = data.getSelectedPlayerData(); let aTournaments = getTournamentOptionsFor(player); if (!aTournaments.length) return; for (let oTournament of aTournaments) tournamentTableAddRow(oTournament); $('#tournamentOptions').show(); $('#tournamentOptionsBody').show(); $('input[name="selectedTournament"]').off(); $('input[name="selectedTournament"]').on('change', checkIfSubmissionPossible); }) } this.getTournamentOptionsFor = function (player) { return getTournamentOptionsFor(player) } function getTournamentOptionsFor(player) { let aTournaments = [] for (let oTournament of tournamentOptions) { if (oTournament.birth_year <= player.birth_year) aTournaments.push(oTournament); } return aTournaments } function tournamentTableAddRow(tournament) { let tableRow = ` ${tournament.name} ${tournament.count} Jahrgang ab ${tournament.birth_year} ` $('#tournamentOptionsBody').append(tableRow); } function checkIfSubmissionPossible() { $('#register').hide(); let isChecked = false; $('input[name="selectedTournament"]').each(function () { if ($(this).prop('checked')) isChecked = true; }); if (isChecked) { $('#register').show(); scrollToBottom() } } }