J o T a, spol. s r.o.

Firma J o T a, spol. s r.o., společnost s ručením omezeným. V obchodním rejstříku je zapsána pod spisovou značkou C 766, Krajský soud v Ostravě. Její základní kapitál je ve výši 200 000 Kč.

Základní údaje o subjektu

IČ:

14616777

Sídlo:

Plzeňská 798/465, Ostrava Stará Bělá, 724 00

Právní forma:

Společnost s ručením omezeným

Datum vzniku:

15. 10. 1991

DIČ:

CZ14616777

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

Registr ekonomických subjektů

Statistické údaje

institucionální sektor Národní soukromé nefinanční podniky
velikostní kat. dle počtu zam. Neuvedeno

Klasifikace ekonomických činností

38 Shromažďování, sběr a odstraňování odpadů, úprava odpadů k dalšímu využití
4120 Výstavba bytových a nebytových budov
41201 Výstavba bytových budov
431 Demolice a příprava staveniště
47190 Ostatní maloobchod v nespecializovaných prodejnách
711 Architektonické a inženýrské činnosti a související technické poradenství
773 Pronájem a leasing ostatních strojů, zařízení a výrobků

Obchodní rejstřík

Spisová značka

C 766, Krajský soud v Ostravě

Obchodní firma

J o T a , spol. s r.o. od 7. 6. 1991

Právní forma

Společnost s ručením omezeným od 7. 6. 1991

adresa

Plzeňská 798/465
Ostrava 72400 od 12. 5. 2015

adresa

Plzeňská č.p. 798/465
Ostrava - Stará Bělá 72400 do 12. 5. 2015 od 15. 7. 2002

adresa

Plzeňská 798
Ostrava - Stará Bělá 72400 do 15. 7. 2002 od 17. 7. 1998

adresa

Plzeňská 798
Ostrava 3 72400 do 17. 7. 1998 od 7. 6. 1991

Předmět podnikání

Projektová činnost ve výstavbě od 12. 6. 2014

Provádění staveb, jejich změn a odstraňování od 12. 6. 2014

Silniční motorová doprava - nákladní provozovaná vozidly nebo jízdními soupravami o největší povolené hmotnosti přesahující 3,5 tuny, jsou-li určeny k přepravě zvířat nebo věcí, - nákladní provozovaná vozidly nebo jízdními soupravami o největší povolené h motnosti nepřesahující 3,5 tuny, jsou-li určeny k přepravě zvířat nebo věcí od 12. 6. 2014

Výroba, obchod a služby neuvedené v přílohách 1 až 3 živnostenského zákona od 12. 6. 2014

provádění staveb včetně jejich změn, udržovacích prací na nich a jejich odstraňování do 12. 6. 2014 od 17. 7. 1998

koordinační činnost ve výstavbě do 12. 6. 2014 od 17. 7. 1998

pronájem stavebních strojů a mechanizmů do 12. 6. 2014 od 17. 7. 1998

podnikání v oblasti nakládání s odpady mimo nebezpečných do 12. 6. 2014 od 17. 7. 1998

projektová činnost v investiční výstavbě do 12. 6. 2014 od 6. 9. 1995

silniční motorová doprava do 12. 6. 2014 od 6. 9. 1995

provádění průmyslových staveb do 17. 7. 1998 od 27. 1. 1994

provádění inženýrských staveb včetně sídlištních celků do 17. 7. 1998 od 27. 1. 1994

provádění bytových a občanských staveb do 17. 7. 1998 od 27. 1. 1994

koupě zboží za účelem jeho dalšího prodeje a prodej do 12. 6. 2014 od 27. 1. 1994

1. Zpracování technologických částí projektů, provádění inženýrsko-technických služeb. do 27. 1. 1994 od 7. 6. 1991

2. Stavební dodavatelská - bez omezení. do 27. 1. 1994 od 7. 6. 1991

3. Poradenská činnost, vyřizování náležitostí pro individuální stavebnictví. do 27. 1. 1994 od 7. 6. 1991

4. Práce stavební, stolařské. do 27. 1. 1994 od 7. 6. 1991

5. práce demoliční. do 27. 1. 1994 od 7. 6. 1991

6. Výroba stavebních prvků a materiálů. do 27. 1. 1994 od 7. 6. 1991

7. prodej stavebního materiálu. do 27. 1. 1994 od 7. 6. 1991

8. služby zprostředkovatelské a obchodní. do 27. 1. 1994 od 7. 6. 1991

Ostatní skutečnosti

Obchodní korporace se podřídila zákonu jako celku postupem podle § 777 odst. 5 zákona č. 90/2012 Sb., o obchodních společnostech a družstvech. od 12. 6. 2014

Zastupování společnosti: Jménem společnosti je oprávněn jednat výkonný ředitel Kubita Josef a v jeho nepřítomnosti Ing. Milena Kubitová, zástupce výkonného ředitele. do 27. 1. 1994 od 7. 6. 1991

