F-Qrest z.ú.

Firma F-Qrest z.ú., ústav. V obchodním rejstříku je zapsána pod spisovou značkou O 599, Městský soud v Praze. Její základní kapitál je ve výši 100 Kč.

Základní údaje o subjektu

IČ:

28441397

Sídlo:

Sokolovská 675/9, Praha 8 Karlín, 186 00

Právní forma:

Ústav

Datum vzniku:

2. 9. 2008

Máte od tohoto subjektu nesplacené pohledávky?

Registr ekonomických subjektů

Statistické údaje

institucionální sektor Neziskové instituce sloužící domácnostem, národní soukromé
velikostní kat. dle počtu zam. Neuvedeno

Klasifikace ekonomických činností

4778 Ostatní maloobchod s novým zbožím ve specializovaných prodejnách
55 Ubytování
5629 Poskytování ostatních stravovacích služeb
772 Pronájem a leasing výrobků pro osobní potřebu a převážně pro domácnost
862 Ambulantní a zubní zdravotní péče
86909 Ostatní činnosti související se zdravotní péčí j. n.
8720 Sociální péče v zařízeních pro osoby s chronickým duševním onemocněním a osoby závislé na návykových látkách

Obchodní rejstřík

Spisová značka

O 599, Městský soud v Praze

Obchodní firma

Alzheimercentrum Filipov, z.ú. od 6. 6. 2018

Obchodní firma

Alzheimercentrum Filipov o.p.s. do 6. 6. 2018 od 2. 9. 2008

Právní forma

Ústav od 6. 6. 2018

Právní forma

Obecně prospěšná společnost do 6. 6. 2018 od 2. 9. 2008

adresa

Sokolovská 675/9
Praha 18600 od 3. 6. 2022

adresa

Zámecká 1/25
Čáslav 28601 do 3. 6. 2022 od 2. 9. 2008

Předmět podnikání

ubytovací služby do 18. 8. 2016 od 10. 5. 2010

zprostředkování obchodu a služeb do 18. 8. 2016 od 10. 5. 2010

poskytování služeb pro rodinu a domácnost - v rámci ubytování v hotelovém komplexu praní, žehlení, opravy a údržba oděvů a bytového textilu do 18. 8. 2016 od 10. 5. 2010

mimoškolní výchova a vzdělávání, pořádání kurzů do 18. 8. 2016 od 10. 5. 2010

školení, včetně lektorské činnosti do 6. 6. 2018 od 10. 5. 2010

masérské, rekondiční a regenerační služby, včetně bazénu Whirpool a sauny do 6. 6. 2018 od 10. 5. 2010

tlumočnické služby do 6. 6. 2018 od 10. 5. 2010

průvodcovské služby do 6. 6. 2018 od 10. 5. 2010

domácí zdravotní péče do 6. 6. 2018 od 2. 9. 2008

rehabilitační péče do 6. 6. 2018 od 2. 9. 2008

ambulantní zdravotní péče do 6. 6. 2018 od 2. 9. 2008

sociální služby do 6. 6. 2018 od 2. 9. 2008

půjčování rehabilitačních pomůcek do 6. 6. 2018 od 2. 9. 2008

nákup a prodej pro uživatele služeb do 6. 6. 2018 od 2. 9. 2008

stravování do 18. 8. 2016 od 2. 9. 2008

Předmět činnosti

Ústav se ustanovuje za účelem provozování následujících společensky užitečných služeb a)zdravotní péče, b)rehabilitační péče, c)ambulantní zdravotní péče, d)sociální služby, e)ubytovací služby, f)stravování (hostinská činnost), g)zprostředkování obchodu a služeb, h)nákup a prodej pro uživatele služeb, i)domácí zdravotní péče, j) poskytování služeb osobního charakteru a pro osobní hygienu, k) poskytování služeb pro rodinu a domácnost, l) praní pro domácnost, žehlení, opravy a údržba oděvů, bytového textilu a osobního zboží, m) poskytování služby péče o dítě v dětské skupině, n) mimoškolní výchova a vzdělávání, pořádání kurzů, školení, včetně lektorské činnosti o) půjčování rehabilitačních pomůcek, p) masérské, rekondiční a regenerační služby, včetně whirpool, q) tlumočnické služby, r) průvodcovské služby. od 6. 6. 2018

