`` 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":"3624","tag":"3624","lang":"heb","logo":"https:\\/\\/dvirmedia.com\\/\\/events\\/posters\\/Screenshot_38368f229419122c.png","name":"\\u05d9\\u05e9\\u05e8\\u05d0\\u05dc \\u05db\\u05d4\\u05df \\u05de\\u05d1\\u05d7\\u05df \\u05e4\\u05d5\\u05de\\u05d1\\u05d9 \\u05d7\\u05ea\\u05df \\u05d4\\u05e9\\u05dc\\u05d5\\u05dd","time":"2025-10-19T18:30:00+03:00","title":"\\u05d4\\u05de\\u05d1\\u05d7\\u05df \\u05d4\\u05e4\\u05d5\\u05de\\u05d1\\u05d9\\n\\u05d5\\u05de\\u05e2\\u05de\\u05d3 \\u05d4\\u05d4\\u05db\\u05ea\\u05e8\\u05d4 \\u05d4\\u05d2\\u05d3\\u05d5\\u05dc\\n","before":"countdown","poster":"https:\\/\\/dvirmedia.com\\/\\/events\\/posters\\/WhatsApp Image 2025-10-17 at 14.19.33_b215a0ca68f228854f53d.jpg","source":"https:\\/\\/www.dropbox.com\\/scl\\/fi\\/tkexhip2a8ysnck1id79i\\/v.f1434741-2.mp4?rlkey=tum5fe1x2umqk58uetcp2662v&dl=0","status":"recorded","vimeo_url":"`)[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'); const btnPiP = document.querySelector('.picture-in-picture-btn'); if (btnPiP) btnPiP.style.display = ''; }); } else this.button.addEventListener('click', ()=>this.box.current_player = this); } else { this.element = url; 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'] : '' )); } } if (event_details['player_url_1'] && event_details['player_1'] != 0) { players.push(new Player(event_details['player_name_1'] ?? 'נגן נוסף 1', before ? '' : event_details['player_url_1'])); } if (event_details['player_url_2'] && event_details['player_2'] != 0) { players.push(new Player(event_details['player_name_2'] ?? 'נגן נוסף 2', before ? '' : event_details['player_url_2'])); } 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(`3624`)]) 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'); if (isfull) { $wrap.css('max-width', '952px'); isfull = false; } else { $wrap.css('max-width', '96vw'); isfull = true; } // // hide/show chat when switching to full width // if ($chat.length) { // // toggle collapsed state on container instead of hiding iframe directly // if (isfull) { // $chat.addClass('collapsed'); // } else { // $chat.removeClass('collapsed'); // $chat.css({ 'width': '290px', 'height': '80vh' }); // } // // debug info for troubleshooting // try { console.log('full-width toggled', { isfull, collapsed: $chat.hasClass('collapsed') }); } catch(e) {} // } // ensure the full-width button stays clickable (raise above possible overlays) const $btn = $(this); if (isfull) { $btn.css({ 'position': 'relative', 'z-index': 1000 }); } else { $btn.css({ 'position': '', 'z-index': '' }); } }); $('.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(); }