Kmenové jmění společnosti: 100 000,-- Kčs. do 27. 1. 1994 od 7. 6. 1991

Výše vkladů jednotlivých společníků: J. Kubita ........... 75 000,-- Kčs. Ing. M. Kubitová .... 25 000,-- Kčs. do 27. 1. 1994 od 7. 6. 1991

Datum uzavření společenské smlouvy: 25. dubna 1991. do 12. 5. 2015 od 7. 6. 1991

Kapitál

Základní kapitál

vklad 200 000 Kč

od 27. 3. 2007

Základní kapitál

vklad 100 000 Kč

do 27. 3. 2007 od 27. 1. 1994

Statutární orgán

2 fyzické osoby

Ing. Barbara Synovcová

Jednatel

První vztah: 29. 7. 2020

vznik funkce: 7. 7. 2020

Bělská 63, Krmelín, 739 24, Česká republika

Michaela Rychecká

Jednatel

První vztah: 29. 7. 2020

vznik funkce: 7. 7. 2020

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Historické vztahy

Josef Kubita

Jednatel

První vztah: 12. 5. 2015 - Poslední vztah: 25. 11. 2019

vznik funkce: 1. 1. 1992

zánik funkce: 7. 11. 2019

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Josef Kubita

jednatel

První vztah: 12. 6. 2014 - Poslední vztah: 12. 5. 2015

vznik funkce: 1. 1. 1992

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Ing. Milena Kubitová

jednatel

První vztah: 17. 7. 1998 - Poslední vztah: 27. 3. 2007

vznik funkce: 1. 1. 1992

zánik funkce: 14. 2. 2007

Plzeňská 798, Ostrava - Stará Bělá, Česká republika

Josef Kubita

jednatel

První vztah: 17. 7. 1998 - Poslední vztah: 12. 6. 2014

vznik funkce: 1. 1. 1992

Plzeňská 798, Ostrava - Stará Bělá, Česká republika

Josef Kubita

jednatel

První vztah: 27. 1. 1994 - Poslední vztah: 17. 7. 1998

Plzeňská 798, Ostrava 3, Česká republika

Ing. Milena Kubitová

jednatel

První vztah: 27. 1. 1994 - Poslední vztah: 17. 7. 1998

Plzeňská 798, Ostrava 3, Česká republika

Josef Kubita, ženatý

společník

První vztah: 7. 6. 1991 - Poslední vztah: 27. 1. 1994

Plzeňská 798, Ostrava 3, Česká republika

Ing. Milena Kubitová, Vdaná

společník

První vztah: 7. 6. 1991 - Poslední vztah: 27. 1. 1994

Plzeňská 798, Ostrava 3, Česká republika

Za společnost jedná každý z jednatelů samostatně s výjimkou právních jednání, jejichž předmětem zcizení či zatížení nemovité věci, uznání dluhu, zajištění dluhu společnosti nebo třetí osoby, poskytnutí (podpis) směnky nebo směnečného rukojemství, vznik, z měna nebo zánik závazku ze smlouvy o úvěru nebo zápůjčce a (v ostatních případech) vznik, změna nebo zánik peněžitého závazku společnosti, jehož výše se rovná nebo přesahuje částku ve výši 100.000,- Kč bez DPH, při kterých se vyžaduje zastoupení společno sti oběma jednateli současně. Za společnost udělují plnou moc třetí osobě nebo jednomu z jednatelů vždy oba jednatelé společně.

od 29. 7. 2020

Jednatel zastupuje společnost samostatně a v plném rozsahu.

do 29. 7. 2020 od 12. 5. 2015

Jednatel zastupuje společnost samostatně a v plném rozsahu. Počet členů statutárního orgánu: 1

do 12. 5. 2015 od 12. 6. 2014

Jednatelé jednají jménem společnosti samostatně

do 12. 6. 2014 od 27. 1. 1994

Další vztahy firmy J o T a, spol. s r.o.

2 fyzické osoby

Ing. Barbara Synovcová

První vztah: 18. 6. 2020

vklad 100 000 Kč

splaceno 100 000 Kč

obchodní podíl 50 %

Bělská 63, Krmelín, 739 24, Česká republika

Michaela Rychecká

První vztah: 18. 6. 2020

vklad 100 000 Kč

splaceno 100 000 Kč

obchodní podíl 50 %

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Historické vztahy

Ing. Barbara Synovcová

První vztah: 12. 5. 2015 - Poslední vztah: 18. 6. 2020

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 12,5 %

Bělská 63, Krmelín, 739 24, Česká republika

Ing. Barbara Synovcová

První vztah: 12. 5. 2015 - Poslední vztah: 29. 7. 2020

Bělská 63, Krmelín, 739 24, Česká republika

Josef Kubita

