const SELECTORS={PRIMIS_PLAYER:'[id^="primis_player"]',SEKINDO_PLAYER:'[id^="primis_playerSekindo"]',PLACEHOLDER_ID:"primis_placeholder",GALLERY:".Gallery",MEDIA_CONTAINER:".VirtualList--item",PRIMIS_CONTAINER:'[id^="primis_container_div"]'},CONFIG={SELECTORS,MEDIA_QUERIES:{DESKTOP_WIDE:window.matchMedia("(min-width: 1630px)"),MOBILE:window.matchMedia("(max-width: 820px)")},STYLES:{DESKTOP:`\n ${SELECTORS.PRIMIS_PLAYER} {\n bottom: 75px !important;\n }\n `,MOBILE:t=>`\n html, body {\n max-width: 100vw !important;\n }\n #primis_placeholder {\n width: ${t} !important;\n margin-bottom: 24px;\n }\n #placeHolder,\n [id^="Player-Div-Sekindo"],\n [id^="Video-iFrame-Sekindo"],\n [id^="Video-iFrame-Sekindo"] iframe,\n #imaSlotContainer {\n width: ${t} !important;\n }\n ${SELECTORS.SEKINDO_PLAYER} {\n left: 0 !important;\n width: ${t} !important;\n }\n #playlistLayoutElement {\n display: none !important;\n width: ${t} !important;\n margin-left: 0 !important;\n }\n #closeContainer {\n top: 0 !important;\n }\n #closeIcon {\n float: left !important;\n }\n `,MOBILE_DOCKED:"\n html, body {\n max-width: 100vw !important;\n }\n "},PRIMIS_CONFIG:{MOBILE_PRIMIS_URL:"https://live.primis.tech/live/liveView.php?s=119356&vp_content=plembed41d0pgsnkixw&cbuster=%%CACHEBUSTER%%",TEST_TAG:"https://live.primis.tech/live/liveView.php?s=119432&cbuster=%%CACHEBUSTER%%",DESKTOP_PRIMIS_URL:"https://live.primis.tech/live/liveView.php?s=117484&cbuster=%%CACHEBUSTER%%",Z_INDEX:"3",MOBILE_TOP_OFFSET:59,DESKTOP_BOTTOM_OFFSET:75,POSITION_UPDATE_THRESHOLD:300}};class PrimisManager{constructor(){this.state={primisLoaded:!1,primisActive:!1,initialStyleRemoved:!1,initialPlaceholderPosition:null,dockingBlocked:!1},this.elements={customStyle:document.createElement("style"),primisScript:null},this.setPrimisPosition=this.setPrimisPosition.bind(this),this.handleScroll=this.setPrimisPosition.bind(this)}getElement(t){return document.querySelector(t)}initializeStyles(){if(CONFIG.MEDIA_QUERIES.MOBILE.matches){const t=this.getElement(CONFIG.SELECTORS.GALLERY);if(!t)return void setTimeout((()=>this.initializeStyles()),100);const e=getComputedStyle(t).width;this.elements.customStyle.textContent=CONFIG.STYLES.MOBILE(e)}else CONFIG.MEDIA_QUERIES.DESKTOP_WIDE.matches&&(this.elements.customStyle.textContent=CONFIG.STYLES.DESKTOP);document.head.appendChild(this.elements.customStyle)}initializeMobileStyles(){this.elements.customStyle.remove(),this.elements.customStyle.textContent=CONFIG.STYLES.MOBILE_DOCKED,document.head.appendChild(this.elements.customStyle)}createMobilePlaceholder(){const t=document.querySelectorAll(CONFIG.SELECTORS.MEDIA_CONTAINER);if(!t.length)return;const e=t[0];if(document.getElementById(CONFIG.SELECTORS.PLACEHOLDER_ID))return;const i=document.createElement("div");i.id=CONFIG.SELECTORS.PLACEHOLDER_ID,i.style.position="absolute",e.insertAdjacentElement("afterend",i);const n=i.getBoundingClientRect();this.state.initialPlaceholderPosition={top:n.top};const s=new Event("primisPlaceholderInjected");window.dispatchEvent(s)}updatePlaceholderPosition(t=!1){const e=document.querySelectorAll(CONFIG.SELECTORS.MEDIA_CONTAINER),i=document.getElementById(CONFIG.SELECTORS.PLACEHOLDER_ID),n=this.getElement(CONFIG.SELECTORS.PRIMIS_PLAYER);let s="0";if(!e.length||!i||!this.state.initialPlaceholderPosition)return s="0",void setTimeout((()=>this.updatePlaceholderPosition()),100);s="1",n&&(n.style.opacity=s);const o=e[0],l=o.nextElementSibling,a=window.pageYOffset;if((Math.abs(a-this.state.initialPlaceholderPosition.top)<=CONFIG.PRIMIS_CONFIG.POSITION_UPDATE_THRESHOLD||t)&&l!==i){o.insertAdjacentElement("afterend",i);const t=i.getBoundingClientRect();this.state.initialPlaceholderPosition={top:t.top+window.pageYOffset,mediaContainer:o}}}handlePrimisContainerPosition(){if(!CONFIG.MEDIA_QUERIES.MOBILE.matches)return;const t=this.getElement(CONFIG.SELECTORS.PRIMIS_CONTAINER),e=document.getElementById(CONFIG.SELECTORS.PLACEHOLDER_ID);if(!t||!e)return;const i=e.getBoundingClientRect();i.top>=0&&i.bottom<=window.innerHeight&&!e.contains(t)&&(t.style.cssText="",e.appendChild(t))}handleMobileLayout(t){this.getElement(`[id^="${CONFIG.SELECTORS.PLACEHOLDER_ID}"]`)&&(this.state.dockingBlocked?setTimeout((()=>{this.state.dockingBlocked=!1}),100):(this.state.dockingBlocked=!0,this.getElement(".flow-cover")?(this.initializeMobileStyles(),t.style.top=`${CONFIG.PRIMIS_CONFIG.MOBILE_TOP_OFFSET}px`):(this.initializeStyles(),t.style.top="0")))}handleDesktopLayout(t){this.state.initialStyleRemoved||(t.style.zIndex=CONFIG.PRIMIS_CONFIG.Z_INDEX,t.style.display="",this.elements.customStyle.remove(),this.state.initialStyleRemoved=!0);const e=this.getElement(CONFIG.SELECTORS.GALLERY);if(!e)return;const i=e.getBoundingClientRect(),n=window.innerHeight,s=i.bottom>n?CONFIG.PRIMIS_CONFIG.DESKTOP_BOTTOM_OFFSET:Math.abs(i.bottom-n);t.style.bottom=`${s}px`}setPrimisPosition(){CONFIG.MEDIA_QUERIES.MOBILE.matches&&(this.createMobilePlaceholder(),this.updatePlaceholderPosition(),this.handlePrimisContainerPosition());const t=this.getElement(CONFIG.SELECTORS.PRIMIS_PLAYER);t&&(CONFIG.MEDIA_QUERIES.MOBILE.matches?this.handleMobileLayout(t):CONFIG.MEDIA_QUERIES.DESKTOP_WIDE.matches&&this.handleDesktopLayout(t))}loadScript(){if(this.state.primisLoaded)return;this.initializeStyles(),this.state.primisLoaded=!0;const t=new URLSearchParams(window.location.search);let e=CONFIG.PRIMIS_CONFIG.DESKTOP_PRIMIS_URL;t.has("primis_test")?e=CONFIG.PRIMIS_CONFIG.TEST_TAG:CONFIG.MEDIA_QUERIES.MOBILE.matches&&(e=CONFIG.PRIMIS_CONFIG.MOBILE_PRIMIS_URL),this.elements.primisScript=document.createElement("script"),this.elements.primisScript.type="text/javascript",this.elements.primisScript.language="javascript",this.elements.primisScript.src=e,document.body.append(this.elements.primisScript),this.setPrimisPosition(),window.addEventListener("scroll",this.handleScroll)}enable(){window.primisActive=!0,CONFIG.MEDIA_QUERIES.DESKTOP_WIDE.matches||CONFIG.MEDIA_QUERIES.MOBILE.matches?this.loadScript():CONFIG.MEDIA_QUERIES.DESKTOP_WIDE.addEventListener("change",(()=>this.loadScript()))}disable(){window.primisActive=!1;const t=this.getElement(CONFIG.SELECTORS.PRIMIS_PLAYER);t&&(t.style.display="none"),window.removeEventListener("scroll",this.handleScroll)}updatePosition(){setTimeout((()=>{this.updatePlaceholderPosition(!0),this.handlePrimisContainerPosition(),this.setPrimisPosition()}),200)}}const primisManager=new PrimisManager;window.addEventListener("enablePrimis",(()=>primisManager.enable()),!1),window.addEventListener("disablePrimis",(()=>primisManager.disable()),!1),window.addEventListener("updatePrimisPosition",(()=>primisManager.updatePosition())),window.primisActive=!1;