| Uhrzeit | Sendung | Beschreibung |
var tablinks = Array.prototype.slice.call(document.getElementsByClassName("tablinks")); var tabs = Array.prototype.slice.call(document.getElementsByClassName("api_lfm_schedule")); var tabcontent = Array.prototype.slice.call(document.getElementsByClassName("tabcontent")); function openDAY(day) { var i; for (i = 0; i < tabcontent.length; i++) { tabcontent[i].className = tabcontent[i].className.replace("active", ""); } for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace("active", ""); } tabcontent[day].className += "active"; tablinks[day].className += "active"; } tablinks.forEach(function (tablink, day) { tablink.addEventListener('click', function() { openDAY(day) }) }) jQuery(document).ready(function($) { $(document).ready(function() { var updateData = function(){ var nextUpdate = 3600000 - new Date().getTime() % 3600000; timeout = setTimeout(updateData, nextUpdate); $.ajax({ type: "GET", url: "https://api.laut.fm/station/80er-90er/schedule", dataType: "json", timeout: 10000, }).done(function(schedule) { var get_day = (new Date().getDay() || 7) - 1; openDAY(get_day) if (schedule[0].end_time === null) { document.getElementsByClassName('lfm_schedule')[0].style.display = 'inline'; document.getElementById('lfm_schedule').innerHTML = '
'; } else { document.getElementsByClassName('lfm_schedule')[0].style.display = 'inline'; var no_entry = '
'; var days = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']; var days_buffer = {mon: [], tue: [], wed: [], thu: [], fri: [], sat: [], sun: []}; var groupLength = schedule.length; Array.prototype.slice.call(schedule).forEach(function(schedule_entry, index) { var start_time = schedule_entry.hour; if (start_time < 10) { start_time = '0' + start_time } var end_time = schedule_entry.end_time; if (end_time < 10) { end_time = '0' + end_time } start_time = start_time + ':00'; end_time = end_time + ':00'; if(index + 1 === groupLength) { var entryindex = "theend"; } else { var entryindex = (index + 1); } if (schedule_entry.day === days[get_day] && schedule_entry.hour <= new Date().getHours()) { if (entryindex === "theend" || schedule[entryindex].day === days[get_day] && schedule[entryindex].hour > new Date().getHours() || schedule[entryindex].day != days[get_day]) { days_buffer[schedule_entry.day].push('
| ON AIR ' + start_time + ' Uhr |
![]() |
' + schedule_entry.name + ' | ' + schedule_entry.description + ' |
'); } else { days_buffer[schedule_entry.day].push('
| ' + start_time + ' Uhr | ![]() |
' + schedule_entry.name + ' | ' + schedule_entry.description + ' |
'); } } else { days_buffer[schedule_entry.day].push('
| ' + start_time + ' Uhr | ![]() |
' + schedule_entry.name + ' | ' + schedule_entry.description + ' |
'); } });
Array.prototype.slice.call(tabs).forEach(function(tab, index) { if (days_buffer[days[index]].length >= 1) { tab.innerHTML = days_buffer[days[index]].join(''); } else { tab.innerHTML = no_entry; } }); } }).fail(function(xhr, status, error) { $('.lfm_schedule').html("Fehler beim laden der laut.fm - API"); console.warn('Warning (API): Schedule reports: ' + xhr.status + ' ' + error); }); } timeout = setTimeout(updateData); }); });
