function reload_app() { $.get(window.location.href, {ajax: 1}, function(data) { $('div.app > ul').html(data); dbf_reg_handlers(); setTimeout(reload_app, 60000); }).fail(function() { setTimeout(reload_app, 10000); }); } function dbf_reg_handlers() { $('div.app > ul > li').click(function() { var trainElem = $(this); var routeprev = trainElem.data('routeprev').split('|'); var routenext = trainElem.data('routenext').split('|'); $('.moreinfo').each(function() { var infoElem = $(this); $('.moreinfo .train-line').removeClass('bahn sbahn fern ext').addClass(trainElem.data('linetype')); $('.moreinfo .train-line').text(trainElem.data('line')); $('.moreinfo .train-no').text(trainElem.data('no')); $('.moreinfo .train-origin').text(trainElem.data('from')); $('.moreinfo .train-dest').text(trainElem.data('to')); $('.moreinfo .minfo').text(''); $('.moreinfo .mfooter').html('
Lade Daten, bitte warten...
'); $('.moreinfo .verbose').html(''); $('.moreinfo .mroute').html(''); $('.moreinfo ul').html(''); if (trainElem.data('platform').length > 0) { $('.moreinfo .mfooter').append('
Gleis ' + trainElem.data('platform') + '
') } var timebuf = ''; if (trainElem.data('arrival').length > 0) { timebuf += 'Ankunft: ' + trainElem.data('arrival') + '
'; } if (trainElem.data('departure').length > 0) { timebuf += 'Abfahrt: ' + trainElem.data('departure'); } $('.moreinfo .mfooter').append('
' + timebuf + '
'); if (trainElem.data('routeprev').length > 0) { var routebuf = ''; for (var key in routeprev) { routebuf += '
  • ' + routeprev[key] + '
  • '; } $('.moreinfo .mfooter').append('Von: '); } if (trainElem.data('routenext').length > 0) { var routebuf = ''; for (var key in routenext) { routebuf += '
  • ' + routenext[key] + '
  • '; } $('.moreinfo .mfooter').append('Nach: '); } $.get(window.location.href, {train: trainElem.data('train'), ajax: 1}, function(data) { $('.moreinfo').html(data); }).fail(function() { $('.moreinfo .mfooter').append('Der Zug ist abgefahren (Zug nicht gefunden)'); }); infoElem.removeClass('collapsed-moreinfo'); infoElem.addClass('expanded-moreinfo'); }); }); } $(function() { if (document.location.hash.length > 1) { var wanted = document.location.hash.replace('#', ''); $('div.app > ul > li > .moreinfo, div.infoscreen > ul > li > .moreinfo').each(function() { if ($(this).data('train') == wanted) { $(this).removeClass('collapsed-moreinfo'); $(this).addClass('expanded-moreinfo'); } }); } $('.moresettings-header').each(function() { $(this).click(function() { var moresettings = $('.moresettings'); if ($(this).hasClass('moresettings-header-collapsed')) { $(this).removeClass('moresettings-header-collapsed'); $(this).addClass('moresettings-header-expanded'); moresettings.removeClass('moresettings-collapsed'); moresettings.addClass('moresettings-expanded'); } else { $(this).removeClass('moresettings-header-expanded'); $(this).addClass('moresettings-header-collapsed'); moresettings.removeClass('moresettings-expanded'); moresettings.addClass('moresettings-collapsed'); } }); }); $('.developers-header').each(function() { $(this).click(function() { var developers = $('.developers'); if ($(this).hasClass('developers-header-collapsed')) { $(this).removeClass('developers-header-collapsed'); $(this).addClass('developers-header-expanded'); developers.removeClass('developers-collapsed'); developers.addClass('developers-expanded'); } else { $(this).removeClass('developers-header-expanded'); $(this).addClass('developers-header-collapsed'); developers.removeClass('developers-expanded'); developers.addClass('developers-collapsed'); } }); }); $('.moreinfo').click(function() { $(this).removeClass('expanded-moreinfo'); $(this).addClass('collapsed-moreinfo'); }); dbf_reg_handlers(); if ($('.content .app').length) { setTimeout(reload_app, 30000); } });