Ostatní skutečnosti

Obecně prospěšná společnost Alzheimercentrum Filipov o.p.s. změnila právní formu na ústav Alzheimercentrum Filipov, z.ú., na základě rozhodnutí správní rady ze dne 19.12.2017 od 7. 6. 2018

Kapitál

Základní kapitál

vklad 100 Kč

od 6. 6. 2018

Statutární orgán

1 fyzická osoba

Ing. Miroslav Maléř

ředitel

První vztah: 21. 10. 2022

vznik funkce: 12. 10. 2022

Jarmily Glazarové 354/9j, Olomouc, 779 00, Česká republika

Dalších 17 vztahů k této osobě

Historické vztahy

Jana Střihavková

Člen statutárního orgánu

První vztah: 28. 10. 2011 - Poslední vztah: 6. 6. 2018

Šultysova 167/14, Kutná Hora, 284 01, Česká republika

Ředitel ústavu činí za ústav všechna právní jednání

od 6. 6. 2018

Ředitel je statutárním orgánem obecně prospěšné společnosti, jenž řídí činnost obecně prospěšné společnosti a jedná jejím jménem.

do 6. 6. 2018 od 15. 8. 2017

Dozorčí rada

Historické vztahy

Petra Poláchová

člen dozorčí rady

První vztah: 27. 9. 2017 - Poslední vztah: 6. 6. 2018

vznik členství: 27. 9. 2017

zánik členství: 6. 6. 2018

Pravoslavná 565/8, Štěpánov, 783 13, Česká republika

Ing. Zlatuše Kmínková

člen dozorčí rady

První vztah: 15. 8. 2017 - Poslední vztah: 27. 9. 2017

vznik členství: 17. 5. 2017

zánik členství: 27. 9. 2017

U libeňského pivovaru 2444/6a, Praha, 180 00, Česká republika

Tomáš Absolon

předseda dozorčí rady

První vztah: 15. 8. 2017 - Poslední vztah: 6. 6. 2018

vznik členství: 17. 5. 2017

zánik členství: 6. 6. 2018

vznik funkce: 17. 5. 2017

zánik funkce: 6. 6. 2018

Dlouhá 489/36, Olomouc, 779 00, Česká republika

JUDr. Alena Sikorová

člen dozorčí rady

První vztah: 15. 8. 2017 - Poslední vztah: 6. 6. 2018

vznik členství: 17. 5. 2017

zánik členství: 6. 6. 2018

Topolová 421/4, Olomouc, 783 01, Česká republika

Dalších 20 vztahů k této osobě

Zlatuše Kmínková

člen dozorčí rady

První vztah: 6. 6. 2014 - Poslední vztah: 15. 8. 2017

vznik členství: 28. 2. 2014

zánik členství: 17. 5. 2017

U libeňského pivovaru 2444/6a, Praha, 180 00, Česká republika

Květoslava Vorlíková

člen dozorčí rady

První vztah: 6. 6. 2014 - Poslední vztah: 15. 8. 2017

vznik členství: 28. 2. 2014

zánik členství: 17. 5. 2017

Polepy 70, 411 47, Česká republika

Irena Hindlová

předseda dozorčí rady

První vztah: 24. 4. 2013 - Poslední vztah: 6. 6. 2014

vznik členství: 1. 6. 2011

zánik členství: 28. 2. 2014

vznik funkce: 2. 6. 2011

zánik funkce: 28. 2. 2014

Urbánkova 3364/55, Praha, 143 00, Česká republika

