var siteScript = async function() { if (isLoggedIn()) { $('#card-notloggedin').hide(); var user = await dbGetData('users', localStorage.getItem('auth_user')); var today = getToday(); // Favorites var watched = []; for (var i = 1; i <= 5; i ++) { sailor_id = user['sailor' + i]; if (sailor_id != null) { watched.push(await dbGetData('sailors', sailor_id)); } } if (watched.length > 0) { var year = (new Date()).getFullYear(); $('#th-ranking').html('Rangliste ' + year); // TODO: get ranking tbody = ''; for (i in watched) { sailor = watched[i]; tbody += '' + sailor.name + ''; // TODO: check if ranking and output //tbody += 'nicht in der Rangliste'; tbody += 'Ranglisten werden aktuell noch nicht unterstützt'; tbody += ''; } $('#table-favorites').find('tbody').html(tbody); $('#p-favorites').hide(); $('#table-favorites').show(); } else { $('#table-favorites').hide(); $('#p-favorites').show(); } $('#card-favorites').show(); // Your next var planningsDB = await dbGetDataIndex('plannings', 'user', user.id); var minDate = getToday(); minDate.setDate(minDate.getDate() - 1); var maxDate = getToday(); maxDate.setDate(maxDate.getDate() + 28); var regattas = await dbGetRegattasRange(minDate, maxDate); var plannings = []; for (i = planningsDB.length - 1; i >= 0; i --) { var planning = planningsDB[i]; for (j in regattas) { var regatta = regattas[j]; if (regatta.id == planning.regatta) { planning.regatta = regatta; plannings.push(planning); } } } plannings.sort(function (a, b) { if (a.regatta.date < b.regatta.date) return -1; if (a.regatta.date > b.regatta.date) return 1; return 0; }); if (plannings.length > 0) { tbody = ''; for (i in plannings) { var planning = plannings[i]; var regatta = planning.regatta; var club = null; if (regatta['club'] != null) club = await dbGetData('clubs', regatta['club']); var dateFrom = regatta['dateFrom']; var dateTo = regatta['dateTo']; // TODO: get steuermann and crew var steuermann = 'noch unklar'; if (planning.steuermann !== null) { steuermann = (await dbGetData('sailors', planning.steuermann)).name; } var crew = []; if (planning.crew !== '') { crewIds = planning.crew.split(','); for (j in crewIds) { crew.push((await dbGetData('sailors', crewIds[j])).name); } } // output tbody += ''; tbody += '' + formatDate("j. M 'y", dateFrom) + '
' + formatDate("j. M 'y", dateTo) + '
'; var content = ''; if (club != null) { content = club['kurz']; if (club['website'] != '') { content = '' + content + ''; } } tbody += '' + content + '
' + (regatta['canceled'] == 1 ? '' : '') + regatta['name'] + (regatta['canceled'] == 1 ? '' : '') + ''; var buf = ''; if (regatta['info'] != '') { buf += 'Informationen'; } if ((regatta['meldung'] != '') && (dateTo >= today)) { buf += '
Meldung'; if ((planning != null) && (planning['gemeldet'] == "1")) { buf += ' (du hast gemeldet)'; } else if (regatta['meldungOffen'] == "0") { buf += ' (geschlossen)'; } else if (regatta['meldungSchluss'] != null) { early = false; if (regatta['meldungEarly'] != null) { ms = parseDate(regatta['meldungEarly']); if (ms >= today) { early = true; } } if (!early) ms = parseDate(regatta['meldungSchluss']); if (ms >= today) { diff = Math.round((ms - today) / 86400000); red = (diff < 7); if (diff <= 14) { txt = 'noch ' + diff + ' Tag' + (diff != 1 ? 'e' : ''); } else if (diff < 35) { diff = Math.floor(diff / 7); txt = 'noch ' + diff + ' Woche' + (diff != 1 ? 'n' : ''); } else { diff = Math.floor(diff / 30.5); txt = 'noch ' + diff + ' Monat' + (diff != 1 ? 'e' : ''); } buf += ' ' + (red ? '(' : '(') + txt + (early ? ' vergünstigt' : '') + (red ? ')' : ')') + ''; } else { buf += ' (Meldeschluss abgelaufen)'; } } } if (regatta['bericht'] != '') { buf += '
Bericht'; } if (regatta['oresults'] != '') { buf += '
off. Ergebnisse'; } tbody += '' + buf + ''; tbody += '' + parseFloat(regatta['rlf']).toFixed(2) + ''; tbody += '' + steuermann + '
' + crew.join('
') + ''; tbody += ''; } $('#table-yournext').find('tbody').html(tbody); $('#p-yournext').hide(); $('#table_yournext').show(); } else { $('#table-yournext').hide(); $('#p-yournext').show(); } $('#card-yournext').show(); } else { $('#card-favorites').hide(); $('#card-yournext').hide(); $('#card-notloggedin').show(); } // Next var minDate = getToday(); minDate.setDate(minDate.getDate() - 1); var maxDate = getToday(); maxDate.setDate(maxDate.getDate() + 14); var regattas = await dbGetRegattasRange(minDate, maxDate); if (regattas.length > 0) { tbody = ''; for (i in regattas) { var regatta = regattas[i]; var club = null; if (regatta['club'] != null) club = await dbGetData('clubs', regatta['club']); var plannings = await dbGetDataIndex('plannings', 'regatta', regatta['id']); var dateFrom = regatta['dateFrom']; var dateTo = regatta['dateTo']; // output tbody += ''; tbody += '' + formatDate("j. M 'y", dateFrom) + '
' + formatDate("j. M 'y", dateTo) + '
'; var content = ''; if (club != null) { content = club['kurz']; if (club['website'] != '') { content = '' + content + ''; } } tbody += '' + content + '
' + (regatta['canceled'] == 1 ? '' : '') + regatta['name'] + (regatta['canceled'] == 1 ? '' : '') + ''; var buf = ''; if (regatta['info'] != '') { buf += 'Informationen'; } if ((regatta['meldung'] != '') && (dateTo >= today)) { buf += '
Meldung'; var planning = null; if (isLoggedIn()) { for (id in plannings) { if (plannings[id]['user'] == USER_ID) { planning = plannings[id]; break; } } } if ((planning != null) && (planning['gemeldet'] == "1")) { buf += ' (du hast gemeldet)'; } else if (regatta['meldungOffen'] == "0") { buf += ' (geschlossen)'; } else if (regatta['meldungSchluss'] != null) { early = false; if (regatta['meldungEarly'] != null) { ms = parseDate(regatta['meldungEarly']); if (ms >= today) { early = true; } } if (!early) ms = parseDate(regatta['meldungSchluss']); if (ms >= today) { diff = Math.round((ms - today) / 86400000); red = (diff < 7); if (diff <= 14) { txt = 'noch ' + diff + ' Tag' + (diff != 1 ? 'e' : ''); } else if (diff < 35) { diff = Math.floor(diff / 7); txt = 'noch ' + diff + ' Woche' + (diff != 1 ? 'n' : ''); } else { diff = Math.floor(diff / 30.5); txt = 'noch ' + diff + ' Monat' + (diff != 1 ? 'e' : ''); } buf += ' ' + (red ? '(' : '(') + txt + (early ? ' vergünstigt' : '') + (red ? ')' : ')') + ''; } else { buf += ' (Meldeschluss abgelaufen)'; } } } if (regatta['bericht'] != '') { buf += '
Bericht'; } if (regatta['oresults'] != '') { buf += '
off. Ergebnisse'; } tbody += '' + buf + ''; tbody += '' + parseFloat(regatta['rlf']).toFixed(2) + ''; tbody += ''; } $('#table-next').find('tbody').html(tbody); $('#p-next').hide(); $('#table-next').show(); } else { $('#table-next').hide(); $('#p-next').show(); } // Last var minDate = getToday(); minDate.setDate(minDate.getDate() - 14); var maxDate = getToday(); maxDate.setDate(maxDate.getDate() - 1); var regattas = await dbGetRegattasRange(minDate, maxDate); var regattaResults = []; for (id in regattas) { var entry = regattas[id]; var results = await dbGetDataIndex('results', 'regatta', entry['id']); regattaResults[entry['id']] = (results.length > 0); } if (regattas.length > 0) { tbody = ''; for (i in regattas) { var regatta = regattas[i]; var club = null; if (regatta['club'] != null) club = await dbGetData('clubs', regatta['club']); var dateFrom = regatta['dateFrom']; var dateTo = regatta['dateTo']; // output tbody += ''; tbody += '' + formatDate("j. M 'y", dateFrom) + '
' + formatDate("j. M 'y", dateTo) + '
'; var content = ''; if (club != null) { content = club['kurz']; if (club['website'] != '') { content = '' + content + ''; } } tbody += '' + content + '
' + (regatta['canceled'] == 1 ? '' : '') + regatta['name'] + (regatta['canceled'] == 1 ? '' : '') + ''; var buf = ''; if (regatta['canceled'] == "1") { buf = ' Ausgefallen'; } else { if (regattaResults[regatta['id']]) { buf = ' Ergebnisse'; } else { buf = 'Nicht verfügbar'; } } tbody += '' + buf + ''; tbody += '' + parseFloat(regatta['rlf']).toFixed(2) + ''; tbody += ''; } $('#table-last').find('tbody').html(tbody); $('#p-last').hide(); $('#table-last').show(); } else { $('#table-last').hide(); $('#p-last').show(); } hideLoader(); }