1$(document).ready(function () { 2 3 /********************************************************** 4 ** Rotate navbar icon on mobile 5 /**********************************************************/ 6 $('.navbar-toggler').click(function () { 7 $(this).toggleClass('change'); 8 $('html , body').toggleClass('overflow-hidden'); 9 $('.mask-body').toggle(); 10 }); 11 12 $('.circle-plus').on('click', function () { 13 $(this).toggleClass('opened'); 14 }); 15 16 $('.circle-plus').removeClass('opened'); 17 18 /********************************************************** 19 ** Live Data for Live Radio 20 /**********************************************************/ 21 function liveMetadataOnairNow() { 22 23 var _timer21 = ''; 24 var timeWait = 60000; 25 26 $.ajax({ 27 url: '//www.rtp.pt/play/livechannelonair.php?channel=1&howmanynext=1&howmanybefore=0&channeltype=radio', 28 dataType: "json", 29 error: function (data) { console.log('error ajax', data) }, 30 success: function (data) { 31 32 var EPGcontentNow = data.raw.result[0].onair[0]['EPG']; 33 var EPGcontentNext = data.raw.result[0].onair[-1]; 34 35 var tituloNow = EPGcontentNow['TITULO']; 36 var duracaoNow = EPGcontentNow['duracao']; 37 var paraAcabarNow = EPGcontentNow['timeToEnd']; 38 var imagemNow = EPGcontentNow['IMAGE_ONAIR'].replace('img0.rtp.pt/EPG/imgth/phpThumb.php?src=', 'cdn-images.rtp.pt'); 39 var animadorNow = EPGcontentNow['COMENT1']; 40 var dataIniNow = EPGcontentNow['realDateTime'].split(' ')[1].substr(0, 5); 41 var dataFimNow = EPGcontentNow['realEndDateTime'].split(' ')[1].substr(0, 5); 42 43 paraAcabarNow = paraAcabarNow.split(':'); 44 totalParaAcabar = parseInt(paraAcabarNow[0]) * 60 + parseInt(paraAcabarNow[1]); 45 duracaoNow = duracaoNow.split(':'); 46 totalDuracaoNow = parseInt(duracaoNow[0]) * 60 + parseInt(duracaoNow[1]); 47 percentagemDecorrida = parseInt((totalDuracaoNow - totalParaAcabar) * 100 / totalDuracaoNow); 48 49 var tituloNext = EPGcontentNext['TITULO']; 50 var aniamdorNext = EPGcontentNext['COMENT1']; 51 var dataIniNext = EPGcontentNext['realDateTime'].split(' ')[1].substr(0, 5); 52 var dataFimNext = EPGcontentNext['realEndDateTime'].split(' ')[1].substr(0, 5); 53 54 $('#liveTitulo').html(tituloNow); 55 $('#animador').html(animadorNow); 56 $('#livehorafim').html(dataFimNow); 57 $('#liveImagem').css('background-image', 'url(' + imagemNow + ')'); 58 $('.time-gone').attr('offset', percentagemDecorrida + '%'); 59 60 $('#nextTitulo').html(tituloNext); 61 $('#nextAnimador').html(aniamdorNext); 62 $('#nexthorainicio').html(dataIniNext); 63 $('#nexthorafim').html(dataFimNext); 64 65 // clearTimeout(_timer21); 66 // _timer21 = setTimeout ( "liveMetadataOnairNow()", timeWait ); 67 68 } 69 }); 70 } 71 liveMetadataOnairNow(); 72 setInterval(liveMetadataOnairNow, 30000); 73 74 /********************************************************** 75 ** Search input 76 /**********************************************************/ 77 78 $('.search-icon').click(function () { 79 event.preventDefault(); 80 $('.search-input').animate({ width: "toggle" }); 81 $('.search-control').focus(); 82 }); 83 84 $('.close-btn').click(function () { 85 event.preventDefault(); 86 $('.search-input').animate({ width: "toggle" }); 87 }); 88 89 $('.clean-search').click(function () { 90 $('.search-control-page').val(''); 91 $('.search-control-page').focus(); 92 }); 93 94 /********************************************************** 95 ** Show carousel nav only on hover 96 /**********************************************************/ 97 98 if ($(window).width() > 992) { 99 100 $('.owl-carousel').mouseenter(function () { 101 $(this).find('.owl-nav:not(.disabled)').show(); 102 }); 103 104 $('.owl-carousel').mouseleave(function () { 105 $(this).find('.owl-nav:not(.disabled)').hide(); 106 }); 107 108 } 109 110});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.