První vztah: 12. 5. 2015 - Poslední vztah: 18. 6. 2020

vklad 150 000 Kč

splaceno 150 000 Kč

obchodní podíl 75 %

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Michaela Rychecká

První vztah: 12. 5. 2015 - Poslední vztah: 18. 6. 2020

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 12,5 %

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Ing. Barbara Synovcová

První vztah: 12. 6. 2014 - Poslední vztah: 12. 5. 2015

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 12,5%

Bělská 63, Krmelín, 739 24, Česká republika

Josef Kubita

První vztah: 12. 6. 2014 - Poslední vztah: 12. 5. 2015

vklad 150 000 Kč

splaceno 150 000 Kč

obchodní podíl 75%

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Michaela Rychecká

První vztah: 12. 6. 2014 - Poslední vztah: 12. 5. 2015

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 12,5%

Plzeňská 798/465, Ostrava, 724 00, Česká republika

Ing. Barbara Synovcová

První vztah: 23. 5. 2007 - Poslední vztah: 12. 6. 2014

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 12,5 %

Bělská 63, Krmelín, 739 24, Česká republika

Michaela Rychetská

První vztah: 23. 5. 2007 - Poslední vztah: 23. 5. 2007

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 12,5 %

Plzeňská 798/465, Ostrava, 700 30, Česká republika

Michaela Rychecká

První vztah: 23. 5. 2007 - Poslední vztah: 12. 6. 2014

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 12,5 %

Plzeňská 798/465, Ostrava, 700 30, Česká republika

Ing. Milena Kubitová

První vztah: 27. 3. 2007 - Poslední vztah: 23. 5. 2007

vklad 50 000 Kč

splaceno 50 000 Kč

obchodní podíl 25 %

Plzeňská 798, Ostrava, Česká republika

Josef Kubita

První vztah: 27. 3. 2007 - Poslední vztah: 12. 6. 2014

vklad 150 000 Kč

splaceno 150 000 Kč

obchodní podíl 75 %

Plzeňská 798, Ostrava, Česká republika

Ing. Barbara Synovcová

První vztah: 27. 3. 2007 - Poslední vztah: 12. 5. 2015

Bělská 63, Krmelín, 739 24, Česká republika

Ing. Milena Kubitová

První vztah: 15. 7. 2002 - Poslední vztah: 27. 3. 2007

vklad 25 000 Kč

splaceno 25 000 Kč

obchodní podíl 25 %

Plzeňská 798, Ostrava - Stará Bělá, Česká republika

Josef Kubita

První vztah: 15. 7. 2002 - Poslední vztah: 27. 3. 2007

vklad 75 000 Kč

splaceno 75 000 Kč

obchodní podíl 75 %

Plzeňská 798, Ostrava - Stará Bělá, Česká republika

Ing. Milena Kubitová

První vztah: 17. 7. 1998 - Poslední vztah: 15. 7. 2002

vklad 25 000 Kč

splaceno 25 000 Kč

Plzeňská 798, Ostrava - Stará Bělá, Česká republika

Josef Kubita

První vztah: 17. 7. 1998 - Poslední vztah: 15. 7. 2002

vklad 75 000 Kč

splaceno 75 000 Kč

Plzeňská 798, Ostrava - Stará Bělá, Česká republika

Josef Kubita

První vztah: 27. 1. 1994 - Poslední vztah: 17. 7. 1998

vklad 75 000 Kč

splaceno 75 000 Kč

Plzeňská 798, Ostrava 3, Česká republika

Ing. Milena Kubitová

První vztah: 27. 1. 1994 - Poslední vztah: 17. 7. 1998

vklad 25 000 Kč

splaceno 25 000 Kč

Plzeňská 798, Ostrava 3, Česká republika

Živnostenský rejstřík

vznik první živnosti: 10. 9. 1992

Živnosti

Silniční motorová doprava - nákladní provozovaná vozidly nebo jízdními soupravami o největší povolené hmotnosti nepřesahující 3,5 tuny, jsou-li určeny k přepravě zvířat nebo věcí
Druh živnost koncesovaná
Vznik oprávnění 10. 7. 1995
Projektová činnost ve výstavbě
Druh živnost vázaná
Vznik oprávnění 12. 6. 1995
Výroba, obchod a služby neuvedené v přílohách 1 až 3 živnostenského zákona
Obory činnosti
  • Nakládání s odpady (vyjma nebezpečných)
  • Velkoobchod a maloobchod
  • Pronájem a půjčování věcí movitých
  • Poradenská a konzultační činnost, zpracování odborných studií a posudků
  • Nákup, prodej, správa a údržba nemovitostí
Druh živnost volná
Vznik oprávnění 22. 11. 1993
Provádění staveb, jejich změn a odstraňování
Druh živnost vázaná
Vznik oprávnění 10. 9. 1992
Přerušeno od 2. 12. 2019
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 »