Irena Hindlová

člen dozorčí rady

První vztah: 17. 12. 2012 - Poslední vztah: 24. 4. 2013

vznik členství: 1. 6. 2011

zánik členství: 28. 2. 2014

zánik funkce: 28. 2. 2014

Urbánkova 3364/55, Praha, 143 00, Česká republika

Petra Vorlíková

člen dozorčí rady

První vztah: 17. 12. 2012 - Poslední vztah: 6. 6. 2014

zánik členství: 28. 2. 2014

vznik funkce: 1. 6. 2011

zánik funkce: 28. 2. 2014

Polepy 70, 411 47, Česká republika

Slavomír Bořuta

člen dozorčí rady

První vztah: 17. 12. 2012 - Poslední vztah: 15. 8. 2017

vznik členství: 1. 6. 2011

zánik členství: 17. 5. 2017

Na Valtické 703/70, Břeclav, 691 41, Česká republika

Další vztahy firmy F-Qrest z.ú.

1 fyzická osoba

Petra Poláchová

Revizor

První vztah: 13. 1. 2023

vznik funkce: 6. 6. 2018

Lužice 144, 785 01, Česká republika

Dalších 13 vztahů k této osobě

Historické vztahy

Petra Poláchová

Revizor

První vztah: 6. 6. 2018 - Poslední vztah: 13. 1. 2023

vznik funkce: 6. 6. 2018

Pravoslavná 565/8, Štěpánov, 783 13, Česká republika

Ing. Miroslav Maléř

člen správní rady

První vztah: 27. 9. 2017 - Poslední vztah: 6. 6. 2018

vznik členství: 27. 9. 2017

zánik členství: 6. 6. 2018

Jarmily Glazarové 354/9j, Olomouc, 779 00, Česká republika

MVDr. Martina Jůzová

člen správní rady

První vztah: 15. 8. 2017 - Poslední vztah: 27. 9. 2017

vznik členství: 17. 5. 2017

zánik členství: 27. 9. 2017

Sokolská 31, Nespeky, 257 22, Česká republika

Ing. Jan Martínek

člen správní rady

První vztah: 15. 8. 2017 - Poslední vztah: 20. 4. 2018

vznik členství: 17. 5. 2017

zánik členství: 22. 3. 2018

Čerchovská 2037/9, Praha, 120 00, Česká republika

Ing. Roman Schindler

předseda správní rady

První vztah: 15. 8. 2017 - Poslední vztah: 6. 6. 2018

vznik členství: 17. 5. 2017

zánik členství: 6. 6. 2018

vznik funkce: 17. 5. 2017

zánik funkce: 6. 6. 2018

Návazná 1245/45, Praha, 165 00, Česká republika

Pavel Vorlík

člen správní rady

První vztah: 6. 6. 2014 - Poslední vztah: 15. 8. 2017

vznik členství: 22. 4. 2014

zánik členství: 17. 5. 2017

Polepy 70, 411 47, Česká republika

Jaroslava Jůzová

člen správní rady

První vztah: 31. 12. 2013 - Poslední vztah: 15. 8. 2017

vznik členství: 2. 9. 2008

zánik členství: 17. 5. 2017

Velvarská 1650/11, Praha, 160 00, Česká republika

Zbyněk Gembiczki

člen správní rady

První vztah: 28. 6. 2013 - Poslední vztah: 6. 6. 2014

vznik členství: 2. 9. 2008

zánik členství: 22. 4. 2014

zánik funkce: 22. 4. 2014

Zahradní 131, Ratboř, 281 41, Česká republika

Další vztah k této osobě

Aleš Kulich

Předseda správní rady

První vztah: 17. 12. 2012 - Poslední vztah: 15. 8. 2017

vznik členství: 2. 9. 2008

zánik členství: 17. 5. 2017

vznik funkce: 18. 6. 2012

zánik funkce: 17. 5. 2017

