`` function iOS() { return [ 'iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod' ].includes(navigator.platform) // iPad on iOS 13 detection || (navigator.userAgent.includes("Mac") && "ontouchend" in document) } function resizechatframe(iframe) { iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px'; } var event_details = JSON.parse(`{"event_id":"3011","tag":"3011","name":"\\u05dc\\u05d5\\u05d9\\u05d4 \\u05d1 \\u05e9\\u05de\\u05d2\\u05e8 \\u05e9\\u05dc\\u05d5\\u05d7\\u05ea \\u05d7\\u05d1\\u05d3","time":"2021-04-02T11:40:00+03:00","title":"\\u05d4\\u05dc\\u05d5\\u05d5\\u05d9\\u05ea\\u05d4 \\u05e9\\u05dc \\u05d4\\u05e9\\u05dc\\u05d5\\u05d7\\u05d4\\n\\u05de\\u05e8\\u05ea \\u05de\\u05e8\\u05d9\\u05dd \\u05d1\\u05ea \\u05d4\\u05e8\\u05d1 \\u05d9\\u05e9\\u05d5\\u05e2\\u05d4 \\u05d7\\u05d3\\u05d3 \\u05e2\\"\\u05d4, \\n\\u05d0\\u05e9\\u05ea \\u05d9\\u05d1\\u05dc\\u05d7\\u05d8\\"\\u05d0 \\u05d4\\u05e9\\u05dc\\u05d9\\u05d7 \\u05d4\\u05e8\\u05d1 \\u05e9\\u05dc\\u05de\\u05d4 \\u05e9\\u05d9\\u05d7\\u05d9, \\u05d1\\u05df \\u05d8\\u05d5\\u05dc\\u05d9\\u05dc\\u05d0\\n","amazon":"f","poster":"\\/events\\/posters\\/IMG-20210402-WA00176066d0868730c.jpg","source":"https:\\/\\/www.dropbox.com\\/s\\/sq8cg4mv9cqvq84\\/%D7%A9%D7%99%D7%93%D7%95%D7%A8%20%D7%97%D7%95%D7%96%D7%A8.mp4?dl=0","status":"recorded","countdown":"f","vimeo_url":" https:\\/\\/vimeo.com\\/event\\/577690\\/embed","amazon_url":"https:\\/\\/ad110f8d013e.us-east-1.playback.live-video.net\\/api\\/video\\/v1\\/us-east-1.026666299757.channel.Tr8XEPbPEscw.m3u8","guest_list":"no","broadcasting":"t","deny_filtered":"f","secondary-title":"\\u05e9\\u05dc\\u05d5\\u05d7\\u05d9 \\u05d4\\u05e8\\u05d1\\u05d9 \\u05dc\\u05de\\u05e8\\u05db\\u05d6 \\u05d0\\u05e4\\u05e8\\u05d9\\u05e7\\u05d0","zoom_instructions":"f","recorded_need_password":"f","gdate":{"date":"4\\/2\\/2021","month":4,"day":2,"year":2021,"dow":5,"abbrevdayname":"Fri","dayname":"Friday","abbrevmonth":"Apr","monthname":"April"},"hebdate":{"day":"\\u05db","month":"\\u05e0\\u05d9\\u05e1\\u05df","year":"\\u05ea\\u05e9\\u05e4\\u05d0","dow":"\\u05d9\\u05d5\\u05dd \\u05e9\\u05d9\\u05e9\\u05d9"}}`); if (event_details.UsersChat=='t') { document.addEventListener("DOMContentLoaded", (event) => { document.getElementById('chatframe').style.display = 'block'; document.getElementById('chatframe').src="./chat?event="+event_details.event_id; document.querySelector('.chat-frame-container').style.display = 'flex'; }); } else { document.addEventListener("DOMContentLoaded", (event) => { document.querySelector('.chat-frame-container').style.display = 'none'; }); } window.addEventListener('message', function(event) { if (event.data && event.data.type === 'chat-visibility') { let chatContainer = document.querySelector('.chat-frame-container'); if (chatContainer) { if (event.data.visible) { chatContainer.classList.remove('chat-hidden'); } else { chatContainer.classList.add('chat-hidden'); } } } }); var is_logged = false;// JSON.parse(`false`); var tempo; //3011; /* array(0) { } */ var videojsPlayer; var lang = JSON.parse(`null`) ?? event_details['lang'] ?? 'heb'; var views_number = JSON.parse(`null`); const eventTime = event_details.time; function set_event_details(){ // const event_date = new Date(event_details['time'].replace('T', ' ')); const event_date = new Date(eventTime); const hours = String(event_date.getHours()).padStart(2, '0'); const minutes = String(event_date.getMinutes()).padStart(2, '0'); // const event_date = moment(event_details['time'].replace(/-/g, "/"), "YYYY/MM/DD hh:mm:s.SSS a").toDate(); // Safari compatibility... document.getElementById('event-title').innerHTML = event_details['title']?.replaceAll?.(/\n/g, '
') ?? ''; document.getElementById('event-subtitle').innerHTML = event_details['secondary-title']?.replaceAll?.(/\n/g, '
') ?? ''; document.getElementById('event-h-date').innerHTML = `${event_details['hebdate']['day']} ${event_details['hebdate']['month']}${event_details['hebdate']['year']}`; let begin_time; let live_time_text; if (lang == 'en'){ document.getElementById('event-g-date').innerHTML = `${event_details['gdate']['month']}/${event_details['gdate']['day']}${event_details['gdate']['year']}`; document.getElementById('event-day').innerHTML = `${event_details.gdate.abbrevdayname}`; document.getElementById('event-g-date').after(document.getElementById('event-h-date')); begin_time = 'Live broadcasting will begin at' live_time_text = 'Live now'; } else { document.getElementById('event-g-date').innerHTML = `${event_details['gdate']['day']}/${event_details['gdate']['month']}${event_details['gdate']['year']}`; document.getElementById('event-day').innerHTML = `${event_details.hebdate.dow}`; document.getElementById('event-g-date').before(document.getElementById('event-h-date')); begin_time = 'השידור יתחיל בשעה' live_time_text = 'כעת בשידור חי'; } if (event_details.status == 'live'){ if (event_details['broadcasting'] != 'f' || Date.now() > new Date(eventTime).getTime()){ document.getElementById('event-time').textContent = `${live_time_text}`; } else { document.getElementById('event-time').textContent = `${begin_time} ${hours}:${minutes}`; } if (event_details['dial_for_listening'] == 'f'){ document.querySelector('.listening-broadcast-btn')?.remove?.(); } } else { document.getElementById('event-time')?.remove?.(); Array.from(document.querySelectorAll('.button-after-player')).forEach(el => el.remove()); if(event_details['show_playback_download'] == 't'){ let dbn = downloadButtonNode.cloneNode(true); document.querySelector('.buttons-after-player-wrapper').appendChild(dbn); dbn.addEventListener('click', ()=>download(event_details['source'])); } } document.querySelector('.text-about-event').innerHTML = event_details['footer']?.replaceAll?.(/\n/g, '
') ?? ''; document.querySelector('.refresh-btn')?.addEventListener('click', () => location.reload()); document.getElementById('event-logo-img').src = event_details['logo']; // views number if (event_details["show_views_number"] != "t"){ document.querySelector('.video-views-number')?.remove?.(); } else { document.getElementById('views-number').innerText = views_number; } // set event links: let event_link_wrapper = document.getElementById('event-links-wrapper'); let event_link_btns = document.querySelectorAll('.event-link-btn'); let event_link_btn = event_link_btns[0]; Array.from(event_link_btns).forEach(el => el.remove()); [...Array(3).keys()].forEach(i => { let event_link_title = event_details[`event_link_title_${i+1}`]; let event_link_link = event_details[`event_link_link_${i+1}`]; if (event_link_title){ let new_elb = event_link_btn.cloneNode(true); new_elb.href = event_link_link; new_elb.querySelector('span').innerHTML = event_link_title.replace(/\*(.*?)\*/g, "$1");; document.getElementById('event-links-wrapper').appendChild(new_elb); } }) { const ad = document.querySelector('.event-ad'); const raw = event_details['poster']; // if (!raw) return; let arr = []; if (Array.isArray(raw)) { const wrapper = document.createElement('div'); wrapper.className = 'event-ads-grid'; arr = raw.map(s => String(s).trim()).filter(Boolean); const count = arr.length; arr.forEach(src => { const img = document.createElement('img'); img.src = src; img.className = 'event-ad-img'; img.style.width = `${100 / count}%`; wrapper.appendChild(img); }); ad.replaceWith(wrapper); } else if (typeof raw === 'string') { ad.src = raw; return; } } } // function poster_img_upload(container) { // const p = event_details.poster; // const container = container; // const arr = Array.isArray(p) ? p : [p]; // arr.forEach((src) => { // if (!src) return; // const img = document.createElement('img'); // img.src = src; // img.alt = 'poster'; // container.appendChild(img); // }); // } class VideoBox { players = []; c_player; constructor(el ,players, zoom=false){ this.element = el; this.videoBox = this.element.querySelector('.video-player-box'); this.btnBox = this.element.querySelector('.buttons-before-player-wrapper'); this.btnBox.innerHTML = ''; players.forEach(p => this.add_player(p)); if (zoom){ this.add_zoom_player(new Player('נגן זום', '', 'zoom')); } if ((!this.players.some(p => p.type === "amazon")) || (!('pictureInPictureEnabled' in document) && !HTMLVideoElement.prototype.requestPictureInPicture)) { let pip_btn = document.querySelector('.picture-in-picture-btn'); pip_btn?.remove(); } this.current_player = players[0]; } get current_player(){ return this.c_player; } set current_player(player){ this.c_player = player; $(this.videoBox).html(player.element); // if (player.type == 'videojs' && !iOS()){ // videojs(player.element);//.src(url); // } this.players.forEach(p => p.button.classList.remove('active')) player.button.classList.add('active'); } add_player(player){ this.players.push(player); if (player.button){ this.btnBox.appendChild(player.button); } player.box = this; } add_zoom_player(player){ this.add_player(player); let open_zoom_btn = openZoomButtonNode.cloneNode(true); open_zoom_btn.addEventListener('click', ()=>window.open(`${event_details.zoom_meeting_id?.replaceAll(' ', '')}?pwd=`+event_details.zoom_passcode, '_blank')) this.btnBox.appendChild(open_zoom_btn) } } function getzoomid(s) { let a=s.split('/'); let b=a[a.length-1]; return b; } class Player{ static create_button(name, type){ let button = type == 'zoom'? zoomButtonNode.cloneNode(true) : playerButtonNode.cloneNode(true); button.getElementsByTagName('span')[0].innerHTML = name; return button; } static create_vimeo_el(url){ // url=url.replace('isAutoPlay=0','isAutoPlay=1') document.getElementById("video-player-box").innerHTML = url; //insertHTMLWithScript("video-player-box",url) return; var urlstr=url; url = new URL(url); if (url.hostname === 'vimeo.com' && !url.pathname.endsWith('embed')){ url.hostname = 'player.vimeo.com'; url.pathname = 'video' + url.pathname; } { let el = $(``)[0]; el.width = el.height = '100%'; return el; } } static create_amazone_el(url, type){ var urlstr=url; if (urlstr.indexOf('iframe')>-1) { let el=$(urlstr) return el; } let el = $(``)[0]; el.width = el.height = '100%'; return el; } static create_videojs_el(url, type){ document.getElementById("video-player-box").innerHTML = ` `; url = new URL(url); if (url.hostname === 'www.dropbox.com'){ url.hostname = 'dl.dropbox.com'; // url.search = ''; } let el = $(`
`)[0]; el.width = el.height = '100%'; return el; } static create_zoom_el() { let el = $(``)[0]; el.width = el.height = '100%'; return el; } constructor(name, url, type){ this.name = name; this.url = url; this.type = type; this.button = Player.create_button(this.name, type); if (type){ switch (type) { case 'vimeo': this.element = Player.create_vimeo_el(url); break; case 'videojs': this.element = Player.create_videojs_el(url, "video/mp4"); break; // case 'amazon' : this.element = Player.create_videojs_el(url, "application/x-mpegURL"); break; case 'amazon' : this.element = Player.create_amazone_el(url, "application/x-mpegURL"); break; case 'zoom': this.element = Player.create_zoom_el(); break; } if (type=='vimeo') { this.button.addEventListener('click', ()=>{document.getElementById("video-player-box").innerHTML = url; this.box.players.forEach(p => p.button.classList.remove('active')) this.button.classList.add('active'); }); } else this.button.addEventListener('click', ()=>this.box.current_player = this); } } } class Modal{ constructor(content, close='.close-popup') { this.element = document.createElement('div'); this.element.style.cssText = "position: fixed; top:0; left:0; width: 100%; height: 100%; display: none; justify-content: center; align-items: center; z-index:100;" this.content = content; document.body.appendChild(this.element); this.element.appendChild(this.content); let self = this; if (close != false){ this.element.onclick = function(event){ if (event.target == this){ self.hide(); } }; content.querySelectorAll(close).forEach(el => el.addEventListener("click", () => this.hide())) } } show(){ this.element.style.display = 'flex'; } hide(){ this.element.style.display = 'none'; } } function get_players(before=false){ let players = [] if (event_details['amazon_default']==1) { if (event_details['backup_player'] != 'no'){ players.push(new Player(event_details['backup_name'] ?? 'נגן גיבוי', event_details[`backup_${event_details['backup_player']}_player_url`] ?? event_details[`backup_player_url`], !before ? event_details['backup_player'] : '' )); } if (event_details['vimeo_url']){ players.push(new Player(event_details['vimeo_name'] ?? 'נגן ראשי', event_details['vimeo_url'], !before ? 'vimeo' : '')); } } else { if (event_details['vimeo_url']){ players.push(new Player(event_details['vimeo_name'] ?? 'נגן ראשי', event_details['vimeo_url'], !before ? 'vimeo' : '')); } if (event_details['backup_player'] != 'no'){ players.push(new Player(event_details['backup_name'] ?? 'נגן גיבוי', event_details[`backup_${event_details['backup_player']}_player_url`] ?? event_details[`backup_player_url`], !before ? event_details['backup_player'] : '' )); } } return players; } function timeglobal(raw){ const d = new Date(raw); console.log(d.toString()); const p2 = n => String(n).padStart(2, '0'); const p3 = n => String(n).padStart(3, '0'); const details = `${d.getFullYear()}-${p2(d.getMonth() + 1)}-${p2(d.getDate())} ` + `${p2(d.getHours())}:${p2(d.getMinutes())}:${p2(d.getSeconds())}.` + p3(d.getMilliseconds()); return details; } function get_counter_el(){ let eventdetails = timeglobal(event_details.time); let el = $(`
`)[0]; el.width = el.height = '100%'; return el; } function get_before_poster(){ return $(`
`)[0]; } function get_before_message(){ return $(`
האירוע עדיין לא החל
This event has not started yet
`)[0]; } function get_before_el(){ switch (event_details['before']){ case 'countdown': return get_counter_el(); case 'message': return get_before_message(); case 'poster': return get_before_poster(); } } function set_video_box(){ const video_wrapper = document.querySelector('.video-player-wrapper'); if (event_details['status'] == 'live'){ if (event_details['broadcasting'] != 'f' || Date.now() > new Date(eventTime).getTime()){ let players = get_players(); if (players.length){ videoBox = new VideoBox(video_wrapper, get_players(), event_details.zoom_meeting_id); } if (lang == 'en'){ document.getElementById('event-time').textContent = "Live now" } else { document.getElementById('event-time').textContent = "כעת בשידור חי" } } else { let before_el = get_before_el(); let vp_box = video_wrapper.querySelector('.video-player-box'); vp_box.parentNode.replaceChild(before_el, vp_box); setInterval(() =>{ if (Date.now() > new Date(eventTime).getTime()){ location.reload(); } }, 1000); let players = get_players(before=true); if (players.length){ videoBox = new VideoBox(video_wrapper, get_players(before=true), event_details.zoom_meeting_id); } } } else if (event_details['status'] == 'recorded'){ if (event_details['source']){ let player_type = (event_details['source'].startsWith("https://player.vimeo.com/") || event_details['source'].startsWith("https://vimeo.com/")) ? 'vimeo' : 'videojs'; videoBox = new VideoBox(video_wrapper, [new Player('שידור חוזרPlayback', event_details['source'], player_type)], false); } } } function unfeature(){ document.querySelector('.r-nav').style.visibility = 'hidden'; document.getElementById('write-greetings-and-more-broadcasts-wrapper').remove(); document.querySelector('.fixed-write-greeting-btn-wrapper').remove(); document.querySelectorAll('.body-wrapper')[1].remove(); } function set_language(l){ lang = l; // $('#language-toggle').prop('checked', lang == 'heb'); // let dirs = {en:'ltr', heb:'rtl'}; // let dir = dirs[lang]; // $('html').attr('lang', lang); // $('body').css('direction', dir); // set_event_details(); $('#language-toggle').prop('checked', lang == 'heb'); let dirs = {en:'ltr', heb:'rtl'}; // let dir = dirs[lang]; $('html').attr('lang', lang); $('body').removeClass('lang-heb').removeClass('lang-en').addClass(`lang-${lang}`); set_event_details(); } function download(url) { url = new URL(url); var us=url.search; if ((us) && (us.indexOf('&dl=0')>-1)) us=us.replace(/&dl=0/,'&dl=1') else us+='&dl=1' if (url.hostname === 'www.dropbox.com'){ url.hostname = 'dl.dropbox.com'; url.search = us; } const a = document.createElement('a') a.href = url a.download = url.pathname.split('/').pop() document.body.appendChild(a) a.click() document.body.removeChild(a) } var playerButtonNode, playerButtonBox, zoomButtonNode, openZoomButtonNode, videoBox, downloadButtonNode; var techSuppModal; $(function() { techSuppModal = new Modal(document.getElementById('technical-support')); listeningBroadcastModal = new Modal(document.getElementById('listening-broadcast')); if (!is_logged && event_details['status'] == 'recorded' && event_details['recorded_need_password'] == 't'){ (new Modal(document.getElementById('password-popup'), false)).show(); } if (!is_logged && event_details['password'] ){ (new Modal(document.getElementById('password-popup'), false)).show(); } downloadButtonNode = document.getElementById('download-btn').cloneNode(true); set_language(lang); // set_event_details(); document.querySelector('.chat-button').remove(); playerButtonNode = document.querySelector('.main-player-btn').cloneNode(true); zoomButtonNode = document.querySelector('.zoom-player-btn').cloneNode(true); openZoomButtonNode = document.querySelector('.open-zoom-app-btn').cloneNode(true); set_video_box(); playerButtonBox = document.querySelector('.buttons-before-player-wrapper'); if (views_number != null){ const views_number_updater = setInterval(async() => { views_number = await action('get_views_number', [JSON.parse(`3011`)]) document.getElementById('views-number').innerText = views_number; // clearInterval(views_number_updater); }, 1000); } $('#technical-support .solutions-panel').on('click', function(){ techSuppModal.content.querySelectorAll('.solutions-panel').forEach(el => {if (el != this) el.classList.remove('active')}); this.classList.toggle('active'); }) $('.technical-support-btn').on('click', function() { // techSuppModal.content.querySelector('#broadcast-support-form').classList.remove('active'); techSuppModal.content.querySelectorAll('.solutions-panel').forEach(el => el.classList.remove('active')); techSuppModal.show(); }) var isfull = false; $('.full-width-btn').on('click', function() { var $wrap = $('.video-player-wrapper'); var $chat = $('.chat-frame-container'); isfull = !isfull; $wrap.css('max-width', ''); $wrap.toggleClass('full-width', isfull); // הסתרת/הצגת הצ'אט במצב תצוגה רחבה if ($chat.length) { if (isfull) { $chat.hide(); } else { $chat.show(); } } }); $('.picture-in-picture-btn').on('click', async function() { const boxEl = document.querySelector('.video-player-box'); const amazonPlayer = videoBox.players.find(p => p.type === 'amazon'); if (!amazonPlayer || !amazonPlayer.url) return; const tempVideo = document.createElement('video'); tempVideo.src = amazonPlayer.url; tempVideo.muted = true; tempVideo.playsInline = true; tempVideo.style.position = 'fixed'; tempVideo.style.width = '1px'; tempVideo.style.height = '1px'; tempVideo.style.opacity = '0'; tempVideo.setAttribute('crossorigin', 'anonymous'); document.body.appendChild(tempVideo); await tempVideo.play(); await new Promise(resolve => { if (tempVideo.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) { return resolve(); } tempVideo.addEventListener('loadeddata', resolve, { once: true }); }); await tempVideo.requestPictureInPicture(); boxEl?.querySelectorAll('video').forEach(v => { try { v.pause(); } catch (e) {} }); boxEl?.querySelectorAll('iframe').forEach(f => { f.dataset._oldVisibility = f.style.visibility || ''; f.style.visibility = 'hidden'; }); let overlay = document.getElementById('pip-main-overlay'); if (!overlay) { overlay = document.createElement('div'); overlay.id = 'pip-main-overlay'; overlay.style.cssText = ` position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.7); color:#fff; font-size:18px; text-align:center; z-index:5; `; overlay.innerHTML = 'מצב תמונה בתוך תמונה פעיל'; const wrapper = document.querySelector('.video-player-wrapper') || boxEl.parentElement; if (wrapper) { const cs = window.getComputedStyle(wrapper); if (cs.position === 'static') wrapper.style.position = 'relative'; wrapper.appendChild(overlay); } } else { overlay.style.display = 'flex'; } tempVideo.addEventListener('leavepictureinpicture', () => { boxEl?.querySelectorAll('iframe').forEach(f => { f.style.visibility = f.dataset._oldVisibility || ''; delete f.dataset._oldVisibility; }); const overlay2 = document.getElementById('pip-main-overlay'); overlay2?.remove(); tempVideo.pause(); tempVideo.remove(); }, { once: true }); }); $('.listening-broadcast-btn').on('click', function() { listeningBroadcastModal.show(); }) $('#language-toggle').on('input', function() { let lang = this.checked ? 'heb' : 'en'; set_language(lang); }) $('#broadcast-support-mail').on('click', function() { techSuppModal.content.querySelectorAll('.solutions-panel').forEach(el => {el.classList.remove('active')}); techSuppModal.content.querySelector('#broadcast-support-form').classList.add('active'); }) unfeature(); document.getElementById('body-scroll').style = 'unset'; }) function insertHTMLWithScript(element, htmlString) { const target = typeof element === 'string' ? document.getElementById(element) : element; // נקה תוכן קודם אם נדרש target.innerHTML = ''; // צור אלמנט זמני const temp = document.createElement('div'); temp.innerHTML = htmlString; // העתק אלמנטים שאינם סקריפט ליעד [...temp.childNodes].forEach(node => { if (!(node.tagName && node.tagName.toLowerCase() === 'script')) { target.appendChild(node); } }); // הרץ את הסקריפטים temp.querySelectorAll('script').forEach(oldScript => { const newScript = document.createElement('script'); if (oldScript.src) newScript.src = oldScript.src; if (oldScript.type) newScript.type = oldScript.type; if (oldScript.charset) newScript.charset = oldScript.charset; newScript.textContent = oldScript.textContent; document.body.appendChild(newScript); }); // ניקוי האלמנט הזמני temp.remove(); }