(function () { var ix_currentScript = document.currentScript; var ix_prnElmnt = ix_currentScript ? ix_currentScript.parentElement : document.body; var ix_href = ix_currentScript ? ix_currentScript.src : window.location.href; var ix_macro1 = new URL(ix_href); var ix_p = ix_macro1.searchParams.get('p'); var [ix_wd, ix_ht] = (ix_macro1.searchParams.get("sz") || "0x0") .split("x") .map(Number); var ix_pUrl = window.location.href; var ix_cB = Math.floor((Math.random() * 10000000000) + 1); var ix_fl_pos = ix_macro1.searchParams.get('float'); function ix_initPlayer() { if (window.__IX_OUTSTREAM_INIT_DONE__) return; window.__IX_OUTSTREAM_INIT_DONE__ = true; var ix_link = document.createElement('link'); ix_link.href = 'https://outstreamplayer.incrementxserv.com/video-js.css'; ix_link.rel = 'stylesheet'; document.head.appendChild(ix_link); var ix_style = document.createElement('style'); ix_style.textContent = '\n\ #ix_video-container {\n\ width: ' + parseInt(ix_wd) + 'px;\n\ height: ' + parseInt(ix_ht) + 'px;\n\ position: relative;\n\ background: #000;\n\ overflow: visible;\n\ transition: all 0.5s ease;\n\ }\n\ .ix_ipl_floating {\n\ position: fixed;\n\ bottom: 20px;\n\ width: 300px !important;\n\ height: 200px !important;\n\ z-index: 1000;\n\ box-shadow: 7px 7px 7px gray;\n\ }\n\ #video-player {\n\ width: 100%;\n\ height: 100%;\n\ object-fit: fill;\n\ }\n\ #video-player .vjs-big-play-button {\n\ display: none !important;\n\ }\n\ #custom-loader {\n\ position: absolute;\n\ top: 50%;\n\ left: 50%;\n\ transform: translate(-50%, -50%);\n\ border: 4px solid rgba(255, 255, 255, 0.3);\n\ border-radius: 50%;\n\ border-top: 4px solid #fff;\n\ width: 40px;\n\ height: 40px;\n\ animation: spin 1s linear infinite;\n\ z-index: 1000;\n\ display: none;\n\ }\n\ @keyframes spin {\n\ 0% { transform: translate(-50%, -50%) rotate(0deg); }\n\ 100% { transform: translate(-50%, -50%) rotate(360deg); }\n\ }\n\ @keyframes slideUp {\n\ from { transform: translateY(0); }\n\ to { transform: translateY(-100%); }\n\ }\n\ #ix_video-container.disabled {\n\ animation: slideUp 1s forwards;\n\ height: 0;\n\ }\n\ #ix_close-button {\n\ position: absolute;\n\ top: 0;\n\ right: 0; \n\ padding: 0px 5px;\n\ background-color: black;\n\ color: white;\n\ font-weight: bold;\n\ cursor: pointer;\n\ z-index: 1001;\n\ }\n\ #video-player .vjs-tech {\n\ object-fit: fill;\n\ }\n\ #ix_video-container.disabled .vjs-control-bar {\n\ display: none;\n\ }\n\ .video-js .vjs-progress-control {\n\ pointer-events: none;\n\ color: yellow;\n\ }\n\ .video-js .vjs-picture-in-picture-control {\n\ display: none !important;\n\ }\n\ .vjs-progress-control .vjs-play-progress {\n\ background-color: yellow;\n\ }\n\ .vjs-progress-control .vjs-play-progress:before {\n\ background-color: #ccc;\n\ }\n\ '; document.head.appendChild(ix_style); var ix_videoContainer = document.createElement('div'); ix_videoContainer.id = 'ix_video-container'; var ix_customLoader = document.createElement('div'); ix_customLoader.id = 'custom-loader'; ix_videoContainer.appendChild(ix_customLoader); var ix_videoPlayer = document.createElement('video'); ix_videoPlayer.id = 'video-player'; ix_videoPlayer.className = 'video-js vjs-default-skin'; ix_videoPlayer.setAttribute('controls', 'true'); ix_videoPlayer.setAttribute('preload', 'auto'); ix_videoPlayer.setAttribute('muted', 'true'); ix_videoPlayer.setAttribute('autoplay', 'true'); ix_videoContainer.appendChild(ix_videoPlayer); var ix_closeButton = document.createElement('div'); ix_closeButton.id = 'ix_close-button'; ix_closeButton.textContent = 'x'; ix_videoContainer.appendChild(ix_closeButton); if (ix_prnElmnt) { ix_prnElmnt.appendChild(ix_videoContainer); } var ix_script = document.createElement('script'); ix_script.src = 'https://outstreamplayer.incrementxserv.com/video.min.js'; document.body.appendChild(ix_script); var mainVideoClosed = false; ix_script.onload = function () { if (typeof videojs === 'undefined') return; var player = videojs('video-player', { controls: true, autoplay: false, preload: 'auto' }); var adSrc = null; var clickThroughUrl = null; var skipButton; function loadVastAd(adTagUrl) { var xhr = new XMLHttpRequest(); xhr.open('GET', adTagUrl, true); xhr.onload = function () { if (xhr.status === 200) { var ix_responseText = xhr.responseText; var parser = new DOMParser(); var xmlDoc = parser.parseFromString(ix_responseText, 'text/xml'); var ix_trackingTags = xmlDoc.querySelectorAll('Tracking'); ix_trackingTags.forEach(function (trackingTag) { if (trackingTag.textContent) ix_triggerNetworkRequest(trackingTag.textContent.trim()); }); var ix_impressionsTags = xmlDoc.querySelectorAll('Impression'); ix_impressionsTags.forEach(function (impressionTag) { if (impressionTag.textContent) ix_triggerNetworkRequest(impressionTag.textContent.trim()); }); var vastAdTagUri = xmlDoc.querySelector('VASTAdTagURI'); if (vastAdTagUri && vastAdTagUri.textContent) { var nestedVastUrl = vastAdTagUri.textContent.trim(); loadVastAd(nestedVastUrl); } else { var mediaFile = xmlDoc.querySelector('MediaFile'); if (!mediaFile) { var mediaFiles = xmlDoc.querySelectorAll('MediaFiles MediaFile'); if (mediaFiles.length > 0) { mediaFile = mediaFiles[0]; } } if (mediaFile && mediaFile.textContent) { adSrc = mediaFile.textContent.trim(); player.src(adSrc); function handleVASTResponse(responseText) { const subParser = new DOMParser(); const subXmlDoc = subParser.parseFromString(responseText, "text/xml"); const linearAd = subXmlDoc.querySelector('Linear'); if (linearAd) { const skipoffset = linearAd.getAttribute('skipoffset'); if (skipoffset) { const skipTime = parseSkipOffset(skipoffset); setTimeout(() => { showSkipButton('ix_video-container', 'skipButton1'); }, skipTime); } } } function parseSkipOffset(offsetStr) { const parts = offsetStr.split(':').map(Number); return (parts[0] * 60 + parts[1]) * 1000 + (parts[2] || 0); } function showSkipButton(containerId, buttonId) { const videoContainer = document.getElementById(containerId); if (!videoContainer || document.getElementById(buttonId)) return; skipButton = document.createElement('button'); skipButton.id = buttonId; skipButton.innerText = 'Skip Ad'; skipButton.style.position = 'absolute'; skipButton.style.border = '1px solid yellow'; skipButton.style.bottom = '31px'; skipButton.style.right = '5px'; skipButton.style.zIndex = '1000'; skipButton.style.backgroundColor = 'rgba(0, 0, 0, 0.7)'; skipButton.style.color = '#fff'; skipButton.style.padding = '3px 7px'; skipButton.style.cursor = 'pointer'; videoContainer.appendChild(skipButton); skipButton.addEventListener('click', () => { var btt1 = document.getElementById('skipButton1'); if (btt1) btt1.style.display = 'none'; if (player) { player.volume(0); player.pause(); player.src({ src: '' }); player.load(); player.dispose(); } hideVideo(); }); } handleVASTResponse(ix_responseText); var clickThroughElement = xmlDoc.querySelector('ClickThrough'); if (clickThroughElement && clickThroughElement.textContent) { clickThroughUrl = clickThroughElement.textContent.trim(); } player.play().then(function () { if (ix_customLoader) ix_customLoader.style.display = 'none'; }).catch(function (error) { if (ix_customLoader) ix_customLoader.style.display = 'none'; }); } else { if (ix_customLoader) ix_customLoader.style.display = 'none'; hideVideo(); } } } else { if (ix_customLoader) ix_customLoader.style.display = 'none'; } }; xhr.onerror = function () { if (ix_customLoader) ix_customLoader.style.display = 'none'; }; xhr.send(); } function ix_triggerNetworkRequest(url) { var ix_img = new Image(); ix_img.src = url; } var ix_vastTagUrl = '//bads.incrementxserv.com/vads/1?p=' + ix_p + '&cb=' + ix_cB + '&purl=' + encodeURIComponent(ix_pUrl) + '&sz=' + ix_wd + 'x' + ix_ht; if (ix_customLoader) ix_customLoader.style.display = 'block'; loadVastAd(ix_vastTagUrl); function setupClickEventForPlayer(videoElement) { if (!videoElement) return; videoElement.addEventListener('click', function (event) { if (event.target.closest('.vjs-control')) { return; } if (clickThroughUrl) { window.open(clickThroughUrl, '_blank'); } }); } setupClickEventForPlayer(player.el()); player.on('ended', function () { var btt1 = document.getElementById('skipButton1'); if (btt1) btt1.style.display = 'none'; hideVideo(); }); ix_closeButton.addEventListener('click', function () { var btt1 = document.getElementById('skipButton1'); if (btt1) btt1.style.display = 'none'; if (player) { player.volume(0); player.pause(); player.src({ src: '' }); player.load(); player.dispose(); } mainVideoClosed = true; hideVideo(); }); function hideVideo() { if (ix_closeButton) ix_closeButton.style.display = 'none'; if (ix_videoContainer) ix_videoContainer.classList.add('disabled'); setTimeout(function () { if (ix_videoContainer) ix_videoContainer.style.display = 'none'; }, 1000); } var floatingVideoClosed = false; var ix_ipl_playerElement = document.getElementById('video-player'); let ix_videoHeight = ix_ipl_playerElement ? ix_ipl_playerElement.offsetHeight : parseInt(ix_ht); let ix_videoPosition = ix_ipl_playerElement ? (ix_ipl_playerElement.getBoundingClientRect().top + window.scrollY) : 0; function ix_updateVideoPosition() { if (!ix_ipl_playerElement) return; ix_videoHeight = ix_ipl_playerElement.offsetHeight; ix_videoPosition = ix_ipl_playerElement.getBoundingClientRect().top + window.scrollY; } function ix_manageFloatingVideo() { if (!ix_ipl_playerElement || mainVideoClosed) return; const ix_currentScroll = window.scrollY; const viewportHeight = window.innerHeight; const skipBtn = document.getElementById('skipButton1'); const ix_videoOutOfViewTop = ix_videoPosition + ix_videoHeight < ix_currentScroll; const ix_videoOutOfViewBottom = ix_currentScroll + viewportHeight < ix_videoPosition; if (!floatingVideoClosed) { if (ix_videoOutOfViewTop || ix_videoOutOfViewBottom) { ix_ipl_playerElement.classList.add('ix_ipl_floating'); var ix_clbtn = document.getElementById('ix_close-button'); if (ix_fl_pos == 1) { let ix_jjj = document.getElementsByClassName('ix_ipl_floating'); if (ix_jjj.length > 0) ix_jjj[0].style.left = '20px'; var ix_jj = ix_ipl_playerElement.getBoundingClientRect().top; if (ix_clbtn) { ix_clbtn.style.right = 'auto'; ix_clbtn.style.position = 'fixed'; ix_clbtn.style.top = ix_jj + 'px'; ix_clbtn.style.left = '300px'; ix_clbtn.style.padding = '0px 5px'; ix_clbtn.style.background = 'black'; ix_clbtn.style.color = 'white'; ix_clbtn.style.fontWeight = 'bold'; ix_clbtn.style.cursor = 'pointer'; ix_clbtn.style.zIndex = '1001'; } if (skipBtn) { skipBtn.style.display = 'block'; skipBtn.style.position = 'fixed'; const rect = ix_ipl_playerElement.getBoundingClientRect(); skipBtn.style.bottom = '50px'; skipBtn.style.padding = '2px 3px'; skipBtn.style.fontSize = 'smaller'; skipBtn.style.right = (window.innerWidth - rect.right - 15) + 'px'; } } else { let ix_jjj = document.getElementsByClassName('ix_ipl_floating'); if (ix_jjj.length > 0) { ix_jjj[0].style.left = ''; ix_jjj[0].style.right = '20px'; } var ix_jj = ix_ipl_playerElement.getBoundingClientRect().top; if (ix_clbtn) { ix_clbtn.style.position = 'fixed'; ix_clbtn.style.top = ix_jj + 'px'; ix_clbtn.style.left = ''; ix_clbtn.style.right = '20px'; ix_clbtn.style.padding = '0px 5px'; ix_clbtn.style.background = 'black'; ix_clbtn.style.color = 'white'; ix_clbtn.style.fontWeight = 'bold'; ix_clbtn.style.cursor = 'pointer'; ix_clbtn.style.zIndex = '1001'; } if (skipBtn) { skipBtn.style.display = 'block'; skipBtn.style.position = 'fixed'; skipBtn.style.bottom = '50px'; skipBtn.style.right = '20px'; skipBtn.style.fontSize = 'smaller'; skipBtn.style.padding = '2px 3px'; } } } else { ix_ipl_playerElement.classList.remove('ix_ipl_floating'); ix_ipl_playerElement.style.left = '0px'; var ix_clbtn = document.getElementById('ix_close-button'); if (ix_clbtn) { ix_clbtn.style.position = 'absolute'; ix_clbtn.style.top = '0px'; ix_clbtn.style.right = ''; ix_clbtn.style.left = (parseInt(ix_wd) - 20) + 'px'; ix_clbtn.style.padding = '0px 5px'; ix_clbtn.style.background = 'black'; ix_clbtn.style.color = 'white'; ix_clbtn.style.fontWeight = 'bold'; ix_clbtn.style.cursor = 'pointer'; ix_clbtn.style.zIndex = '1001'; } if (skipBtn) { skipBtn.style.display = 'block'; skipBtn.style.position = 'absolute'; skipBtn.style.bottom = '31px'; skipBtn.style.right = '5px'; skipBtn.style.padding = '5px 8px'; skipBtn.style.fontSize = 'medium'; } } } } window.addEventListener('resize', function () { ix_updateVideoPosition(); ix_manageFloatingVideo(); }); window.addEventListener('scroll', ix_manageFloatingVideo); ix_updateVideoPosition(); ix_manageFloatingVideo(); }; } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', ix_initPlayer); } else { ix_initPlayer(); } })();