1var globalStatus = "IDLE"; 2 3window.hiteEpiH3_h = 0; 4window.hiteTitH2_h = 0; 5 6window.player_playing = 0; 7 8window._dtt31_live_start_time = ""; 9window._dtt32_live_start_time = ""; 10window._dtt33_live_start_time = ""; 11window._dtt34_live_start_time = ""; 12window._dtt35_live_start_time = ""; 13window._dtt36_live_start_time = ""; 14 15window.radio_live_start_time = { 16 "radio1": "", 17 "radio2": "", 18 "radio3": "", 19 "radio4": "", 20 "radio5": "", 21 "pth": "" 22}; 23var currArr = []; 24$(document).ready(function() { 25 /* 26 * Headline news & Express new section 27 * Section will be updated every 5 minute 28 */ 29 function stripslashes(str) { 30 str = str.replace(/\\'/g, '\''); 31 str = str.replace(/\\"/g, '"'); 32 str = str.replace(/\\0/g, '\0'); 33 str = str.replace(/\\\\/g, '\\'); 34 return str; 35 } 36 var five_minus_action = setInterval(function() { 37 $.ajax({ 38 type: "GET", 39 url: window.base_url + '/main/get_expressnews/echo', 40 dataType: "json", 41 success: function(d) { 42 if (typeof d === 'object' && typeof d.item === 'object' && d.item.length > 0) { 43 var html = ""; 44 $.each(d.item, function(i, v) { 45 var tmpl = $('#template-express-news').html(); 46 var _title = stripslashes(v.title || ""); 47 var _link = v.link || ""; 48 var _time = v.livetime || ""; 49 if (_time !== "") { 50 var hour = new Date(_time).getHours(); 51 var minutes = new Date(_time).getMinutes(); 52 _time = 'HKT ' + (hour < 10 ? "0" + hour : hour) + ":" + (minutes < 10 ? "0" + minutes : minutes); 53 } 54 var _photo_gallery_display = 55 ( 56 typeof v.gallery === 'object' && typeof v.gallery.image === 'object' && 57 ( 58 (typeof v.gallery.image.small === 'string' && v.gallery.image.small !== "") || 59 (typeof v.gallery.image.medium === 'string' && v.gallery.image.medium !== "") || 60 (typeof v.gallery.image.large === 'string' && v.gallery.image.large !== "") 61 ) 62 ) ? 'style="display:inline-block"' : 'style="display:none"'; 63 64 var _video_display = 65 ( 66 typeof v.video === 'string' || typeof v.vcoversmall === 'string' || typeof v.vcovermedium === 'string' || typeof v.vcoverlarge === 'string' 67 ) ? 'style="display:inline-block"' : 'style="display:none"'; 68 69 tmpl = tmpl.replace(/##title##/g, _title) 70 .replace(/##link##/g, _link) 71 .replace(/##time##/g, _time) 72 .replace(/##photo_gallery_display##/g, _photo_gallery_display) 73 .replace(/##video_display##/g, _video_display); 74 75 if (i == 0) { 76 tmpl = tmpl.replace('catli', 'catli top'); 77 } else if (i % 2 > 0) { 78 tmpl = tmpl.replace('catli', 'catli grey'); 79 } 80 html += tmpl; 81 if ((i + 1) >= _express_news_limit) { return false; } 82 }); 83 $('.catUl.news .catli').remove(); 84 $(html).insertAfter('.catUl.news .newColBar'); 85 } 86 } 87 }); 88 }, 300000); 89 90 setTimeout(function() { 91 $("#hos_slides .hotGis h4").dotdotdot({ 92 watch: "window", 93 wrap: 'letter' 94 }); 95 }, 300); 96 97 /*--------------------------------Channel Button Slide--------------------------------*/ 98 99 var $win = $(window), 100 isTouch = !!('ontouchstart' in window), 101 clickEvent = isTouch ? 'click touch' : 'click', 102 scrollbarWidth = getScrollbarWidth(); 103 (function() { 104 var $carousel = $('#cycling_by_slides'), 105 $frame = $('.frame', $carousel), 106 $controls = $('div.controls', $carousel), 107 $scrollbar = $('div.scrollbar', $carousel); 108 $frame.mightySlider({ 109 speed: 300, 110 easing: 'easeOutExpo', 111 navigation: { 112 navigationType: 'centered', 113 activateOn: clickEvent 114 }, 115 scrolling: { 116 scrollBy: 1 117 }, 118 scrollBar: { 119 scrollBarSource: $scrollbar 120 }, 121 buttons: { 122 prev: $('.prev', $controls), 123 next: $('.next', $controls) 124 } 125 }); 126 var API = $frame.data().mightySlider; 127 $carousel.on(clickEvent, 'button[data-action]', function() { 128 var action = $(this).data('action'); 129 switch (action) { 130 case 'add': 131 API.add('<li>' + API.slides.length + '</li>'); 132 break; 133 case 'remove': 134 API.remove(-1); 135 break; 136 default: 137 API[action](); 138 } 139 }); 140 $frame.mightySlider('on', 'active', function() { 141 142 jwplayer("tvPlayer31").stop(); 143 jwplayer("tvPlayer32").stop(); 144 jwplayer("tvPlayer33").stop(); 145 jwplayer("tvPlayer34").stop(); 146 jwplayer("tvPlayer35").stop(); 147 // jwplayer("tvPlayer36").stop(); 148 window.pause(); 149 $(".playBtn").removeClass("pause"); 150 jwplayer("playerradio1").stop(); 151 jwplayer("playerradio2").stop(); 152 jwplayer("playerradio3").stop(); 153 jwplayer("playerradio4").stop(); 154 jwplayer("playerradio5").stop(); 155 jwplayer("playerradiocnrhk").stop(); 156 jwplayer("playerradiocmgrgb").stop(); 157 jwplayer("playerpth").stop(); 158 $(".playerwrap").addClass("close"); 159 $(".playerwrap" + $(".channelBtnWrap ul li.mSSlide.active").data("channel")).removeClass("close"); 160 $(".playerwrap" + $(".channelBtnWrap ul li.mSSlide.active").data("channel") + " .radShowPanel .radShowTit").trigger("update"); 161 if (window.player_playing > 0) { 162 var new_channel = $(".channelBtnWrap ul li.mSSlide.active").data("channel"); 163 if (new_channel == 31) { 164 jwplayer('tvPlayer31').play(); 165 } else if (new_channel == 32) { 166 jwplayer('tvPlayer32').play(); 167 } else if (new_channel == 32) { 168 jwplayer('tvPlayer33').play(); 169 }else if (new_channel == 32) { 170 jwplayer('tvPlayer34').play(); 171 }else if (new_channel == 32) { 172 jwplayer('tvPlayer35').play(); 173 }else if (new_channel == 32) { 174 // jwplayer('tvPlayer36').play(); 175 }else { 176 $('.playBtn[data-channel=' + new_channel + ']').click(); 177 } 178 179 } 180 }); 181 })(); 182 183 $(".chButtonContainer .chBx").click(function(){ 184 185 $(".chButtonContainer div").removeClass('active'); 186 $(this).addClass('active'); 187 window.pause(); 188 jwplayer("tvPlayer31").stop(); 189 jwplayer("tvPlayer32").stop(); 190 jwplayer("tvPlayer33").stop(); 191 jwplayer("tvPlayer34").stop(); 192 jwplayer("tvPlayer35").stop(); 193 // jwplayer("tvPlayer36").stop(); 194 $(".playBtn").removeClass("pause"); 195 jwplayer("playerradio1").stop(); 196 jwplayer("playerradio2").stop(); 197 jwplayer("playerradio3").stop(); 198 jwplayer("playerradio4").stop(); 199 jwplayer("playerradio5").stop(); 200 jwplayer("playerradiocnrhk").stop(); 201 jwplayer("playerradiocmgrgb").stop(); 202 jwplayer("playerpth").stop(); 203 $(".playerwrap").addClass("close"); 204 $(".playerwrap" + $(this).data("channel")).removeClass("close"); 205 $(".playerwrap" + $(this).data("channel") + " .radShowPanel .radShowTit").trigger("update"); 206 if (window.player_playing > 0) { 207 var new_channel = $(this).data("channel"); 208 if (new_channel == 31) { 209 jwplayer('tvPlayer31').play(); 210 } else if (new_channel == 32) { 211 jwplayer('tvPlayer32').play(); 212 } else if (new_channel == 33) { 213 jwplayer('tvPlayer33').play(); 214 } else if (new_channel == 34) { 215 jwplayer('tvPlayer34').play(); 216 } else if (new_channel == 35) { 217 jwplayer('tvPlayer35').play(); 218 } else if (new_channel == 36) { 219 // jwplayer('tvPlayer36').play(); 220 } else { 221 $('.playBtn[data-channel=' + new_channel + ']').click(); 222 } 223 224 } 225 226 if($(this).attr("id") == 'tvPlayer31_main' && window.loaded31 == false){ 227 setupPlayer(31); 228 window.loaded31 = true; 229 } 230 231 if($(this).attr("id") == 'tvPlayer32_main'){ 232 // Manual play only â never rely on updateFeed re-init 233 if (is32PlayerMounted()) { 234 try { window.resume(); } catch (e) {} 235 } else { 236 window._wantPlay32 = true; 237 setup32PlayerByStatus(); 238 } 239 } 240 }) 241 242 /*-----------------------------------Time Table Slide---------------------------------*/ 243 initialize(); 244 245 setInterval(function() { 246 updateFeed() 247 }, 60000); 248 249 // setInterval(function() { 250 // updateView() 251 // }, 10000); 252 253 /*-----------------------------------Hotspot Slide---------------------------------*/ 254 var $hoswin = $(window), 255 hosisTouch = !!('ontouchstart' in window), 256 hosclickEvent = hosisTouch ? 'tap touchstart' : 'click', 257 hosscrollbarWidth = hosgetScrollbarWidth(); 258 (function() { 259 var $hoscarousel = $('#hos_slides'), 260 $hosframe = $('.hosframe', $hoscarousel), 261 $hoscontrols = $('div.controls', $hoscarousel), 262 $hosscrollbar = $('div.scrollbar', $hoscarousel); 263 if ($hosframe.length > 0) { 264 $hosframe.mightySlider({ 265 speed: 300, 266 easing: 'easeOutExpo', 267 navigation: { 268 navigationType: 'centered', 269 activateOn: hosclickEvent 270 }, 271 buttons: { 272 prev: $('.hosprev', $hoscontrols), 273 next: $('.hosnext', $hoscontrols), 274 fullScreen: 1 275 } 276 }); 277 var hosAPI = $hosframe.data().mightySlider; 278 $hoscarousel.on(hosclickEvent, 'button[data-action]', function() { 279 var action = $(this).data('action'); 280 switch (action) { 281 case 'add': 282 hosAPI.add('<li>' + hosAPI.slides.length + '</li>'); 283 break; 284 case 'remove': 285 hosAPI.remove(-1); 286 break; 287 default: 288 hosAPI[action](); 289 } 290 }); 291 } 292 })(); 293 /*-----------------------------Responsive Font ----------------------------*/ 294 $('.tiWrap.en').flowtype({ 295 minimum: 1, 296 maximum: 1200, 297 minFont: 12, 298 maxFont: 40, 299 fontRatio: 8, 300 }); 301 $('.tiWrap.ch').flowtype({ 302 minimum: 1, 303 maximum: 1200, 304 minFont: 12, 305 maxFont: 34, 306 fontRatio: 3, 307 }); 308 /*-----------------------------Shape Clipping----------------------------*/ 309 $(function() { 310 var points = [ 311 [0, 0], 312 [57, 0], 313 [40, 100], 314 [0, 100] 315 ]; 316 $('#clipBlock').clipPath(points, { 317 isPercentage: true 318 }); 319 }); 320 /*-----------------------------Sort Search Button ----------------------------*/ 321 $('select.sortWrap').after('<ul class="sortUl' + (window.lang == "en" ? " eng" : "") + '"></ul>'); 322 $('select.sortWrap option').each(function() { 323 $('ul.sortUl').append('<li' + (window.lang == "en" ? ' class="cateEng"' : "") + '><div title="' + $(this).attr('fullText') + '" tabindex="0" class="sortCate' + (window.lang == "en" ? ' eng' : "") + '" href="javascript:void(0);" data-cateid="' + $(this).attr('data-id') + '" data-value="' + $(this).val() + '" alt="' + $(this).val() + '" title="' + $(this).val() + '"><h3>' + $(this).text() + '</h3></div></li>'); 324 }); 325 $('ul.sortUl li:eq(0)').addClass('active'); 326 $('ul.sortUl > li .sortCate').click(function() { 327 328 $('ul.sortUl > li').removeClass('active'); 329 $(this).parent().addClass('active'); 330 var e = $(this).parent().index(); 331 $('select.sortWrap option:eq(' + e + ')').prop('selected', true); 332 $('select.sortWrap').change(); 333 }); 334 335 $('ul.sortUl > li .sortCate').keypress(function(e) { 336 var key = e.which; 337 if(key == 13) // the enter key code 338 { 339 $('ul.sortUl > li').removeClass('active'); 340 $(this).parent().addClass('active'); 341 var e = $(this).parent().index(); 342 $('select.sortWrap option:eq(' + e + ')').prop('selected', true); 343 $('select.sortWrap').change(); 344 } 345 }); 346 347 $('select.sortWrap').on("change", function() { 348 var e = $('option:selected', this).index(); 349 $('ul.sortUl > li').removeClass('active'); 350 $('ul.sortUl > li:eq(' + e + ')').addClass('active'); 351 __LogClickEventAction("channel_page:home", "homepage_" + (window.lang == "en" ? "eng" : "chi"), "lang=" + window.lang + "§ion=category&categoryId=" + $('select.sortWrap option:selected').data("id")); 352 if ($(".cateSearch[data-cate='" + $('select.sortWrap option:selected').val() + "']").hasClass("active")) { 353 $(".cateSearch").removeClass("active"); 354 } else { 355 $(".cateSearch").removeClass("active"); 356 $(".cateSearch[data-cate='" + $('select.sortWrap option:selected').val() + "']").addClass("active"); 357 } 358 }); 359
360 //////////Alex Pop/////////// 361 $(".playerClose").click(function(e) { 362 window.player_playing = 0; 363 mainslider.resume(); 364 365 e.stopPropagation(); 366 jwplayer("tvPlayer31").stop(); 367 window.pause(); 368 jwplayer("tvPlayer32").stop(); 369 jwplayer("tvPlayer33").stop(); 370 jwplayer("tvPlayer34").stop(); 371 jwplayer("tvPlayer35").stop(); 372 // jwplayer("tvPlayer36").stop(); 373 $(".playBtn").removeClass("pause"); 374 jwplayer("playerradio1").stop(); 375 jwplayer("playerradio2").stop(); 376 jwplayer("playerradio3").stop(); 377 jwplayer("playerradio4").stop(); 378 jwplayer("playerradio5").stop(); 379 380 jwplayer("playerradiocnrhk").stop(); 381 jwplayer("playerradiocmgrgb").stop(); 382 jwplayer("playerpth").stop(); 383 $(".playerwrap").addClass("close"); 384 $(".callPlayer").removeClass("opened"); 385 $("#player_pop_up").removeClass("opened"); 386 }); 387 //////////End od Alex Pop/////////// 388 var $glance = $('.glance_masonry').masonry({ 389 itemSelector: '.item', 390 percentPosition: true, 391 gutter: 20 392 }); 393 $glance.imagesLoaded().progress(function() { 394 $glance.masonry('layout'); 395 }); 396 $(".playBtn").click(function() { 397 if (!$(this).hasClass("pause")) { 398 jwplayer("player" + $(this).data("channel")).play(); 399 $(".playBtn").addClass("pause"); 400 } else { 401 jwplayer("player" + $(this).data("channel")).pause(); 402 window.player_playing = 0; 403 $(".playBtn").removeClass("pause"); 404 } 405 }); 406 407 $.each(["31", "32"], function(i, v) { 408 409 $("#scroll" + v).scrollbox(); 410 $("#scroll" + v).imagesLoaded(function(e) { 411 $(e.elements[0]).scrollbox('update'); 412 }); 413 $(window).on('resize', function() { 414 $("#scroll" + v).scrollbox('update'); 415 }); 416 }); 417 418 $(document).on('tap touchstart click touch', '.cateSearchContainer .relBar', function() { 419 $(this).parent().removeClass('active') 420 }) 421 422}); 423 424var windowState = 'large'; 425 426function getScrollbarWidth() { 427 var outer = document.createElement("div"); 428 outer.style.visibility = "hidden"; 429 outer.style.width = "100px"; 430 document.body.appendChild(outer); 431 var widthNoScroll = outer.offsetWidth; 432 // force scrollbars 433 outer.style.overflow = "scroll"; 434 // add innerdiv 435 var inner = document.createElement("div"); 436 inner.style.width = "100%"; 437 outer.appendChild(inner); 438 var widthWithScroll = inner.offsetWidth; 439 // remove divs 440 outer.parentNode.removeChild(outer); 441 return widthNoScroll - widthWithScroll; 442} 443 444function hosgetScrollbarWidth() { 445 var outer = document.createElement("div"); 446 outer.style.visibility = "hidden"; 447 outer.style.width = "100px"; 448 document.body.appendChild(outer); 449 var widthNoScroll = outer.offsetWidth; 450 // force scrollbars 451 outer.style.overflow = "scroll"; 452 // add innerdiv 453 var inner = document.createElement("div"); 454 inner.style.width = "100%"; 455 outer.appendChild(inner); 456 var widthWithScroll = inner.offsetWidth; 457 // remove divs 458 outer.parentNode.removeChild(outer); 459 return widthNoScroll - widthWithScroll; 460} 461 462function initialize() { 463 var tmp = ""; 464 $('select.sortWrap option').each(function() { 465 tmp += '<div class="cateSearch" data-cate="' + $(this).val() + '"><div class="relBar"><p>' + $(this).val() + '</p><p class="relDate">' + $(".cateSearchContainer").attr("date") + '</p></div></div>'; 466 }); 467// $(".cateSearchContainer").html(tmp); 468 469 $(document).ready(function() { 470 var initd = setInterval(function(){ 471 if(typeof currentTimeForWeather !=="undefined"){ 472 updateFeed(); 473 //loadTimeTable(); 474 maintainCateSearch(); 475 clearInterval(initd); 476 } 477 },500) 478 }); 479} 480 481function loadTimeTable() { 482 Date.prototype.yyyymmdd = function() { 483 var yyyy = this.getFullYear().toString(); 484 var mm = (this.getMonth() + 1).toString(); // getMonth() is zero-based 485 var dd = this.getDate().toString(); 486 return yyyy + "" + (mm[1] ? mm : "0" + mm[0]) + "" + (dd[1] ? dd : "0" + dd[0]); // padding 487 }; 488 489 var tdate = new Date(currentTimeForWeather*1000); 490 tdate = tdate.yyyymmdd(); 491 tdate = parseInt(window.sday); 492 $.ajax({ 493 type: "GET", 494 url: window.base_url + "/timetable/main_timetable/" + tdate, 495 dataType: "json", 496 success: function(data) { 497 if (typeof data.result !== 'undefined') { 498 initCate(data); 499 maintainCateSearch(); 500 updateView(); 501 } 502 } 503 }) 504} 505function initradioscroll(data){ 506 for(var i=0;i<data.result.length;i++){ 507 var tmp = ""; 508 var channelNumber = data.result[i]['name']; 509 var existProgramme = []; 510 511 $.each($(data.result[i]['data']).find('.showWrap'), function() { 512 var _time = $(this).find(".timeRow").text(); //programme time to display 513 if (typeof($(this).find(".showTit").attr("href")) !== "undefined" && $(this).find(".showTit").attr("href") != "") { 514 tmp += '<div class="radListBlock" data-id="' + $(this).data("id") + '">' + 515 '<div class="radTime">' + _time + '</div>' + 516 '<a href="' + $(this).find(".showTit").attr("href") + '" title="' + $(this).find(".showTit").attr("title") + '">'; 517 tmp += '<div class="radListTit">' + $(this).find(".showTit").attr("title") + '</div></a></div>'; 518 existProgramme.push($(this).data("f")); 519 } 520 }); 521 522 $("#scroll" + channelNumber).html(tmp); 523 $("#scroll" + channelNumber).scrollbox(); 524 $("#scroll" + channelNumber).imagesLoaded(function(e) { 525 $(e.elements[0]).scrollbox('update'); 526 }); 527 $(window).on('resize', function() { 528 $("#scroll" + channelNumber).scrollbox('update'); 529 }); 530 } 531} 532 533function initCate(data) { 534 for(var i=0;i<data.result.length;i++){ 535 var thistimetable = $(data.result[i]['data']); 536 $('#main-category #mainselection li div').each(function(dd) { 537 var cate = $(this).attr('data-value'); 538 var cateid = $(this).attr('data-cateid'); 539 var htmlwrapper = '<div class="cateSearchChannelContainer cate-result" data-type="' + data.result[i]['type'] + '">'; 540 htmlwrapper += '<div class="relBar chNum">' + data.result[i]['short_eng_name'] + '</div>'; 541 html = '';
542 var tempchannel = data.result[i]['key']; 543 thistimetable.find('.showWrap[data-cateid*="|' + cateid + '|"],.showWrap .single-wrap[data-cateid*="|' + cateid + '|"]').each(function() { 544 var tempitem = $(this); 545 var _showTit = tempitem.find('.showTit').text() || ""; 546 if (_showTit !== "") { _showTit = _showTit.trim(); } 547 var _showEpi = tempitem.find('.showEpi').text() || ""; 548 if (_showEpi !== "") { _showEpi = _showEpi.trim(); } 549 var _sameTit = false, 550 _showSameEpi = ""; 551 552 if (_showTit !== "" && _showEpi !== "" && _showTit === _showEpi) { 553 _sameTit = true; 554 var _date = tempitem.attr('data-date') || ""; 555 if (_date !== "") { 556 _date = new Date(_date); 557 _showSameEpi = ((_date.getUTCDate() < 10) ? "0" + _date.getUTCDate() : _date.getUTCDate()) + "/" + (((_date.getUTCMonth() + 1) < 10) ? "0" + (_date.getUTCMonth() + 1) : (_date.getUTCMonth() + 1)); 558 } 559 } 560 561 html += '<div class="cateRel cate-result" data-id="' + tempitem.attr('data-cate-id') + '">'; 562 html += ' <div class="relWrap clearfix">'; 563 html += ' <a href="' + tempitem.find('.showTit').attr('href') + '" target="_blank">'; 564 html += ' <div class="relPic" style="background: url(' + (tempitem.attr('data-p-80')!=""?tempitem.attr('data-p-80'):tempitem.attr('data-p')) + ') no-repeat center;background-size: cover;"></div>'; 565 html += ' <div class="relShow">'; 566 html += ' <p>' + _showTit + '</p>'; 567 if (_showEpi !== "" || _showSameEpi !== "") { 568 html += '<p class="relEpi">' + window.lbl_programme + (!_sameTit ? _showEpi : _showSameEpi) + '</p>'; 569 }
570 html += ' </div>'; 571 html += ' </a>'; 572 html += ' <div class="relTimeWrap">'; 573 html += ' <div class="relTime">'; 574 html += ' <p>' + tempitem.find('.timeRow').text() + '</p>'; 575 html += ' </div>'; 576 html += ' <div class="relStamp" data-channel="' + tempchannel + '"></div>'; 577 html += ' </div>'; 578 html += ' </div>'; 579 html += '</div>'; 580 581 }); 582 if (html != '') { 583 htmlwrapper += html; 584 htmlwrapper += '</div>'; 585 if ($('.cateSearch[data-cate="' + cate + '"] .empty-result').length > 0) 586 $('.cateSearch[data-cate="' + cate + '"] .empty-result').remove(); 587 } else { 588 htmlwrapper = ''; 589 if ($('.cateSearch[data-cate="' + cate + '"] .cate-result').length <= 0) { 590 htmlwrapper = '<div class="relBar cate-result empty-result">' + no_programme + '</div>'; 591 } 592 } 593 $('.cateSearch[data-cate="' + cate + '"]').append(htmlwrapper); 594 }); 595 } 596} 597 598function maintainCateSearch() { 599 600 $(".cateRel .relStamp").on("click", function() { 601 $('html,body').stop().animate({ 602 scrollTop: 0 603 }, 500); 604 $(".callPlayer").removeClass("opened"); 605 $(".callPlayer[data-channel=" + $(this).data("channel") + "]").click(); 606 }); 607} 608var getPInfo = 0; 609var temp; 610 611function updateView() { 612 if ((new Date().getTime() - getPInfo) / 1000 < 60) { 613 if (temp.dtt) { 614 getProgramInfo(temp.dtt); 615 } 616 if (temp.radio) { 617 getRadioProgram(temp.radio); 618 } 619 } 620} 621function updateFeed(){ 622 $.ajax({ 623 type: "GET", 624 url: window.base_url + "/main/update_view?no=" + Math.random(), 625 dataType: "json", 626 success: function(data) { 627 temp = data 628 var d = new Date(); 629 getPInfo = d.getTime(); 630 updateView(); 631 } 632 }) 633} 634 635function getRadioProgram(data) { 636 if (typeof data.scheduleItem === 'undefined') { 637 return false 638 } 639 640 var playerbg = []; 641$('.tableBlock [type=radio] .showBlock .nameBlock').remove(); 642$('.tableBlock [type=radio] .timeBlock .timeDis:not(.horiDash,.vertDash)').empty(); 643 itemId = 0; 644 var currentChannel = ""; 645 var tempradiolive = ""; 646 for (var i = 0; i < data.scheduleItem.length; i++) { 647 var item = data.scheduleItem[i]; 648 var channelNumber = String(item.channel); 649 if (typeof item.channel == "object") 650 continue; 651 if (currentChannel != channelNumber) { 652 currentChannel = channelNumber; 653 itemId = 0; 654 } 655 startEndTime = ''; 656 programId = String(item.programmeId); 657 if (lang == "en") { 658 programName = (typeof item.programmeTitleEng == "string") ? item.programmeTitleEng : ""; 659 episodeName = (typeof item.episodeTitleEng == "string") ? item.episodeTitleEng : ""; 660 } else { 661 programName = (typeof item.programmeTitleChi == "string") ? item.programmeTitleChi : ""; 662 episodeName = (typeof item.episodeTitleChi == "string") ? item.episodeTitleChi : ""; 663 } 664 if (programName == "") { 665 programName = (typeof item.programmeTitle == "string") ? item.programmeTitle : ""; 666 } 667 if (episodeName == "") { 668 episodeName = (typeof item.episodeTitle == "string") ? item.episodeTitle : ""; 669 } 670 startTime = String(item.startTime); 671 endTime = item.endTime; 672 producer = (typeof item.producer == "string") ? item.producer : ""; 673 programmeFolder = item.programmeFolder; 674 var thumbnail = ""; 675 if (itemId == 0) { 676 thumbnail = item.thumbnail; 677 } 678 if (startTime != '') { 679 var d = new Date(startTime * 1000); 680 var hour = d.getHours(); 681 hour = ("0" + hour).slice(-2); 682 var min = d.getMinutes(); 683 min = ("0" + min).slice(-2); 684 var d2 = new Date(endTime * 1000); 685 var hour2 = d2.getHours(); 686 hour2 = ("0" + hour2).slice(-2); 687 var min2 = d2.getMinutes(); 688 min2 = ("0" + min2).slice(-2); 689 startEndTime = 'HKT ' + hour + ":" + min + " - " + hour2 + ":" + min2; 690 } 691 if((currentTimeForWeather*1000 >= item.startTime * 1000) && (currentTimeForWeather*1000 < item.endTime * 1000)){ 692 var _tmp_date_obj = new Date(item.startTime * 1000); 693 var _tmp_date_date = _tmp_date_obj.getUTCDate();
694 var _tmp_date_month = _tmp_date_obj.getUTCMonth() + 1; 695 var _tmp_date_year = _tmp_date_obj.getFullYear(); 696 697 radio_live_start_time[item.channel] = _tmp_date_year + "-" + (_tmp_date_month < 10 ? "0" : "") + _tmp_date_month + "-" + (_tmp_date_date < 10 ? "0" : "") + _tmp_date_date; 698 $(".programme_row").removeClass("onair"); 699 $(".programme_onair").html(''); 700 if (startTime != '') { 701 var tmpName = programName; 702 if (episodeName != "") { 703 tmpName += ": <span class='subTit'>" + episodeName + "</span>"; 704 } 705 $(".playerwrap" + channelNumber + " .radShowPanel .radShowTit").trigger("destroy"); 706 $(".playerwrap" + channelNumber + " .radShowPanel .radShowTit h2").html(tmpName); 707 if (producer != ' ' && producer !== "") { 708 producer = presenter + ": " + producer; 709 } 710 $(".playerwrap" + channelNumber + " .radShowPanel .radShowTit .radShowHost h3").html(producer); 711 $(".playerwrap" + channelNumber + " .radShowPanel .radShowTit").dotdotdot({ 712 watch: true, 713 wrap: 'letter' 714 }); 715 $(".playerwrap" + channelNumber + " .radShowPicWrap").html("<img src='" + (item.timeline_thumbnail!==undefined?item.timeline_thumbnail:item.thumbnail) + "' alt='" + programName + "' title='" + programName + "' width='100%' height='100%' padding-bottom='100%' />"); 716 var insideHtml = $('.mSSlide.active #timeTable_' + channelNumber + ' div.timetable > div[data-id=programme_' + startTime + ']').html(); 717 var noWebcastPos = 0; 718 var noLivePos1 = 0; 719 var noLivePos2 = 0; 720 if (insideHtml != null) { 721 noWebcastPos = insideHtml.indexOf("label_nowebcast"); 722 noLivePos1 = insideHtml.indexOf("No live webcast for this session"); 723 noLivePos2 = insideHtml.indexOf("æ¬æ¶æ®µæªæç½ä¸ç´æ"); 724 } 725 if (noWebcastPos == -1 && noLivePos1 == -1 && noLivePos2 == -1) { 726 $("#programme_onair_" + startTime).html('<img src="/img/label_onair_c.png" alt="' + on_air + '" width="49" height="18" vspace="5">'); 727 } 728 729 if((currentTimeForWeather*1000 >= item.startTime * 1000) && (currentTimeForWeather*1000 < item.endTime * 1000)){ 730 if(lang == "en"){ 731 var programme_name = item.programmeTitleEng; 732 }else{ 733 var programme_name = item.programmeTitleChi; 734 } 735 // Smooth Scroll On Air Programme 736 if ($('#timeTable_' + channelNumber + ' div.timetable > div.current').length) { 737 $('#timeTable_' + channelNumber + ' div.timetable').scrollbox('scroll', $('#timeTable_' + channelNumber + ' div.timetable > div.current').position().top, { 738 duration: 500 739 }); 740 } 741 742 var d = new Date(item.startTime * 1000); 743 var hour = d.getHours(); 744 hour = ("0" + hour).slice(-2); 745 var min = d.getMinutes(); 746 min = ("0" + min).slice(-2); 747 var d2 = new Date(item.endTime * 1000); 748 var hour2 = d2.getHours(); 749 hour2 = ("0" + hour2).slice(-2); 750 var min2 = d2.getMinutes(); 751 min2 = ("0" + min2).slice(-2); 752 753 var show_start_time = hour+":"+min; 754 show_end_time = hour2+":"+min2 755 756 if(typeof item.programmeFolder=="string" && item.programmeFolder != null){ 757 var programme_url = window.location.origin + "/radio/" + item.channel + "/programme/" + item.programmeFolder; 758 }else{ 759 var programme_url = window.location.origin + "/radio/" + item.channel; 760 } 761 762 var dak = $('.tableBlock #timetable' + channelNumber).hasClass('lit'); 763 var dak_mob = $('.tableBlock #mtimetable' + channelNumber).hasClass('lit'); 764 765 var progHtml = ''; 766 progHtml += '<div class="nameBlock '+(dak?"dak":"")+'">'; 767 progHtml += '<a title="'+programme_name+'" href="'+programme_url+'" target="_blank">'+programme_name+'</a>'; 768 progHtml += '</div>'; 769 770 var progHtml_mob = ''; 771 progHtml_mob += '<div class="nameBlock '+(dak_mob?"dak":"")+'">'; 772 progHtml_mob += '<a title="'+programme_name+'" href="'+programme_url+'" target="_blank">'+programme_name+'</a>'; 773 progHtml_mob += '</div>'; 774 775 $('.tableBlock #timetable' + channelNumber + ' .showBlock').prepend($(progHtml)) 776 $('.tableBlock #mtimetable' + channelNumber + ' .showBlock').prepend($(progHtml_mob)) 777 778 $('.tableBlock #timetable' + channelNumber + ' .timeBlock .timeDis:first-child').text(show_start_time); 779 $('.tableBlock #timetable' + channelNumber + ' .timeBlock .timeDis:last-child').text(show_end_time); 780 $('.tableBlock #mtimetable' + channelNumber + ' .timeBlock .timeDis:first-child').text(show_start_time); 781 $('.tableBlock #mtimetable' + channelNumber + ' .timeBlock .timeDis:last-child').text(show_end_time); 782 } 783 784 785 $.each($(".cateSearchContainer .cateSearch [data-type=radio] .cateRel"), function() { 786 787 if ($(this).attr('data-id') == ("programme_" + channelNumber + "_" + startTime)) { 788 tempradiolive += (tempradiolive != '' ? "," : "") + " .cateSearch .cateRel[data-id=" + $(this).attr('data-id') + "]"; 789 } else { 790 $(this).find(".relStamp").html(""); 791 } 792 }); 793 if (!$("#scroll" + channelNumber + " > div[data-id=programme_" + startTime + "]").hasClass("fir")) { 794 $(".player" + channelNumber).removeClass("scrolled"); 795 $('#scroll' + channelNumber + ' div').removeClass("fir"); 796 $("#scroll" + channelNumber + " > div[data-id=programme_" + startTime + "], #scroll" + channelNumber + " > div[data-id=programme_" + startTime + "] .radListTit").addClass("fir"); 797 // Smooth Scroll On Air Programme 798 if (!$(".player" + channelNumber).hasClass("close")) { 799 if ($('#scroll' + channelNumber + ' > div[data-id=programme_' + startTime + ']').length) { 800 $("#scroll" + channelNumber).scrollbox('scroll', $('#scroll' + channelNumber + ' > div[data-id=programme_' + startTime + ']').position().top, { 801 duration: 500 802 }); 803 804 $(".player" + channelNumber).addClass("scrolled"); 805 } 806 } 807 } 808 var obj = { 809 currprog: $("#scroll" + channelNumber + " .fir").attr('data-f'), 810 }; 811 currArr[channelNumber] = obj; 812 } 813 setupRadioPlayer(channelNumber); 814 } 815 itemId++; 816 item.alertMessageChi = (typeof item.alertMessageChi === "object" || (typeof item.alertMessageChi === "undefined")) ? "" : item.alertMessageChi; 817 item.alertMessageEng = (typeof item.alertMessageEng === "object" || (typeof item.alertMessageEng === "undefined")) ? "" : item.alertMessageEng; 818 819 //check live 820 $("#scroll" + channelNumber + " > div[data-id=programme_" + startTime + "]").attr('live', item.live) 821 $("#scroll" + channelNumber + " > div[data-id=programme_" + startTime + "]").attr('alertMessageChi', item.alertMessageChi) 822 $("#scroll" + channelNumber + " > div[data-id=programme_" + startTime + "]").attr('alertMessageEng', item.alertMessageEng) 823 if ($("#scroll" + channelNumber + " > div.fir").attr("live") == "N") { 824 $('.playerwrap' + channelNumber + " .radShowPanel .panelfill .overlay").remove(); 825 jwplayer('player' + channelNumber).pause(true) 826 $(".playBtn[data-channel=" + channelNumber + "]").parent().attr("title", window.lang_play_btn); 827 $(".playBtn[data-channel=" + channelNumber + "]").removeClass("pause"); 828 $('.playerwrap' + channelNumber + " .radShowPanel .panelfill").append('<div class="overlay"><div>' + (window.lang == "en" ? $("#scroll" + channelNumber + " > div.fir").attr('alertMessageEng') : $("#scroll" + channelNumber + " > div.fir").attr('alertMessageChi')) + '</div></div>') 829 } else { 830 $('.playerwrap' + channelNumber + " .radShowPanel .panelfill .overlay").remove(); 831 } 832 833 } 834 $(tempradiolive).find(".relStamp").html(live_video); 835} 836 837function getProgramInfo(data) { 838 $('#tvplayer31-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').hide(); 839 $('#tvplayer32-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').hide(); 840 $('#tvplayer33-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').hide(); 841 $('#tvplayer34-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').hide(); 842 $('#tvplayer35-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').hide(); 843 // $('#tvplayer36-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').hide(); 844 $('#tvplayer31-container .vidScreen .recomBlock .vidTit').hide(); 845 $('#tvplayer32-container .vidScreen .recomBlock .vidTit').hide(); 846 $('#tvplayer33-container .vidScreen .recomBlock .vidTit').hide(); 847 $('#tvplayer34-container .vidScreen .recomBlock .vidTit').hide(); 848 $('#tvplayer35-container .vidScreen .recomBlock .vidTit').hide(); 849 // $('#tvplayer36-container .vidScreen .recomBlock .vidTit').hide(); 850 851 var show_live_title = false;
852 if (typeof data.programme === 'undefined') { 853 return false 854 } 855 itemId = 0; 856 var currentChannel = 31; 857 var temptvlive = '',programName2 = '',episodeName2 = ''; 858 859 860 $('.tableBlock [type=tv] .showBlock .nameBlock').remove(); 861 $('.tableBlock [type=tv] .showBlock hr').remove(); 862 $('.tableBlock [type=tv] .timeBlock .timeDis:not(.horiDash,.vertDash)').empty(); 863 864 for (var i = 0; i < data.programme.length; i++) { 865 var item = data.programme[i]; 866 var dtt_channelNumber = String(item.channelNumber); 867 868 channelc = String(item.channel); 869 if (currentChannel != dtt_channelNumber) { 870 currentChannel = dtt_channelNumber; 871 itemId = 0; 872 } 873 startEndTime = ''; 874 if(Array.isArray(item.programmes.programme)){ 875 itemProg = item.programmes.programme[0]; 876 itemProg2 = item.programmes.programme[1]; 877 }else{ 878 itemProg = item.programmes.programme; 879 itemProg2 = undefined; 880 } 881 882 if (lang == "en") { 883 programName = itemProg.programmeTitleEng; 884 episodeName = itemProg.episodeTitleEng; 885 if(itemProg2!=undefined){ 886 programName2 = itemProg2.programmeTitleEng; 887 episodeName2 = itemProg2.episodeTitleEng; 888 } 889 } else { 890 programName = itemProg.programmeTitleChi; 891 episodeName = itemProg.episodeTitleChi; 892 if(itemProg2!=undefined){ 893 programName2 = itemProg2.programmeTitleChi; 894 episodeName2 = itemProg2.episodeTitleChi; 895 } 896 } 897 if (programName == "" || typeof programName === 'object') { 898 programName = itemProg.programmeTitle; 899 } 900 if (episodeName == "" || typeof episodeName === 'object') { 901 episodeName = itemProg.episodeTitle; 902 } 903 if (itemProg2!=undefined && (programName2 == "" || typeof programName2 === 'object')) { 904 programName2 = itemProg2.programmeTitle; 905 } 906 if (itemProg2!=undefined && (episodeName2 == "" || typeof episodeName2 === 'object')) { 907 episodeName2 = itemProg2.episodeTitle; 908 } 909 startTime = item.startTime; 910 endTime = item.endTime; 911 if (itemId == 0) { 912 thumbnail = String(itemProg.thumbnail); 913 thumbnail = typeof itemProg.thumbnail_690x388 !== "undefinded" ? String(itemProg.thumbnail_690x388) : thumbnail; 914 915 setThumbnail(thumbnail, dtt_channelNumber); 916 } 917 if (startTime != '') { 918 var d = new Date(startTime * 1000); 919 var hour = d.getHours(); 920 hour = ("0" + hour).slice(-2); 921 var min = d.getMinutes(); 922 min = ("0" + min).slice(-2); 923 var d2 = new Date(endTime * 1000); 924 var hour2 = d2.getHours(); 925 hour2 = ("0" + hour2).slice(-2); 926 var min2 = d2.getMinutes(); 927 min2 = ("0" + min2).slice(-2); 928 startEndTime = 'HKT ' + hour + ":" + min + " - " + hour2 + ":" + min2; 929 } 930 931 if((currentTimeForWeather*1000 >= item.startTime * 1000) && (currentTimeForWeather*1000 < item.endTime * 1000)){ 932 var _tmp_date_obj = new Date(item.startTime * 1000); 933 var _tmp_date_date = _tmp_date_obj.getUTCDate();
934 var _tmp_date_month = _tmp_date_obj.getUTCMonth() + 1; 935 var _tmp_date_year = _tmp_date_obj.getFullYear(); 936 if (item.channel == "dtt31") { 937 window._dtt31_live_start_time = _tmp_date_year + "-" + (_tmp_date_month < 10 ? "0" : "") + _tmp_date_month + "-" + (_tmp_date_date < 10 ? "0" : "") + _tmp_date_date; 938 } else if(item.channel == "dtt32"){ 939 window._dtt32_live_start_time = _tmp_date_year + "-" + (_tmp_date_month < 10 ? "0" : "") + _tmp_date_month + "-" + (_tmp_date_date < 10 ? "0" : "") + _tmp_date_date; 940 } else if(item.channel == "dtt33"){ 941 window._dtt33_live_start_time = _tmp_date_year + "-" + (_tmp_date_month < 10 ? "0" : "") + _tmp_date_month + "-" + (_tmp_date_date < 10 ? "0" : "") + _tmp_date_date; 942 } else if(item.channel == "dtt34"){ 943 window._dtt34_live_start_time = _tmp_date_year + "-" + (_tmp_date_month < 10 ? "0" : "") + _tmp_date_month + "-" + (_tmp_date_date < 10 ? "0" : "") + _tmp_date_date; 944 } else if(item.channel == "dtt35"){ 945 window._dtt35_live_start_time = _tmp_date_year + "-" + (_tmp_date_month < 10 ? "0" : "") + _tmp_date_month + "-" + (_tmp_date_date < 10 ? "0" : "") + _tmp_date_date; 946 } else if(item.channel == "dtt36"){ 947 window._dtt36_live_start_time = _tmp_date_year + "-" + (_tmp_date_month < 10 ? "0" : "") + _tmp_date_month + "-" + (_tmp_date_date < 10 ? "0" : "") + _tmp_date_date; 948 } 949 950 $(".programme_row").removeClass("onair"); 951 $(".programme_onair").html(''); 952 953 954 if (startTime != '') { 955 if (programName == 'No live webcast for this session' || programName == 'æ¬æ¶æ®µæªæç½ä¸ç´æ') { 956 programName = no_live_webcast; 957 } 958 if (programName == 'RTHK TV ' + dtt_channelNumber + ' Live Webcast' || programName == '港å°çµè§ ' + dtt_channelNumber + ' èç®') { 959 programName = rthk_tv + dtt_channelNumber + live_webcast; 960 } 961 var insideHtml = $('.mSSlide.active #timeTable_' + dtt_channelNumber + ' div.timetable > div[data-id=programme_' + startTime + ']').html(); 962 var noWebcastPos = 0; 963 var noLivePos1 = 0; 964 var noLivePos2 = 0; 965 if (insideHtml != null) { 966 noWebcastPos = insideHtml.indexOf("label_nowebcast"); 967 noLivePos1 = insideHtml.indexOf("No live webcast for this session"); 968 noLivePos2 = insideHtml.indexOf("æ¬æ¶æ®µæªæç½ä¸ç´æ"); 969 } 970 if (noWebcastPos == -1 && noLivePos1 == -1 && noLivePos2 == -1) { 971 $("#programme_onair_" + startTime).html('<img src="/img/label_onair_c.png" alt="' + on_air + '" width="49" height="18" vspace="5">'); 972 } 973 974 if((currentTimeForWeather*1000 >= item.startTime * 1000) && (currentTimeForWeather*1000 < item.endTime * 1000)){ 975 if(lang == "en"){ 976 var programme_name = item.programmes.programme.programmeTitleEng; 977 }else{ 978 var programme_name = item.programmes.programme.programmeTitleChi; 979 } 980 var dak = $('.tableBlock #timetable' + dtt_channelNumber).hasClass('lit') 981 982 if(item.programmes.programme !== undefined){ 983 var progHtml = '',tmp_html = ''; 984 Object.entries(item.programmes.programme).forEach(entry => { 985 const [key, value] = entry; 986 var progtitle = lang == "en"?value.programmeTitleEng:value.programmeTitleChi; 987 988 if(typeof value.programmeFolder=="string" && value.programmeFolder != null){ 989 var programme_url = window.location.origin + "/tv/" + item.channel + "/programme/" + value.programmeFolder; 990 }else{ 991 var programme_url = ""; 992 } 993 if(progHtml!='')progHtml+='<hr>'; 994 progHtml += '<div class="nameBlock '+(dak?"dak":"")+'">'; 995 programme_url!=''?progHtml += '<a title="'+progtitle+'" href="'+programme_url+'" target="_blank">'+progtitle+'</a>':progHtml += '<p>'+progtitle+'</p>'; 996 progHtml += '</div>'; 997 998 if(tmp_html!='')tmp_html+=' / '; 999 programme_url!=''?tmp_html += '<a title="'+progtitle+'" href="'+programme_url+'" target="_blank">'+progtitle+'</a>':tmp_html += '<p>'+progtitle+'</p>'; 1000 }); 1001 $('.tableBlock #timetable' + dtt_channelNumber + ' .showBlock').prepend($(progHtml)) 1002 $('.tableBlock #mtimetable' + dtt_channelNumber + ' .showBlock').prepend($(progHtml)) 1003 } 1004 1005 var d = new Date(item.startTime * 1000); 1006 var hour = d.getHours(); 1007 hour = ("0" + hour).slice(-2); 1008 var min = d.getMinutes(); 1009 min = ("0" + min).slice(-2); 1010 var d2 = new Date(item.endTime * 1000); 1011 var hour2 = d2.getHours(); 1012 hour2 = ("0" + hour2).slice(-2); 1013 var min2 = d2.getMinutes(); 1014 min2 = ("0" + min2).slice(-2); 1015 1016 var show_start_time = hour+":"+min; 1017 show_end_time = hour2+":"+min2 1018 1019 1020 $('.tableBlock #timetable' + dtt_channelNumber + ' .timeBlock .timeDis:first-child').text(show_start_time); 1021 $('.tableBlock #timetable' + dtt_channelNumber + ' .timeBlock .timeDis:last-child').text(show_end_time); 1022 $('.tableBlock #mtimetable' + dtt_channelNumber + ' .timeBlock .timeDis:first-child').text(show_start_time); 1023 $('.tableBlock #mtimetable' + dtt_channelNumber + ' .timeBlock .timeDis:last-child').text(show_end_time); 1024 // Update the DTT Panel Current Programme Title 1025 show_live_title = true; 1026 1027 $('#tvplayer' + dtt_channelNumber + '-container .playTit').html(tmp_html); 1028 $('#tvplayer' + dtt_channelNumber + '-container .vidScreen .vidList .liveBlock .liveChn').append('<a class="btn-show-live" href="javascript:;" onclick="golivebtn(\'' + dtt_channelNumber + '\')"><div class="liveTye">' + window.on_air + '</div></a>'); 1029 var livelabel = ""; 1030 $('#menu_hori .itemBlock[channel=dtt'+dtt_channelNumber+'] .proBlock .showBlock .nameBlock').each(function(){ 1031 livelabel += (livelabel!==""?" / ":"") + $(this).text(); 1032 }) 1033 $('#tvplayer' + dtt_channelNumber + '-container .vidTit .livLabel').html('<a href="javascript:;" onclick="golivebtn(\'' + dtt_channelNumber + '\')">' + livelabel + '</a>'); 1034 $('#tvplayer' + dtt_channelNumber + '-container .vidScreen .recomBlock .vidTit').show(); 1035 // Smooth Scroll On Air Programme 1036 if ($('#timeTable_' + dtt_channelNumber + ' div.timetable > div.current').length) {
1037 $('#timeTable_' + dtt_channelNumber + ' div.timetable').scrollbox('scroll', $('#timeTable_' + dtt_channelNumber + ' div.timetable > div.current').position().top, { 1038 duration: 500 1039 }); 1040 } 1041 var tmp = ""; 1042 var currentDate = new Date(); 1043 var selectedDate = new Date($(".pgTableWrap .pgDate ul li.active").data("js")); 1044 var afterCurrent = false; 1045 if (currentDate.getFullYear() != selectedDate.getFullYear() || currentDate.getMonth() != selectedDate.getMonth() || currentDate.getDate() != selectedDate.getDate()) { 1046 afterCurrent = true; 1047 } 1048 var existProgramme = []; 1049 1050 $(window).on('resize', function() { 1051 $("#scroll" + dtt_channelNumber).scrollbox('update'); 1052 }); 1053 $.each($(".cateSearchContainer .cateSearch [data-type=tv] .cateRel"), function() { 1054 if ($(this).data("id") == ("programme_" + dtt_channelNumber + "_" + startTime)) { 1055 temptvlive += (temptvlive != '' ? "," : "") + " .cateSearch .cateRel[data-id=" + $(this).data("id") + "]"; 1056 } else { 1057 $(this).find(".relStamp").html(""); 1058 } 1059 }); 1060 1061 } 1062 var obj = { 1063 "timestamp": startTime 1064 }; 1065 currArr[dtt_channelNumber] = obj; 1066 } 1067 } 1068 itemId++; 1069 } 1070 if (show_live_title) { 1071 $('#tvplayer31-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').show(); 1072 $('#tvplayer32-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').show(); 1073 $('#tvplayer33-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').show(); 1074 $('#tvplayer34-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').show(); 1075 $('#tvplayer35-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').show(); 1076 // $('#tvplayer36-container .vidScreen .vidList .liveBlock .liveChn a.btn-show-live').show(); 1077 $('#tvplayer31-container .vidScreen .recomBlock .vidTit').show(); 1078 $('#tvplayer32-container .vidScreen .recomBlock .vidTit').show(); 1079 $('#tvplayer33-container .vidScreen .recomBlock .vidTit').show(); 1080 $('#tvplayer34-container .vidScreen .recomBlock .vidTit').show(); 1081 $('#tvplayer35-container .vidScreen .recomBlock .vidTit').show(); 1082 // $('#tvplayer36-container .vidScreen .recomBlock .vidTit').show(); 1083 } 1084 $(temptvlive).find(".relStamp").html(live_video); 1085 checkChannelStatus(); 1086 1087} 1088 1089function setupRadioPlayer(channel) { 1090 playerLoad = checkPlayerLoaded("#player" + channel); 1091 if (playerLoad == 0) { 1092 var _num, _tmp, _radio; 1093 switch (channel) { 1094 case "radio1": 1095 _radio = "1"; 1096 _num = "2035313"; 1097 _tmp = channel; 1098 break; 1099 case "radio2": 1100 _radio = "2"; 1101 _num = "2040078"; 1102 _tmp = channel; 1103 break; 1104 case "radio3": 1105 _radio = "3"; 1106 _num = "2040079"; 1107 _tmp = channel; 1108 break; 1109 case "radio4": 1110 _radio = "4"; 1111 _num = "2040080"; 1112 _tmp = channel; 1113 break; 1114 case "radio5": 1115 _radio = "5"; 1116 _num = "2040081"; 1117 _tmp = channel; 1118 break; 1119 case "radio6": 1120 _radio = "xgzs"; 1121 _num = "2042860"; 1122 _tmp = "radiocnrhk"; 1123 break; 1124 case "pth": 1125 _radio = "pth"; 1126 _num = "2040082"; 1127 _tmp = "radiopth"; 1128 break; 1129 case "radiocnrhk": 1130 _radio = "cnrhk"; 1131 _num = "2046111"; 1132 _tmp = "radiocnrhk"; 1133 break; 1134 case "radiocmgrgb": 1135 _radio = "cmgrgb"; 1136 _num = "2046112"; 1137 _tmp = "radiocmgrgb"; 1138 break; 1139 default: 1140 return; 1141 } 1142 1143 count_stream = 0; 1144 retry = 12; 1145 if (channel != "dab31" && channel !== "dab33" && channel !== "dab35" && channel !== "dab36") { 1146 jwplayer("player" + channel).setup(merge({ 1147 primary: 'html5', 1148 hlshtml: true, 1149 width: "84%", 1150 "skin": get_formatted_skin("audio_live", "alexSkin"), 1151 height: 40, 1152 playlist: [{ 1153 sources: [{ 1154 file: "https://rthkradio" + _radio + "-live.akamaized.net/hls/live/"+_num+"/"+_tmp+"/master.m3u8" 1155 }] 1156 }, { 1157 sources: [{ 1158 file: "https://rthkradio" + _radio + "-live.akamaized.net/hls/live/"+_num+"/"+_tmp+"/master.m3u8" 1159 }] 1160 }, { 1161 sources: [{ 1162 file: "https://rthkradio" + _radio + "-live.akamaized.net/hls/live/"+_num+"/"+_tmp+"/master.m3u8" 1163 }] 1164 }], 1165 icons: "false", 1166 autostart: false, 1167 androidhls: "true", 1168/* 1169 events: { 1170 onPlay: function(event) { 1171 1172 if ($("#scroll" + channel + " > div[data-id].fir").attr("live") == "N") { 1173 $('.playerwrap' + channel + " .radShowPanel .panelfill .overlay").remove(); 1174 jwplayer('player' + channel).pause(true) 1175 $('.playerwrap' + channel + " .radShowPanel .panelfill").append('<div class="overlay"><div>' + (window.lang == "en" ? $("#scroll" + channel + " > div[data-id].fir").attr("alertMessageEng") : $("#scroll" + channel + " > div[data-id].fir").attr("alertMessageChi")) + '</div></div>') 1176 $(".playBtn").removeClass("pause"); 1177 $(".playBtn").parent().attr("title", window.lang_play_btn); 1178 1179 window.player_playing = 0; 1180 return; 1181 } 1182 window.player_playing = 1; 1183 var _channel = channel; 1184 var _programme_folder = ""; 1185 var _date = ""; 1186 var _current_item = $('#table' + channel + ' .showWrap.current'); 1187 if (typeof _current_item === "object") { 1188 _programme_folder = currArr[_channel]["currprog"]; 1189 date = new Date(); 1190 _date = (date.getFullYear() + '-' + zeroPad((date.getMonth() + 1), 2) + '-' + zeroPad(date.getDate(), 2)); 1191 var _dcsqry = "lang=" + window.lang + "§ion=player_live&channel=" + _channel + "&programme=" + _programme_folder + "&date=" + _date; 1192 __LogPlayerAction(window.current_url, "", "player_live:" + _channel + "/" + _programme_folder, _date, "", _dcsqry); 1193 } 1194 $('.playerwrap.close .jwplayer').each(function() { 1195 jwplayer($(this).attr('id')).stop(); 1196 }) 1197 1198 if (typeof window.__countdown === "object" && typeof window.__countdown.enable && window.__countdown.enable) { 1199 var status = jwplayer("player" + channel).getState(); 1200 status = status.toUpperCase(); 1201 if (globalStatus == "IDLE" || globalStatus == "PAUSE") { 1202 globalStatus = "PLAYING"; 1203 count_stream = 0; 1204 resetTimer(); 1205 setInterval(function() { countDown(channel); }, 1000); 1206 } 1207 } 1208 }, 1209 onPause: function(event) { 1210 window.player_playing = 0; 1211 if (typeof window.__countdown === "object" && typeof window.__countdown.enable && window.__countdown.enable) { 1212 var status = jwplayer("player" + channel).getState(); 1213 status = status.toUpperCase(); 1214 1215 globalStatus = "PAUSE"; 1216 resetTimer(); 1217 } 1218 1219 }, 1220 onIdle: function(event) { 1221 if (typeof window.__countdown === "object" && typeof window.__countdown.enable && window.__countdown.enable) { 1222 var status = jwplayer("player" + channel).getState(); 1223 status = status.toUpperCase(); 1224 globalStatus = "IDLE"; 1225 resetTimer(); 1226 } 1227 }, 1228 onError: function(event) { 1229 setTimeout(function() {}, 1000); 1230 if (count_stream < retry) { 1231 1232 jwplayer('player' + channel).playlistNext(); 1233 } else if (count_stream == 12) {
1234 alert('Connection timeout, please retry later.'); 1235 } 1236 count_stream++; 1237 } 1238 }, 1239*/ 1240 flashplayer: jw_path + 'jwplayer.flash.swf', 1241 1242 }, get_additional_para())); 1243 1244 jwplayer("player" + channel).on('play', function(event){ 1245 if ($("#scroll" + channel + " > div[data-id].fir").attr("live") == "N") { 1246 $('.playerwrap' + channel + " .radShowPanel .panelfill .overlay").remove(); 1247 jwplayer('player' + channel).pause(true) 1248 $('.playerwrap' + channel + " .radShowPanel .panelfill").append('<div class="overlay"><div>' + (window.lang == "en" ? $("#scroll" + channel + " > div[data-id].fir").attr("alertMessageEng") : $("#scroll" + channel + " > div[data-id].fir").attr("alertMessageChi")) + '</div></div>') 1249 $(".playBtn").removeClass("pause"); 1250 $(".playBtn").parent().attr("title", window.lang_play_btn); 1251 1252 window.player_playing = 0; 1253 return; 1254 } 1255 window.player_playing = 1; 1256 var _channel = channel; 1257 var _programme_folder = ""; 1258 var _date = ""; 1259 var _current_item = $('#table' + channel + ' .showWrap.current'); 1260 if (typeof _current_item === "object") { 1261 _programme_folder = currArr[_channel]["currprog"]; 1262 date = new Date(); 1263 _date = (date.getFullYear() + '-' + zeroPad((date.getMonth() + 1), 2) + '-' + zeroPad(date.getDate(), 2)); 1264 var _dcsqry = "lang=" + window.lang + "§ion=player_live&channel=" + _channel + "&programme=" + _programme_folder + "&date=" + _date; 1265 __LogPlayerAction(window.current_url, "", "player_live:" + _channel + "/" + _programme_folder, _date, "", _dcsqry); 1266 } 1267 $('.playerwrap.close .jwplayer').each(function() { 1268 jwplayer($(this).attr('id')).stop(); 1269 }) 1270 1271 if (typeof window.__countdown === "object" && typeof window.__countdown.enable && window.__countdown.enable) { 1272 var status = jwplayer("player" + channel).getState(); 1273 status = status.toUpperCase(); 1274 if (globalStatus == "IDLE" || globalStatus == "PAUSE") { 1275 globalStatus = "PLAYING"; 1276 count_stream = 0; 1277 resetTimer(); 1278 setInterval(function() { countDown(channel); }, 1000); 1279 } 1280 } 1281 }); 1282 jwplayer("player" + channel).on('pause', function(event){ 1283 window.player_playing = 0; 1284 if (typeof window.__countdown === "object" && typeof window.__countdown.enable && window.__countdown.enable) { 1285 var status = jwplayer("player" + channel).getState(); 1286 status = status.toUpperCase(); 1287 1288 globalStatus = "PAUSE"; 1289 resetTimer(); 1290 } 1291 }); 1292 jwplayer("player" + channel).on('idle', function(event){ 1293 if (typeof window.__countdown === "object" && typeof window.__countdown.enable && window.__countdown.enable) { 1294 var status = jwplayer("player" + channel).getState(); 1295 status = status.toUpperCase(); 1296 globalStatus = "IDLE"; 1297 resetTimer(); 1298 } 1299 }); 1300 jwplayer("player" + channel).on('error', function(event){ 1301 setTimeout(function() {}, 1000); 1302 if (count_stream < retry) { 1303 1304 jwplayer('player' + channel).playlistNext(); 1305 } else if (count_stream == 12) { 1306 alert('Connection timeout, please retry later.'); 1307 } 1308 count_stream++; 1309 }); 1310 1311 } 1312 1313 1314 } 1315} 1316var xdr, thumbnail31, thumbnail32, thumbnail33, thumbnail34, thumbnail35, thumbnail36; 1317 1318function golivebtn(dtt_channelNumber) { 1319 if(dtt_channelNumber == 32){ 1320 window._wantPlay32 = true; 1321 if (is32PlayerMounted()) { 1322 try { window.resume(); } catch (e) {} 1323 } else { 1324 setup32PlayerByStatus(); 1325 } 1326 }else{ 1327 setupPlayer(dtt_channelNumber); 1328 } 1329 checkChannelStatus(); 1330 if(dtt_channelNumber == 32){ 1331 try { window.resume(); } catch (e) {} 1332 jwplayer('tvPlayer' + dtt_channelNumber).remove(); 1333 }else{ 1334 jwplayer('tvPlayer' + dtt_channelNumber).play(); 1335 } 1336} 1337 1338function checkChannelStatus() { 1339 1340 url = "//api01.rthk.hk/check_location_live_2023.php?no="+Math.random(); 1341 $.ajax({ 1342 type: "GET", 1343 url: url, 1344 dataType: "xml", 1345 success: function(xml) { 1346 handleXml(xml); 1347 }, 1348 error: function(request, textStatus, errorThrown) { 1349 if (window.XDomainRequest) { // Check whether the browser supports XDR. 1350 xdr = new XDomainRequest(); 1351 if (xdr) { 1352 xdr.onload = loadGeoblock; 1353 xdr.timeout = 10000;
1354 xdr.open("get", url); 1355 xdr.send(); 1356 } 1357 } 1358 } 1359 }); 1360} 1361 1362function is32PlayerMounted() { 1363 if (window.loaded32 === true || window.loading32 === true) { 1364 return true; 1365 } 1366 return $("#tvplayer32-stream video").length > 0; 1367} 1368 1369function teardown32Player(messageHtml) { 1370 try { window.close(); } catch (e) {} 1371 window.loaded32 = false; 1372 window.loading32 = false; 1373 window._wantPlay32 = false; 1374 try { jwplayer("tvPlayer32").remove(); } catch (e) {} 1375 $("#tvplayer32-stream").html(messageHtml); 1376} 1377function setup32PlayerByStatus() { 1378 url = "//api01.rthk.hk/check_location_live_2023.php?no="+Math.random(); 1379 $.ajax({ 1380 type: "GET", 1381 url: url, 1382 dataType: "xml", 1383 success: function(xml) 1384 { 1385 autostart32=0; 1386 $(xml).find('channel').each(function() 1387 { 1388 1389 var channelId = $(this).find("channelId").text(); 1390 var region = $(this).find("region").text(); 1391 var userCountryCode = $(xml).find("userCountryCode").text(); 1392 // var channel = (channelId == 77?31:32); 1393 var channel = $(this).find("channelName").text(); 1394 var channel = channel.replace(/dtt/gi, ""); 1395 var pass = false; 1396 if(channel==32) { 1397 pass = true; 1398 if(pass) { 1399 // MediaTech lives in #tvplayer32-stream, not #tvPlayer32 1400 playerLoaded = is32PlayerMounted() ? 1 : 0; 1401 1402 var channelStatus = $(this).find("status").text(); 1403 1404 if (channelStatus == 0 && playerLoaded == 1) { 1405 1406 1407 teardown32Player('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1408 } 1409 else if (channelStatus == 0 && playerLoaded == 0) { 1410 1411 teardown32Player('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1412 } 1413 else if (channelStatus == 1 && playerLoaded == 0) { 1414 if (region == "all" || (region == userCountryCode)) { 1415 setupPlayer(32); 1416 } 1417 else if (region != userCountryCode) { 1418 1419 teardown32Player('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1420 } 1421 } 1422 else if (channelStatus == 1 && region != "all" && region != userCountryCode) { 1423 1424 1425 teardown32Player('<div class="message"><div class="text">'+window.only_for_hk+'</div></div><img src="/img/500x281.jpg" />'); 1426 } 1427 else if (channelStatus == 1 && playerLoaded == 1) { 1428 // already mounted â do NOT re-setup (prevents 60s autoplay) 1429 1430 } 1431 } 1432 } 1433 }); 1434 }, 1435 error: function(request, textStatus, errorThrown) 1436 { 1437 if (window.XDomainRequest) // Check whether the browser supports XDR. 1438 { 1439 xdr = new XDomainRequest(); 1440 if (xdr) 1441 { 1442 xdr.onload = loadGeoblock; 1443 xdr.timeout = 10000; 1444 xdr.open("get", url); 1445 xdr.send(); 1446 } 1447 } 1448 } 1449 }); 1450 } 1451 1452function loadGeoblock() { 1453 var xml = $.parseXML(xdr.responseText); 1454 handleXml(xml); 1455} 1456 1457function setThumbnail(image, channelNumber) { 1458 if (channelNumber == 31) { 1459 thumbnail31 = image; 1460 } else if (channelNumber == 32) { 1461 thumbnail32 = image; 1462 } else if (channelNumber == 33) { 1463 thumbnail33 = image; 1464 } else if (channelNumber == 34) { 1465 thumbnail34 = image; 1466 } else if (channelNumber == 35) { 1467 thumbnail35 = image; 1468 } else{ 1469 thumbnail36 = image; 1470 } 1471} 1472 1473function checkPlayerLoaded(tvSelector) { 1474 var jwplayerString = $(tvSelector).html(); 1475 if (typeof jwplayerString == 'undefined') 1476 return 0; 1477 jwplayerString = jwplayerString.toLowerCase(); 1478 var n = jwplayerString.indexOf("<param", 0); 1479 var s = jwplayerString.indexOf("<video", 0); 1480 var m = jwplayerString.indexOf('<div class="jwclick"', 0); //for iPad and iPhone
1481 var o = jwplayerString.indexOf('<span class="jwmain"', 0); //for iPad and iPhone 1482 var playerLoaded; 1483 if (n != -1 || m != -1 || s != -1 || o != -1) { 1484 playerLoaded = 1; 1485 } else { 1486 playerLoaded = 0; 1487 } 1488 return playerLoaded; 1489} 1490 1491function handleXml(xml) { 1492 $(xml).find('channel').each(function() { 1493 var channelId = $(this).find("channelId").text(); 1494 var region = $(this).find("region").text(); 1495 var userCountryCode = $(xml).find("userCountryCode").text(); 1496 // var channel = (channelId == 77 ? 31 : 32); 1497 var channel = $(this).find("channelName").text(); 1498 var channel = channel.replace(/dtt/gi, ""); 1499 // TV32 uses MediaTech in #tvplayer32-stream â not JWPlayer in #tvPlayer32 1500 playerLoaded = (channel == 32) 1501 ? (is32PlayerMounted() ? 1 : 0) 1502 : checkPlayerLoaded("#tvPlayer" + channel); 1503 1504 var channelStatus = $(this).find("status").text(); 1505 // if(channel == '32'){ 1506 // playerLoaded = checkPlayerLoaded("#tvplayer32-stream"); 1507 // }else{ 1508 // playerLoaded = checkPlayerLoaded("#tvPlayer" + channel); 1509 // } 1510 1511 if (channelStatus == 0 && playerLoaded == 1) { 1512 if(channel == 32){ 1513 teardown32Player('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1514 }else{ 1515 jwplayer("tvPlayer" + channel).remove(); 1516 $("#tvPlayer" + channel).html('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1517 } 1518 } 1519 else if (channelStatus == 0 && playerLoaded == 0) { 1520 if(channel == 32){ 1521 teardown32Player('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1522 }else{ 1523 $("#tvPlayer" + channel).html('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1524 } 1525 } 1526 else if (channelStatus == 1 && playerLoaded == 0) { 1527 if (region == "all" || (region == userCountryCode)) { 1528 if(channel==31) autostart31=1; else if(channel==32) autostart32=1; else if(channel==33) autostart33=1; else if(channel==34) autostart34=1; else if(channel==35) autostart35=1; else autostart36=1; 1529 if(channel == 32){ 1530 setup32PlayerByStatus(); 1531 }else{ 1532 setupPlayer(channel); 1533 } 1534 } 1535 else if (region != userCountryCode) { 1536 if(channel == 32){ 1537 teardown32Player('<div class="message"><div class="text">'+window.refer_live_webcast_schedule+'</div></div><img src="/img/500x281.jpg" />'); 1538 }else{ 1539 $("#tvPlayer" + channel).html('<div class="message"><div class="text">'+window.only_for_hk+'</div></div><img src="/img/500x281.jpg" />'); 1540 } 1541 1542 } 1543 } 1544 else if (channelStatus == 1 && region != "all" && region != userCountryCode) { 1545 if(channel == 32){ 1546 teardown32Player('<div class="message"><div class="text">'+window.only_for_hk+'</div></div><img src="/img/500x281.jpg" />'); 1547 }else{ 1548 if (playerLoaded == 1) { 1549 jwplayer("tvPlayer" + channel).remove(); 1550 } 1551 $("#tvPlayer" + channel).html('<div class="message"><div class="text">'+window.only_for_hk+'</div></div><img src="/img/500x281.jpg" />'); 1552 } 1553 1554 } 1555 1556 }); 1557 1558} 1559 1560function setupPlayer(tvSelector) { 1561if(tvSelector == 36){return false;} 1562 if (thumbnail31 == undefined || thumbnail31 == "" || thumbnail32 == undefined || thumbnail32 == "" || thumbnail33 == undefined || thumbnail33 == "" || thumbnail34 == undefined || thumbnail34 == "" || thumbnail32 == undefined || thumbnail32 == "") { 1563 thumbnail = "/img/768x432.jpg"; 1564 } else { 1565 if(tvSelector == 31){ 1566 thumbnail = thumbnail31; 1567 }else if(tvSelector == 32){ 1568 thumbnail = thumbnail32; 1569 }else if(tvSelector == 33){ 1570 thumbnail = thumbnail33; 1571 }else if(tvSelector == 34){ 1572 thumbnail = thumbnail34; 1573 }else if(tvSelector == 35){ 1574 thumbnail = thumbnail35; 1575 }else{ 1576 thumbnail = thumbnail36; 1577 } 1578 } 1579 1580 if (thumbnail31 == "//rthk.hk/apps/screen/default_images/prog_generic_768432.jpg" || thumbnail32 == "//rthk.hk/apps/screen/default_images/prog_generic_768432.jpg" || thumbnail33 == "//rthk.hk/apps/screen/default_images/prog_generic_768432.jpg" || thumbnail34 == "//rthk.hk/apps/screen/default_images/prog_generic_768432.jpg" || thumbnail35
1580== "//rthk.hk/apps/screen/default_images/prog_generic_768432.jpg") { 1581 thumbnail = "/img/768x432.jpg"; 1582 } else { 1583 if(tvSelector == 31){ 1584 thumbnail = thumbnail31; 1585 }else if(tvSelector == 32){ 1586 thumbnail = thumbnail32; 1587 }else if(tvSelector == 33){ 1588 thumbnail = thumbnail33; 1589 }else if(tvSelector == 34){ 1590 thumbnail = thumbnail34; 1591 }else if(tvSelector == 35){ 1592 thumbnail = thumbnail35; 1593 }else{ 1594 thumbnail = thumbnail36; 1595 } 1596 } 1597 1598 var tmp_html=""; 1599 1600 $('.tableBlock #timetable' + tvSelector).each(function(){ 1601 $(this).find('.showBlock .nameBlock').each(function(){ 1602 if(tmp_html!="")tmp_html+=" / "; 1603 tmp_html+=$(this).html(); 1604 }) 1605 }) 1606 1607 $('#tvplayer' + tvSelector + '-container .playTit').html(tmp_html); 1608 $("#tvplayer" + tvSelector + "-container .liveTye, .chLiv.tv31 .chLivTye").show(); 1609 if(tvSelector==32) 1610 { 1611 if (tvSelector==31) 1612 { 1613 tvNumber = 2036818; 1614 } 1615 if (tvSelector==32) 1616 { 1617 tvNumber = 2036819; 1618 } 1619 1620 if (tvSelector==32){ 1621 streamUrl = "https://rthktv32-live.akamaized.net/hls/live/2036819/RTHKTV32/master.m3u8"; 1622 }else{ 1623 streamUrl = "https://rthktv"+tvSelector+"-vos-live.akamaized.net/Content/HLS/Live/channel(rthk_ch"+tvSelector+")/index.m3u8"; 1624 } 1625 1626 streamUrl = "https://rthktv"+tvSelector+"-vos-live.akamaized.net/Content/HLS/Live/channel(rthk_ch"+tvSelector+")/index.m3u8"; 1627 } 1628 else if(tvSelector==31 || tvSelector==33 || tvSelector==34 || tvSelector==35 || tvSelector==36) 1629 { 1630 if (tvSelector==31) 1631 { 1632 tvNumber = 2036818; 1633 } 1634 if (tvSelector==33) 1635 { 1636 tvNumber = 2101641; 1637 } 1638 1639 if (tvSelector==34) 1640 1641 { 1642 tvNumber = 2101642; 1643 } 1644 1645 if (tvSelector==35) 1646 { 1647 tvNumber = 2101643; 1648 } 1649 if (tvSelector==36) 1650 { 1651 tvNumber = 2112176; 1652 } 1653 streamUrl = "https://rthktv"+tvSelector+"-live.akamaized.net/hls/live/"+tvNumber+"/RTHKTV"+tvSelector+"/master.m3u8"; 1654 if (tvSelector==36) 1655 { 1656 streamUrl = "https://rthktv36-vos-live.akamaized.net/Content/HLS/Live/channel(rthk_ch36)/index.m3u8"; 1657 }else if(tvSelector==33){ 1658 streamUrl = "https://rthktv33-vos-live.akamaized.net/Content/HLS/Live/channel(rthk_ch33)/index.m3u8"; 1659 }else if(tvSelector==34){ 1660 streamUrl = "https://rthktv34-vos-live.akamaized.net/Content/HLS/Live/channel(rthk_ch34)/index.m3u8"; 1661 }else if(tvSelector==35){ 1662 streamUrl = "https://rthktv35-vos-live.akamaized.net/Content/HLS/Live/channel(rthk_ch35)/index.m3u8"; 1663 } 1664 } 1665 1666 if(tvSelector != 32 && tvSelector != 31){ 1667 jwplayer("tvPlayer" + tvSelector).setup(merge({ 1668 primary: 'html5', 1669 hlshtml: true, 1670 width: '75%', 1671 aspectratio: "16:9", 1672 skin: get_formatted_skin("video_live", "audioS"), 1673 playlist: [{ 1674 image: thumbnail+"?20221202", 1675 sources: [{ 1676 file: streamUrl, 1677 type: "hls" 1678 }] 1679 }], 1680 autostart: false, 1681 androidhls: "true", 1682 /* 1683 events: { 1684 onReady: function(event) { 1685 var evt = document.createEvent('UIEvents'); 1686 evt.initUIEvent('resize', true, false, window, 0); 1687 window.dispatchEvent(evt); 1688 1689 }, 1690 onPlay: function(event) { 1691 var evt = document.createEvent('UIEvents'); 1692 evt.initUIEvent('resize', true, false, window, 0); 1693 window.dispatchEvent(evt); 1694 window.player_playing = 1; 1695 var _channel = ""; 1696 var _programme_folder = dttlist[tvSelector][currArr[tvSelector]["timestamp"]]["progfolder"]; 1697 var _date = ""; 1698 var _current_item = ""; 1699 if (tvSelector == "31") { 1700 _channel = "dtt31"; 1701 var _current_item = $('#tabledtt31 .showWrap.current'); 1702 } else if (tvSelector == "32") { 1703 _channel = "dtt32"; 1704 var _current_item = $('#tabledtt32 .showWrap.current'); 1705 } else if (tvSelector == "33") { 1706 _channel = "dtt33"; 1707 var _current_item = $('#tabledtt33 .showWrap.current'); 1708 } else if (tvSelector == "34") { 1709 _channel = "dtt34"; 1710 var _current_item = $('#tabledtt34 .showWrap.current'); 1711 } else if (tvSelector == "35") { 1712 _channel = "dtt35"; 1713 var _current_item = $('#tabledtt35 .showWrap.current'); 1714 } 1715 1716 _programme_folder = dttlist[tvSelector][currArr[tvSelector]["timestamp"]]["progfolder"]; 1717 if (_programme_folder == "" && tvSelector == "32") { 1718 _programme_folder = "港å°çµè§32èç®"; 1719 } else if (_programme_folder == "" && tvSelector == "31") { 1720 _programme_folder = "港å°çµè§31èç®"; 1721 } else if (_programme_folder == "" && tvSelector == "33") { 1722 _programme_folder = "港å°çµè§33èç®"; 1723 } else if (_programme_folder == "" && tvSelector == "34") { 1724 _programme_folder = "港å°çµè§34èç®"; 1725 } else if (_programme_folder == "" && tvSelector == "35") { 1726 _programme_folder = "港å°çµè§35èç®"; 1727 } 1728 var tmp_mam = dttlist[tvSelector][currArr[tvSelector]["timestamp"]]["mam"]; 1729 date = new Date(); 1730 _date = (date.getFullYear() + '-' + zeroPad((date.getMonth() + 1), 2) + '-' + zeroPad(date.getDate(), 2)); 1731 var _dcsqry = "lang=" + window.lang + "§ion=player_live&channel=" + _channel + "&programme=" + _programme_folder + "&date=" + _date + "&mam_episode_
1731code=" + tmp_mam; 1732 __LogPlayerAction(window.current_url, "", "player_live:" + _channel + "/" + _programme_folder, _date, "", _dcsqry); 1733 1734 $('.playerwrap.close .jwplayer').each(function() { 1735 jwplayer($(this).attr('id')).stop(); 1736 }) 1737 }, 1738 onPause: function(event) { 1739 window.player_playing = 0; 1740 }, 1741 onError: function(event) {} 1742 }, 1743 */ 1744 flashplayer: jw_path + 'jwplayer.flash.swf' 1745 }, get_additional_para())); 1746 }else if(tvSelector == 32){ 1747 // Already mounted â skip re-init (updateFeed used to re-init every 60s â autoplay) 1748 if (is32PlayerMounted() && $("#tvplayer32-stream video").length > 0) { 1749 return; 1750 } 1751 window.loading32 = true; 1752 window.loaded = false; 1753 window.options1 = { 1754 url: "https://lb.mediatech-ssc.net", 1755 channelId: "rthk_rthk32_ci_fc92cc61-9ba8-4f6b-911e-b271cdf35769", 1756 media: "audio+video", 1757 language: "ch1", 1758 minBufferTime: 1500, 1759 maxBufferTime: 1500, 1760 abrEnabled: true, 1761 burstEnabled: true, 1762 mseEnabled: true, 1763 mseOpusEnabled: true, 1764 iosWakeLockEnabled: true, 1765 iosBackgroundPlayEnabled: true, 1766 iosMediaElementEnabled: true, 1767 pauseSupportEnabled: true, 1768 pictureInPictureEnabled: true, 1769 sizeBasedResolutionCapEnabled: false, 1770 authenticationToken: "", 1771 advanced: { 1772 wasmDecodingConstraint: { 1773 width: 1920, 1774 height: 1080, 1775 bitRate: 6000000, 1776 } 1777 } 1778 }; 1779 1780 var xhttp = new XMLHttpRequest(); 1781 xhttp.onload = function() { 1782 var token = this.responseText; 1783 window.options1['authenticationToken'] = token; 1784 window.setRoot("#tvplayer32-stream"); window.init(window.options1, false, true, true);window.pause(); 1785 $('._container_13xnz_1 > div[aria-label="Language"]').html('<svg style="width: 20px;height: 23px; margin-top: 8px;margin-right: 8px;" id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21.1 20"><defs><style>.cls-1{fill-rule:evenodd;}.cls-1,.cls-2{fill:#fff;stroke-width:0px;}</style></defs><g id="Layer_1-2"><path id="Union" class="cls-1" d="M.3,4.3C1.2,2.3,3.2,0,6.7,0c4.8,0,7.6,3.6,7.6,7.1s-2.1,5.6-3.7,6.7c-1,.7-1.6,1.3-1.6,2.1,0,2.1-1.7,3.5-3.5,3.9-1.9.4-4.1-.2-5.2-2.5-.2-.5-.3-.9-.3-1.4V5.6c0-.4,0-.9.3-1.3ZM4.9,6.6c.3-.9.9-1.6,1.8-1.6,1.4,0,2.2,1.1,2.2,2.3s-.2,1.2-.4,1.5c-.2.3-.5.6-.9.8,0,0-.1,0-.2.1h0c-.4.2-.8.5-1.2.9-.5.5-.9,1.2-.9,2.1s0,.6-.2.7c0,0-.2.2-.3.2-.2,0-.5,0-.7-.4-.2-.5-.8-.8-1.3-.5-.5.2-.8.8-.5,1.3.5,1.2,1.8,1.8,2.9,1.6.6-.1,1.1-.4,1.5-.9.4-.5.6-1.2.6-1.9s0-.5.3-.6c.2-.2.4-.3.7-.5h0s0,0,0,0h0c.1,0,.2-.1.3-.2.5-.3,1.1-.7,1.5-1.4.5-.7.7-1.5.7-2.7,0-2.1-1.5-4.4-4.2-4.4s-3.3,1.7-3.8,3c-.2.5.1,1.1.6,1.3.5.2,1.1-.1,1.3-.6Z"/><path class="cls-2" d="M15.6,11.1c0-1.5.6-2.9,1.6-4,.4-.4.9-.4,1.2-.1.4.3.3.8,0,1.2-1.5,1.7-1.5,4,0,5.7.4.4.4.9,0,1.2-.4.3-.9.3-1.2-.1-1.1-1.1-1.6-2.5-1.6-4Z"/><path class="cls-2" d="M18.9,11.1c0-.7.2-1.2.7-1.7.3-.3.8-.4,1.2,0,.3.3.4.8,0,1.1-.4.5-.4.8,0,1.3.3.4.3.9,0,1.2-.3.3-.8.3-1.2,0-.5-.5-.7-1.1-.7-1.7Z"/></g></svg>'); 1786 1787 } 1788 xhttp.open("POST", "https://rthkauthtoken.azurewebsites.net/getToken.php"); 1789 xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 1790 xhttp.send("backendUrl=https://lb.mediatech-ssc.net&channelId=rthk_rthk32_ci_fc92cc61-9ba8-4f6b-911e-b271cdf35769"); 1791 1792 1793 1794 1795 }else if(tvSelector == 31){ 1796 1797 // var uid = btoa(navigator.userAgent + '_' + window.location.hostname); 1798 1799 $.get('https://gbcode.rthk.hk/TuniS/apip01.rthk.hk/drm/token.php?cid=tv31&uid=' + window.video_uid, function(result){ 1800 window.authToken31 = result.trim(); 1801 $.get('https://gbcode.rthk.hk/TuniS/apip01.rthk.hk/drm/keyID_RTHK_CH31_Pull_HLS_FP.txt', function(result) { 1802 window.lastFPKeyID31 = result.trim(); 1803 1804 1805 1806 1807 authValue31 = "Bearer " + window.authToken31; 1808 jwplayer("tvPlayer" + tvSelector).setup({primary: 'html5', 1809 hlshtml: true, 1810 width: '75%', 1811 aspectratio: "16:9", 1812 skin: get_formatted_skin("video_live", "audioS"), playlist: [{ 1813 "image": thumbnail31 + "?20221202", 1814 "sources": [{ 1815 "file":"https://rthktv31-vos-live.akamaized.net/Content/HLS/Live/channel(rthk_ch31)/index.m3u8", 1816 "drm":{ 1817 "fairplay":{ 1818 "processSpcUrl":"https://rthk.live.ott.irdeto.com/licenseServer/streaming/v1/rthk/getckc?contentId=RTHK_CH31_Pull_HLS_FP&keyId=" + window.lastFPKeyID31, 1819 "certificateUrl":"https://rthk.live.ott.irdeto.com/licenseServer/streaming/v1/rthk/getcertificate?applicationId=live", 1820 "licenseRequestHeaders":[{ 1821 "name": "Authorization", 1822 "value": authValue31 1823 }] 1824 } 1825 } 1826 } 1827 1828 ,{ 1829 "file": "https://rthktv31-vos-live.akamaized.net/Content/DASH/Live/channel
1829(rthk_ch31)/master.mpd", 1830 "drm": { 1831 "widevine": { 1832 "url": "https://rthk.live.ott.irdeto.com/licenseServer/widevine/v1/rthk/license?contentId=RTHK_CH31_Pull_DASH_WV_PR", 1833 "headers": [{ 1834 "name": "Authorization", 1835 "value": authValue31 1836 }] 1837 } 1838 } 1839 } 1840 1841 ,{ 1842 "file": "https://rthktv31-vos-live.akamaized.net/Content/DASH/Live/channel(rthk_ch31)/master.mpd", 1843 "drm": { 1844 "playready": { 1845 "url": "https://rthk.live.ott.irdeto.com/licenseServer/playready/v1/rthk/license?contentId=RTHK_CH31_Pull_DASH_WV_PR", 1846 "headers": [{ 1847 "name": "Authorization", 1848 "value": authValue31 1849 }] 1850 } 1851 } 1852 } 1853 ] 1854}]}).on('play', function(event){ 1855 var element = document.querySelector('[aria-label="mul"]'); 1856 element.innerText = "Multiple Langanges"; 1857 var element1 = document.querySelector('[aria-label="Chinese"]'); 1858 element1.innerText = "ç¹ä½ä¸æ"; 1859 }); 1860 1861 }); 1862 }); 1863 1864 1865 } 1866 jwplayer("tvPlayer" + tvSelector).on('ready', function(event){ 1867 var evt = document.createEvent('UIEvents'); 1868 evt.initUIEvent('resize', true, false, window, 0); 1869 window.dispatchEvent(evt); 1870 }); 1871 jwplayer("tvPlayer" + tvSelector).on('play', function(event){ 1872 var evt = document.createEvent('UIEvents'); 1873 evt.initUIEvent('resize', true, false, window, 0); 1874 window.dispatchEvent(evt); 1875 window.player_playing = 1; 1876 var _channel = ""; 1877 var _programme_folder = dttlist[tvSelector][currArr[tvSelector]["timestamp"]]["progfolder"]; 1878 var _date = ""; 1879 var _current_item = ""; 1880 if (tvSelector == "31") { 1881 _channel = "dtt31"; 1882 var _current_item = $('#tabledtt31 .showWrap.current'); 1883 } else if (tvSelector == "32") { 1884 _channel = "dtt32"; 1885 var _current_item = $('#tabledtt32 .showWrap.current'); 1886 } else if (tvSelector == "33") { 1887 _channel = "dtt33"; 1888 var _current_item = $('#tabledtt33 .showWrap.current'); 1889 } else if (tvSelector == "34") { 1890 _channel = "dtt34"; 1891 var _current_item = $('#tabledtt34 .showWrap.current'); 1892 } else if (tvSelector == "35") { 1893 _channel = "dtt35"; 1894 var _current_item = $('#tabledtt35 .showWrap.current'); 1895 } else if (tvSelector == "36") { 1896 _channel = "dtt36"; 1897 var _current_item = $('#tabledtt36 .showWrap.current'); 1898 } 1899 1900 _programme_folder = dttlist[tvSelector][currArr[tvSelector]["timestamp"]]["progfolder"]; 1901 if (_programme_folder == "" && tvSelector == "32") { 1902 _programme_folder = "港å°çµè§32èç®"; 1903 } else if (_programme_folder == "" && tvSelector == "31") { 1904 _programme_folder = "港å°çµè§31èç®"; 1905 } else if (_programme_folder == "" && tvSelector == "33") { 1906 _programme_folder = "港å°çµè§33èç®"; 1907 } else if (_programme_folder == "" && tvSelector == "34") { 1908 _programme_folder = "港å°çµè§34èç®"; 1909 } else if (_programme_folder == "" && tvSelector == "35") { 1910 _programme_folder = "港å°çµè§35èç®"; 1911 } else if (_programme_folder == "" && tvSelector == "36") { 1912 _programme_folder = "港å°çµè§36èç®"; 1913 } 1914 var tmp_mam = dttlist[tvSelector][currArr[tvSelector]["timestamp"]]["mam"]; 1915 date = new Date(); 1916 _date = (date.getFullYear() + '-' + zeroPad((date.getMonth() + 1), 2) + '-' + zeroPad(date.getDate(), 2)); 1917 var _dcsqry = "lang=" + window.lang + "§ion=player_live&channel=" + _channel + "&programme=" + _programme_folder + "&date=" + _date + "&mam_episode_code=" + tmp_mam; 1918 __LogPlayerAction(window.current_url, "", "player_live:" + _channel + "/" + _programme_folder, _date, "", _dcsqry); 1919 1920 $('.playerwrap.close .jwplayer').each(function() { 1921 jwplayer($(this).attr('id')).stop(); 1922 }) 1923 }); 1924 jwplayer("tvPlayer" + tvSelector).on('pause', function(event){window.player_playing = 0;}); 1925 jwplayer("tvPlayer" + tvSelector).on('error', function(event){console.log('error')}); 1926} 1927 1928var is = { ie: navigator.appName == 'Microsoft Internet Explorer', java: navigator.javaEnabled(), ns: navigator.appName == 'Netscape', ua: navigator.userAgent.toLowerCase(), version: parseFloat(navigator.appVersion.substr(21)) || parseFloat(navigator.appVersion), win: navigator.platform == 'Win32' } 1929is.mac = is.ua.indexOf('mac') >= 0; 1930if (is.ua.indexOf('opera') >= 0) { is.ie = is.ns = false;
1931 is.opera = true; } 1932if (is.ua.indexOf('gecko') >= 0) { is.ie = is.ns = false; 1933 is.gecko = true; } 1934 1935 1936/* ------ Dialog for Radio Live Player ------ */ 1937 1938function setCookie(cname, cvalue, exdays) { 1939 var d = new Date(); 1940 d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); 1941 var expires = "expires=" + d.toUTCString(); 1942 document.cookie = cname + "=" + cvalue + "; " + expires; 1943} 1944 1945function getCookie(cname) { 1946 var name = cname + "="; 1947 var ca = document.cookie.split(';'); 1948 for (var i = 0; i < ca.length; i++) { 1949 var c = ca[i]; 1950 while (c.charAt(0) == ' ') c = c.substring(1); 1951 if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 1952 } 1953 return ""; 1954} 1955 1956function getDateNow() { 1957 if (!Date.now) { 1958 Date.now = function() { 1959 return +new Date(); 1960 }; 1961 } 1962 return Date.now(); 1963} 1964 1965var timeAllowed = window.__countdown.max_duration; 1966var countDownSecond = window.__countdown.offset; 1967var timeRemain = timeAllowed; 1968resetTimer(); 1969 1970function resetTimer() { 1971 timeRemain = timeAllowed; 1972 var _startTime = Math.floor(getDateNow() / 1000);
1973 setCookie("startTime", _startTime, 1); 1974} 1975 1976function countDown(ch) { 1977 var status = jwplayer("player" + ch).getState(); 1978 status = status.toUpperCase(); 1979 var currentTimestamp = Math.floor(getDateNow() / 1000); 1980 _startTime = getCookie("startTime"); 1981 var timePassed = currentTimestamp - _startTime; 1982 timeRemain = timeAllowed - timePassed; 1983 1984 if (timeRemain <= 0 && status == "PLAYING") { 1985 jwplayer("player" + ch).stop(); 1986 window.player_playing = 0; 1987 $("#player" + ch).parents('.player-area').find('.playBtn').removeClass('pause'); 1988 $("#timeRemainTxt").html(""); 1989 $("#timeRemainTxtEng").html(""); 1990 resetTimer(); 1991 } else if (timeRemain > 0 && timeRemain <= countDownSecond && status == "PLAYING") { 1992 var timeRemainTxt = "è¦ç»§ç»å?"; 1993 $("#timeRemainTxt").html(getTimeChinese(timeRemain)); 1994 $("#timeRemainTxtEng").html(getTimeEnglish(timeRemain)); 1995 if ($("#dialog").is(":visible")) {} else { 1996 showDialog(ch); 1997 } 1998 } 1999 var currentTime = new Date(); 2000 var hours = currentTime.getHours(); 2001 var minutes = currentTime.getMinutes(); 2002 var seconds = currentTime.getSeconds(); 2003} 2004 2005function getTimeChinese(second) { 2006 var min = Math.floor(second / 60); 2007 var sec = second % 60; 2008 return "å°æ " + min + " å " + sec + " ç§"; 2009} 2010 2011function getTimeEnglish(second) { 2012 var min = Math.floor(second / 60); 2013 var sec = second % 60; 2014 return min + " min " + sec + " sec"; 2015} 2016 2017function showDialog(ch) { 2018 $("#dialog").dialog({ 2019 resizable: false, 2020 height: 170, 2021 width: 370, 2022 modal: true, 2023 buttons: { 2024 "æ¯ Yes": function() { 2025 $(this).dialog("close"); 2026 var status = jwplayer("player" + ch).getState(); 2027 2028 status = status.toUpperCase(); 2029 if (status != "PLAYING") { 2030 jwplayer("player" + ch).play(); 2031 } 2032 if (!$('.playBtn[data-channel=' + ch + ']').hasClass('pause')) { 2033 $('.playBtn[data-channel=' + ch + ']').addClass("pause"); 2034 2035 } 2036 resetTimer(); 2037 }, 2038 "å¦ No": function() { 2039 $(this).dialog("close"); 2040 var status = jwplayer("player" + ch).getState(); 2041 status = status.toUpperCase(); 2042 if (status != "IDLE" && status != "PAUSED") { 2043 jwplayer("player" + ch).stop(); 2044 window.player_playing = 0; 2045 $('.playBtn').removeClass('pause'); 2046 } 2047 resetTimer(); 2048 } 2049 } 2050 }); 2051} 2052 2053 2054/*------ Scroll video action ------*/ 2055$(document).ready(function() { 2056 window.loaded31 = false; 2057 window.loaded32 = false 2058 window.pause();window.close(); 2059 $("#scroll31 > div > a").on("click", function(e) { 2060 window.pause();window.close(); 2061 if ($(this).data("video") != "") { 2062 e.preventDefault(); 2063 var cover = $(this).find("input[name=" + $(this).data("video") + "_cover]").val(); 2064 var title = $(this).find("input[name=" + $(this).data("video") + "_title]").val() || ""; 2065 if (title != '') { 2066 title = decodeURIComponent(title); 2067 title = title.replace(/\+/g, " "); 2068 } 2069 var url = $(this).find("input[name=" + $(this).data("video") + "_url]").val(); 2070 var _link = $(this).find("input[name=" + $(this).data("video") + "_link]").val() || ""; 2071 var _webtrend = $(this).find("input[name=" + $(this).data("video") + "_webtrend]").val() || ""; 2072 var _cg_n = $(this).find("input[name=" + $(this).data("video") + "_cg_n]").val() || ""; 2073 var _cg_s = $(this).find("input[name=" + $(this).data("video") + "_cg_s]").val() || ""; 2074 var _cg_q = $(this).find("input[name=" + $(this).data("video") + "_cg_q]").val() || ""; 2075 2076 var playerLoader = checkPlayerLoaded("#tvPlayer31"); 2077 if (playerLoader == 1) { 2078 jwplayer("tvPlayer31").remove(); 2079 } 2080 setupVideoPlayer("31", cover, url); 2081 playVideo31 = true; 2082 2083 $("#tvplayer31-container .liveTye, .chLiv.tv31 .chLivTye").hide(); 2084 2085 var tmp_html = ""; 2086 if (title !== "") { 2087 if (_link !== "") { 2088 tmp_html += '<a href="' + _link + '" target="_blank" ' + (_webtrend != '' ? 'onclick="__LogClickEventAction(\'' + _cg_n + '\',\'' + _cg_s + '\',\'' + _cg_q + '\');"' : '') + '>'; 2089 } 2090 tmp_html += title; 2091 if (_link !== "") { 2092 tmp_html += '</a>'; 2093 } 2094 } 2095 $("#tvplayer31-container .playTit").html(tmp_html); 2096 } 2097 }); 2098 2099 $("#scroll32 > div > a").on("click", function(e) { 2100 2101 if ($(this).data("video") != "") { 2102 e.preventDefault(); 2103 var cover = $(this).find("input[name=" + $(this).data("video") + "_cover]").val(); 2104 var title = $(this).find("input[name=" + $(this).data("video") + "_title]").val(); 2105 if (title != '') { 2106 title = decodeURIComponent(title); 2107 title = title.replace(/\+/g, " "); 2108 } 2109 var url = $(this).find("input[name=" + $(this).data("video") + "_url]").val(); 2110 var _link = $(this).find("input[name=" + $(this).data("video") + "_link]").val() || ""; 2111 var playerLoader = checkPlayerLoaded("#tvPlayer32"); 2112 if (playerLoader == 1) { 2113 jwplayer("tvPlayer32").remove(); 2114 } 2115 setupVideoPlayer("32", cover, url); 2116 playVideo32 = true; 2117 $("#tvplayer32-container .liveTye, .chLiv.tv31 .chLivTye").hide(); 2118 2119 var tmp_html = ""; 2120 if (title !== "") { 2121 if (_link !== "") { 2122 tmp_html += '<a href="' + _link + '" target="_blank">'; 2123 } 2124 tmp_html += title; 2125 if (_link !== "") { 2126 tmp_html += '</a>'; 2127 } 2128 } 2129 $("#tvplayer32-container .playTit").html(tmp_html); 2130 } 2131 }); 2132 2133 $("#scroll33 > div > a").on("click", function(e) { 2134 if ($(this).data("video") != "") { 2135 e.preventDefault(); 2136 var cover = $(this).find("input[name=" + $(this).data("video") + "_cover]").val(); 2137 var title = $(this).find("input[name=" + $(this).data("video") + "_title]").val(); 2138 if (title != '') { 2139 title = decodeURIComponent(title); 2140 title = title.replace(/\+/g, " "); 2141 } 2142 var url = $(this).find("input[name=" + $(this).data("video") + "_url]").val(); 2143 var _link = $(this).find("input[name=" + $(this).data("video") + "_link]").val() || ""; 2144 var playerLoader = checkPlayerLoaded("#tvPlayer33"); 2145 if (playerLoader == 1) { 2146 jwplayer("tvPlayer33").remove(); 2147 } 2148 setupVideoPlayer("33", cover, url); 2149 playVideo33 = true; 2150 $("#tvplayer33-container .liveTye, .chLiv.tv31 .chLivTye").hide(); 2151 2152 var tmp_html = ""; 2153 if (title !== "") { 2154 if (_link !== "") { 2155 tmp_html += '<a href="' + _link + '" target="_blank">'; 2156 } 2157 tmp_html += title; 2158 if (_link !== "") { 2159 tmp_html += '</a>'; 2160 } 2161 } 2162 $("#tvplayer33-container .playTit").html(tmp_html); 2163 } 2164 }); 2165 2166 $("#scroll34 > div > a").on("click", function(e) { 2167 if ($(this).data("video") != "") { 2168 e.preventDefault(); 2169 var cover = $(this).find("input[name=" + $(this).data("video") + "_cover]").val(); 2170 var title = $(this).find("input[name=" + $(this).data("video") + "_title]").val(); 2171 if (title != '') { 2172 title = decodeURIComponent(title); 2173 title = title.replace(/\+/g, " "); 2174 } 2175 var url = $(this).find("input[name=" + $(this).data("video") + "_url]").val(); 2176 var _link = $(this).find("input[name=" + $(this).data("video") + "_link]").val() || ""; 2177 var playerLoader = checkPlayerLoaded("#tvPlayer34"); 2178 if (playerLoader == 1) { 2179 jwplayer("tvPlayer34").remove(); 2180 } 2181 setupVideoPlayer("34", cover, url); 2182 playVideo34 = true; 2183 $("#tvplayer34-container .liveTye, .chLiv.tv31 .chLivTye").hide(); 2184 2185 var tmp_html = ""; 2186 if (title !== "") { 2187 if (_link !== "") { 2188 tmp_html += '<a href="' + _link + '" target="_blank">'; 2189 } 2190 tmp_html += title; 2191 if (_link !== "") { 2192 tmp_html += '</a>'; 2193 } 2194 } 2195 $("#tvplayer34-container .playTit").html(tmp_html); 2196 } 2197 }); 2198 2199 $("#scroll35 > div > a").on("click", function(e) { 2200 if ($(this).data("video") != "") { 2201 e.preventDefault(); 2202 var cover = $(this).find("input[name=" + $(this).data("video") + "_cover]").val(); 2203 var title = $(this).find("input[name=" + $(this).data("video") + "_title]").val(); 2204 if (title != '') { 2205 title = decodeURIComponent(title); 2206 title = title.replace(/\+/g, " "); 2207 } 2208 var url = $(this).find("input[name=" + $(this).data("video") + "_url]").val(); 2209 var _link = $(this).find("input[name=" + $(this).data("video") + "_link]").val() || ""; 2210 var playerLoader = checkPlayerLoaded("#tvPlayer35"); 2211 if (playerLoader == 1) { 2212 jwplayer("tvPlayer35").remove(); 2213 } 2214 setupVideoPlayer("35", cover, url); 2215 playVideo35 = true; 2216 $("#tvplayer35-container .liveTye, .chLiv.tv31 .chLivTye").hide(); 2217 2218 var tmp_html = ""; 2219 if (title !== "") { 2220 if (_link !== "") { 2221 tmp_html += '<a href="' + _link + '" target="_blank">'; 2222 } 2223 tmp_html += title; 2224 if (_link !== "") { 2225 tmp_html += '</a>'; 2226 } 2227 } 2228 $("#tvplayer35-container .playTit").html(tmp_html); 2229 } 2230 }); 2231 /*$("#scroll36 > div > a").on("click", function(e) { 2232 if ($(this).data("video") != "") { 2233 e.preventDefault(); 2234 var cover = $(this).find("input[name=" + $(this).data("video") + "_cover]").val(); 2235 var title = $(this).find("input[name=" + $(this).data("video") + "_title]").val(); 2236 if (title != '') { 2237 title = decodeURIComponent(title); 2238 title = title.replace(/\+/g, " "); 2239 } 2240 var url = $(this).find("input[name=" + $(this).data("video") + "_url]").val(); 2241 var _link = $(this).find("input[name=" + $(this).data("video") + "_link]").val() || ""; 2242 var playerLoader = checkPlayerLoaded("#tvPlayer36"); 2243 if (playerLoader == 1) { 2244 jwplayer("tvPlayer36").remove(); 2245 } 2246 setupVideoPlayer("36", cover, url); 2247 playVideo36 = true; 2248 $("#tvplayer36-container .liveTye, .chLiv.tv31 .chLivTye").hide(); 2249 2250 var tmp_html = ""; 2251 if (title !== "") { 2252 if (_link !== "") { 2253 tmp_html += '<a href="' + _link + '" target="_blank">'; 2254 } 2255 tmp_html += title; 2256 if (_link !== "") { 2257 tmp_html += '</a>'; 2258 } 2259 } 2260 $("#tvplayer36-container .playTit").html(tmp_html); 2261 } 2262 }); */ 2263}) 2264 2265function setupVideoPlayer(tvSelector, cover, file) { 2266 if(tvSelector == 32){ 2267 try { window.close(); } catch (e) {} 2268 $('#tvplayer32-stream *').remove(); 2269 window.loaded32 = false;
2270 window.loading32 = false; 2271 window._wantPlay32 = false; 2272 } 2273 var _type = "hls"; 2274 2275 var tmp_live_name = $('#tabledtt' + tvSelector + ' .showWrap.current .showTit').text() || ""; 2276 var tmp_live_link = $('#tabledtt' + tvSelector + ' .showWrap.current .showTit').attr('href') || ""; 2277 var tmp_html = ""; 2278 if (tmp_live_name !== "") { 2279 if (tmp_live_link !== "") { 2280 tmp_html += '<a href="' + tmp_live_link + '" target="_blank">'; 2281 } 2282 tmp_html += tmp_live_name.trim(); 2283 if (tmp_live_link !== "") { 2284 tmp_html += '</a>'; 2285 } 2286 } 2287 2288 jwplayer("tvPlayer" + tvSelector).setup(merge({ 2289 primary: 'html5', 2290 hlshtml: true, 2291 skin: get_formatted_skin("video", "audioS"), 2292 width: '75%', 2293 aspectratio: "16:9", 2294 image: cover, 2295 sources: [{ 'file': file, 'hls': _type }], 2296 autostart: true, 2297 androidhls: "true", 2298/* 2299 events: { 2300 onReady: function(event) { 2301 var evt = document.createEvent('UIEvents'); 2302 evt.initUIEvent('resize', true, false, window, 0); 2303 window.dispatchEvent(evt); 2304 }, 2305 onPlay: function(event) { 2306 var evt = document.createEvent('UIEvents'); 2307 evt.initUIEvent('resize', true, false, window, 0); 2308 window.dispatchEvent(evt); 2309 $(jwplayer("tvPlayer" + tvSelector).getContainer()).parent().find(".player-overlay").addClass("active"); 2310 $('.playerwrap.close .jwplayer').each(function() { 2311 jwplayer($(this).attr('id')).stop(); 2312 }) 2313 }, 2314 onPause: function(event) { 2315 $(jwplayer("tvPlayer" + tvSelector).getContainer()).parent().find(".player-overlay").removeClass("active"); 2316 window.player_playing = 0; 2317 }, 2318 onError: function(event) { 2319 } 2320 }, 2321*/ 2322 flashplayer: window.jw_path + 'jwplayer.flash.swf' 2323 }, get_additional_para())); 2324 2325 jwplayer("tvPlayer" + tvSelector).on('ready', function(event){ 2326 var evt = document.createEvent('UIEvents'); 2327 evt.initUIEvent('resize', true, false, window, 0); 2328 window.dispatchEvent(evt); 2329 }); 2330 jwplayer("tvPlayer" + tvSelector).on('play', function(event){ 2331 var evt = document.createEvent('UIEvents'); 2332 evt.initUIEvent('resize', true, false, window, 0); 2333 window.dispatchEvent(evt); 2334 $(jwplayer("tvPlayer" + tvSelector).getContainer()).parent().find(".player-overlay").addClass("active"); 2335 $('.playerwrap.close .jwplayer').each(function() { 2336 jwplayer($(this).attr('id')).stop(); 2337 }) 2338 }); 2339 jwplayer("tvPlayer" + tvSelector).on('pause', function(event){ 2340 $(jwplayer("tvPlayer" + tvSelector).getContainer()).parent().find(".player-overlay").removeClass("active"); 2341 window.player_playing = 0; 2342 }); 2343 jwplayer("tvPlayer" + tvSelector).on('error', function(event){}); 2344} 2345 2346function zeroPad(num, numZeros) { 2347 var n = Math.abs(num); 2348 var zeros = Math.max(0, numZeros - Math.floor(n).toString().length); 2349 var zeroString = Math.pow(10, zeros).toString().substr(1); 2350 if (num < 0) { 2351 zeroString = '-' + zeroString; 2352 } 2353 2354 return zeroString + n; 2355}
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.