Vinohradská 1368/26, Praha, 120 00, Česká republika

Aleš Kulich

člen správní rady

První vztah: 2. 9. 2008 - Poslední vztah: 17. 12. 2012

vznik členství: 2. 9. 2008

Vinohradská 1368/26, Praha, 120 00, Česká republika

Aleš Kulich

Zakladatel

První vztah: 2. 9. 2008 - Poslední vztah: 17. 12. 2012

Vinohradská 1368/26, Praha, 120 00, Česká republika

Jaroslava Jůzová

Zakladatel

První vztah: 2. 9. 2008 - Poslední vztah: 17. 12. 2012

Velvarská 1650/11, Praha, 160 00, Česká republika

Jaroslava Jůzová

člen správní rady

První vztah: 2. 9. 2008 - Poslední vztah: 31. 12. 2013

vznik členství: 2. 9. 2008

Velvarská 1650/11, Praha, 160 00, Česká republika

Zbyněk Gembiczki

člen správní rady

První vztah: 2. 9. 2008 - Poslední vztah: 28. 6. 2013

vznik členství: 2. 9. 2008

zánik členství: 22. 4. 2014

zánik funkce: 22. 4. 2014

Zahradní 131, Ratboř, 281 41, Česká republika

Další vztah k této osobě

Zakladatel

AC pp s.r.o.

První vztah: 3. 7. 2022

Sokolovská 675/9, Praha 8 Karlín, 186 00

Další 2 vztahy k tomuto subjektu

předseda správní rady

AC Správní I s.r.o.

První vztah: 23. 2. 2022

Sokolovská 675/9, Praha 8 Karlín, 186 00

Další 2 vztahy k tomuto subjektu

  • Společník

    AC pp s.r.o.

    Sokolovská 675/9, Praha 8 Karlín, 186 00

člen správní rady

AC Správní II s.r.o.

První vztah: 23. 2. 2022

Sokolovská 675/9, Praha 8 Karlín, 186 00

Další 2 vztahy k tomuto subjektu

  • Společník

    AC pp s.r.o.

    Sokolovská 675/9, Praha 8 Karlín, 186 00

člen správní rady

AC Správní III s.r.o.

První vztah: 23. 2. 2022

Sokolovská 675/9, Praha 8 Karlín, 186 00

Další 2 vztahy k tomuto subjektu

  • Společník

    AC pp s.r.o.

    Sokolovská 675/9, Praha 8 Karlín, 186 00

Ředitel

AC pp s.r.o.

První vztah: 3. 7. 2022 - Poslední vztah: 21. 10. 2022

Sokolovská 675/9, Praha 8 Karlín, 186 00

Ředitel

AC pp s.r.o.

První vztah: 6. 6. 2018 - Poslední vztah: 3. 7. 2022

Sokolovská 675/9, Praha 8 Karlín, 186 00

Předseda správní rady

ALZHEIMER HOME SPV 1 s.r.o.

První vztah: 6. 6. 2018 - Poslední vztah: 23. 2. 2022

Na Florenci 2116/15, Praha 1 Nové Město, 110 00

Člen správní rady

ALZHEIMER HOME SPV 2 s.r.o.

První vztah: 6. 6. 2018 - Poslední vztah: 23. 2. 2022

Na Florenci 2116/15, Praha 1 Nové Město, 110 00

Člen správní rady

ALZHEIMER HOME SPV 3 s.r.o.

První vztah: 6. 6. 2018 - Poslední vztah: 23. 2. 2022

Na Florenci 2116/15, Praha 1 Nové Město, 110 00

Zakladatel

AC pp s.r.o.

První vztah: 27. 9. 2017 - Poslední vztah: 3. 7. 2022

Sokolovská 675/9, Praha 8 Karlín, 186 00

Zakladatel

AC pp s.r.o.

První vztah: 9. 1. 2016 - Poslední vztah: 27. 9. 2017

Sokolovská 675/9, Praha 8 Karlín, 186 00

Zakladatel

AC pp s.r.o.

První vztah: 3. 7. 2013 - Poslední vztah: 9. 1. 2016

Sokolovská 675/9, Praha 8 Karlín, 186 00

Veškeré údaje o ekonomických subjektech, firmách a živnostnících, které zde uveřejňujeme, pocházejí z veřejně dostupných rejstříků (například obchodního rejstříku či živnostenského rejstříku). Pokud máte za to, že údaje jsou nepřesné či že by z nějakého důvodu veřejně dostupné být neměly, je nutno obrátit se na správce příslušného zdrojového rejstříku se žádostí o opravu či výmaz. Změna či odstranění údaje provedené správcem příslušného veřejně dostupného rejstříku se poté bez nutnosti Vašeho dalšího požadavku promítnou v rámci pravidelné aktualizace i do námi uveřejňovaných údajů.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).
'; document.getElementById('outstream-iframe').onload = function () { setupIframe(); } replayScreen = document.getElementById('iinfoOutstreamReplay'); iinfoOutstreamPosition = document.getElementById('iinfoOutstreamPosition'); outstreamContainer = document.getElementsByClassName('outstream-container')[0]; setupReplayScreen(); } function setupIframe() { outstreamDocument = document.getElementById('outstream-iframe').contentWindow.document; let el = outstreamDocument.createElement('style'); outstreamDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:-5px;right:25px}"; videoContent = outstreamDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; if ( location.href.indexOf('rejstriky.finance.cz') !== -1 || location.href.indexOf('finance-rejstrik') !== -1 || location.href.indexOf('firmy.euro.cz') !== -1 || location.href.indexOf('euro-rejstrik') !== -1 || location.href.indexOf('/rejstrik/') !== -1 || location.href.indexOf('/rejstrik-firem/') !== -1) { outstreamDirectPlayed = true; soundAllowed = true; iinfoVastUrlIndex = 0; } if (!outstreamDirectPlayed) { console.log('OUTSTREAM direct'); setUpIMA(true); } else { if (soundAllowed) { const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('OUTSTREAM sound allowed'); setUpIMA(false); }).catch(function () { console.log('OUTSTREAM sound forbidden'); renderBanner(); }); } } else { renderBanner(); } } } function getWrapper() { let articleWrapper = document.querySelector('.rs-outstream-placeholder'); // Outstream Placeholder from RedSys manipulation if (articleWrapper && articleWrapper.style.display !== 'block') { articleWrapper.innerHTML = ""; articleWrapper.style.display = 'block'; } // Don't render OutStream on homepages if (articleWrapper === null) { if (document.querySelector('body.p-index')) { return null; } } if (articleWrapper === null) { articleWrapper = document.getElementById('iinfo-outstream'); } if (articleWrapper === null) { articleWrapper = document.querySelector('.layout-main__content .detail__article p:nth-of-type(6)'); } if (articleWrapper === null) { // Euro, Autobible, Zdravi articleWrapper = document.querySelector('.o-article .o-article__text p:nth-of-type(6)'); } if (articleWrapper === null) { articleWrapper = document.getElementById('sidebar'); } if (!articleWrapper) { console.error("Outstream wrapper of article was not found."); } return articleWrapper; } function setupDimensions() { outstreamWidth = Math.min(iinfoOutstreamPosition.offsetWidth, 480); outstreamHeight = Math.min(iinfoOutstreamPosition.offsetHeight, 320); } /** * Sets up IMA ad display container, ads loader, and makes an ad request. */ function setUpIMA(direct) { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); if (direct) { adsRequest.adTagUrl = directVast; console.log('Outstream DIRECT CAMPAING advert: ' + directVast); videoContent.muted = true; videoContent.volume = 0; outstreamDirectPlayed = true; } else { adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Outstream advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; } // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = outstreamWidth; // adsRequest.linearAdSlotHeight = outstreamHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function setupReplayScreen() { replayScreen.addEventListener('click', function () { iinfoOutstreamPosition.remove(); iinfoVastUrlIndex = 0; outstreamInit(); }); } /** * Sets the 'adContainer' div as the IMA ad display container. */ function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. outstreamDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( outstreamDocument.getElementById('adContainer'), videoContent); } function unmuteAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } } /** * Loads the video content and initializes IMA ad playback. */ function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(outstreamWidth, outstreamHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } /** * Handles the ad manager loading and sets ad event listeners. * @param { !google.ima.AdsManagerLoadedEvent } adsManagerLoadedEvent */ function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } /** * Handles actions taken in response to ad events. * @param { !google.ima.AdEvent } adEvent */ function onAdEvent(adEvent) { // Retrieve the ad from the event. Some events (for example, // ALL_ADS_COMPLETED) don't have ad object associated. const ad = adEvent.getAd(); console.log('Outstream event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: // This is the first event sent for an ad - it is possible to // determine whether the ad is a video ad or an overlay. if (!ad.isLinear()) { // Position AdDisplayContainer correctly for overlay. // Use ad.width and ad.height. videoContent.play(); } outstreamDocument.getElementById('adContainer').style.width = '100%'; outstreamDocument.getElementById('adContainer').style.maxWidth = '640px'; outstreamDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); // This event indicates the ad has started - the video player // can adjust the UI, for example display a pause button and // remaining time. if (ad.isLinear()) { // For a linear ad, a timer can be started to poll for // the remaining time. intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } outstreamDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (outstreamLastError === 303) { if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } } break; case google.ima.AdEvent.Type.COMPLETE: // This event indicates the ad has finished - the video player // can perform appropriate UI actions, such as removing the timer for // remaining time detection. if (ad.isLinear()) { clearInterval(intervalTimer); } if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } break; } } /** * Handles ad errors. * @param { !google.ima.AdErrorEvent } adErrorEvent */ function onAdError(adErrorEvent) { // Handle the error logging. console.log(adErrorEvent.getError()); outstreamLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { renderBanner(); } } function renderBanner() { if (isBanner) { console.log('Outstream: Render Banner'); iinfoOutstreamPosition.innerHTML = ""; iinfoOutstreamPosition.style.height = "330px"; iinfoOutstreamPosition.appendChild(bannerDiv); } else { console.log('Outstream: Banner is not set'); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoOutstreamPosition.remove(); outstreamInit(); } else { return false; } adVolume = 1; return true; } /** * Pauses video content and sets up ad UI. */ function onContentPauseRequested() { videoContent.pause(); // This function is where you should setup UI for showing ads (for example, // display ad timer countdown, disable seeking and more.) // setupUIForAds(); } /** * Resumes video content and removes ad UI. */ function onContentResumeRequested() { videoContent.play(); // This function is where you should ensure that your UI is ready // to play content. It is the responsibility of the Publisher to // implement this function when necessary. // setupUIForContent(); } function onActiveView() { if (outstreamContainer) { const containerOffset = outstreamContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (outstreamPaused) { adsManager.resume(); outstreamPaused = false; } return true; } else { if (!outstreamPaused) { adsManager.pause(); outstreamPaused = true; } } } return false; } let outstreamInitInterval; if (typeof cpexPackage !== "undefined") { outstreamInitInterval = setInterval(tryToInitializeOutstream, 100); } else { const wrapper = getWrapper(); if (wrapper) { let outstreamInitialized = false; window.addEventListener('scroll', () => { if (!outstreamInitialized) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { outstreamInit(); outstreamInitialized = true; } } }); } } function tryToInitializeOutstream() { const wrapper = getWrapper(); if (wrapper) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { if (cpexPackage.adserver.displayed) { clearInterval(outstreamInitInterval); outstreamInit(); } } } else { clearInterval(outstreamInitInterval); } } }
OSZAR »