Stavební zákon - Společné územní a stavební řízení

Předpis č. 183/2006 Sb.

Znění od 1. 2. 2020

183/2006 Sb. Zákon o územním plánování a stavebním řádu (stavební zákon)

Společné územní a stavební řízení

§ 94j

(1) U staveb v působnosti obecného stavebního úřadu, staveb vymezených v § 15 odst. 1 písm. b) až d) a staveb vymezených v § 16 odst. 2 písm. d) lze vydat společné povolení. Příslušným k vydání společného povolení je stavební úřad příslušný k povolení stavby podle § 13 odst. 1, § 15 odst. 1 písm. b) až d) nebo § 16 odst. 2 písm. d).

(2) U souboru staveb se příslušnost k vydání společného povolení řídí příslušností k povolení stavby hlavní souboru staveb. Stavební úřady příslušné k umístění nebo povolení vedlejších staveb souboru jsou ve společném územním a stavebním řízení dotčenými orgány a pro potřeby vydání společného povolení vydávají namísto rozhodnutí závazná stanoviska.

(3) Stavební úřad, který vydal společné povolení, je příslušný k provedení kontrolní prohlídky rozestavěné stavby, k povolení změny stavby před dokončením podle § 118, k vydání rozhodnutí o odstranění stavby podle § 129 odst. 1 písm. b), bude-li jím povolená stavba prováděna v rozporu s povolením, popřípadě ji dodatečně povolit.

§ 94k

Účastníkem společného územního a stavebního řízení je

a) stavebník,

b) obec, na jejímž území má být požadovaný stavební záměr uskutečněn,

c) vlastník stavby, na které má být požadovaný stavební záměr uskutečněn, není-li sám stavebníkem, nebo ten, kdo má ke stavbě jiné věcné právo, není-li sám stavebníkem,

d) vlastník pozemku, na kterém má být požadovaný stavební záměr uskutečněn, není-li sám stavebníkem, nebo ten, kdo má jiné věcné právo k tomuto pozemku,

e) osoba, jejíž vlastnické právo nebo jiné věcné právo k sousedním stavbám anebo sousedním pozemkům nebo stavbám na nich může být společným povolením přímo dotčeno.

§ 94l

(1) Žádost o vydání společného povolení obsahuje kromě obecných náležitostí podle správního řádu dále

a) základní údaje o požadovaném záměru, jeho rozsahu a účelu, způsobu a době provádění, u dočasné stavby rovněž dobu jejího trvání a návrh úpravy pozemku po jejím odstranění,

b) identifikační údaje o pozemku nebo stavbě, na nichž se má stavební záměr uskutečnit,

c) údaj o tom, kdo bude stavební záměr provádět, je-li znám.

(2) K žádosti o vydání společného povolení stavebník připojí

a) souhlas k umístění a provedení stavebního záměru podle § 184a,

b) závazná stanoviska, popřípadě rozhodnutí dotčených orgánů podle zvláštních právních předpisů nebo tohoto zákona, a jiné doklady vyžadované zvláštními právními předpisy, nevydává-li se koordinované závazné stanovisko podle § 4 odst. 7, nebo nepostupuje-li se podle § 96b odst. 2,

c) stanoviska vlastníků veřejné dopravní nebo technické infrastruktury k možnosti a způsobu napojení nebo k podmínkám dotčených ochranných a bezpečnostních pásem,

d) smlouvy s příslušnými vlastníky veřejné dopravní nebo technické infrastruktury, vyžaduje-li záměr vybudování nové nebo úpravu stávající veřejné dopravní nebo technické infrastruktury,

e) dokumentaci pro vydání společného povolení, která obsahuje průvodní zprávu, souhrnnou technickou zprávu, situační výkresy, dokumentaci objektů a technických a technologických zařízení a dokladovou část,

f) návrh plánu kontrolních prohlídek stavby.

(3) V případě řízení s velkým počtem účastníků se v žádosti o vydání společného povolení účastníci řízení podle § 94k písm. e) identifikují označením pozemků a staveb evidovaných v katastru nemovitostí dotčených vlivem stavebního záměru.

(4) Dokumentace pro vydání společného povolení se připojuje ve dvojím vyhotovení, a není-li stavebník vlastníkem stavby, připojuje se jedno další vyhotovení. Další vyhotovení dokumentace se připojuje v případě souboru staveb, pokud k umístění nebo povolení vedlejší stavby není příslušný stavební úřad, který společné územní a stavební řízení vede, a to v počtu, který odpovídá počtu stavebních úřadů, které jsou v řízení dotčenými orgány; tato dokumentace musí vždy obsahovat průvodní zprávu, souhrnnou technickou zprávu, situační výkresy a dokumentaci objektů a technických a technologických zařízení, které jsou částmi vedlejší stavby, k jejímuž umístění nebo povolení je příslušný jiný stavební úřad než stavební úřad, který společné územní a stavební řízení vede.

(5) Pokud k žádosti o vydání společného povolení není připojena dokumentace pro vydání společného povolení nebo pokud není zpracována projektantem, stavební úřad takovou žádost neprojednává a řízení zastaví; usnesení o zastavení řízení se oznamuje pouze stavebníkovi.

(6) Pokud žádost o vydání společného povolení neobsahuje požadované náležitosti, stavební úřad vyzve stavebníka k jejímu doplnění a řízení přeruší; usnesení o přerušení řízení se oznamuje pouze stavebníkovi. Ustanovení § 88 o přerušení řízení se použije obdobně. Dojde-li k zastavení řízení z důvodů neodstranění vad žádosti, usnesení o zastavení řízení se oznamuje pouze stavebníkovi.

(7) Obsahové náležitosti žádosti a jejích příloh, včetně rozsahu a obsahu dokumentace pro vydání společného povolení, stanoví prováděcí právní předpis.

§ 94m

(1) Stavební úřad oznámí účastníkům řízení a dotčeným orgánům zahájení řízení nejméně 15 dnů před ústním jednáním, které spojí s ohledáním na místě, je-li to účelné. Zároveň upozorní dotčené orgány a účastníky řízení, že závazná stanoviska a námitky mohou uplatnit nejpozději při ústním jednání, jinak že k nim nebude přihlédnuto. V případech záměrů umisťovaných v území, ve kterém nebyl vydán územní plán, nařídí stavební úřad veřejné ústní jednání vždy.

(2) Oznámení o zahájení společného územního a stavebního řízení a další úkony v řízení se doručují účastníkům řízení a dotčeným orgánům jednotlivě, nejde-li o řízení s velkým počtem účastníků. V případě řízení s velkým počtem účastníků stavební úřad doručuje oznámení o zahájení řízení a další úkony v řízení účastníkům řízení podle § 94k písm. a) až d) a dotčeným orgánům jednotlivě; účastníky podle § 27 odst. 1 správního řádu jsou vždy účastníci podle § 94k písm. a), c) a d). U stavebních záměrů zasahujících do území několika obcí se v řízení s velkým počtem účastníků oznámení o zahájení řízení a další úkony v řízení doručují vždy veřejnou vyhláškou podle § 25 odst. 3 správního řádu; jednotlivě se doručuje dotčeným orgánům a účastníkům řízení podle § 94k písm. a) až d). Účastníci řízení podle § 94k písm. e) se v oznámení o zahájení řízení a v dalších úkonech v řízení doručovaných veřejnou vyhláškou identifikují označením pozemků a staveb evidovaných v katastru nemovitostí dotčených vlivem stavebního záměru.

(3) Od ohledání na místě, popřípadě i od ústního jednání, může stavební úřad upustit, jsou-li mu dobře známy poměry staveniště a žádost poskytuje dostatečný podklad pro posouzení stavebního záměru a stanovení podmínek k jeho provádění. Upustí-li od ústního jednání, určí lhůtu, která nesmí být kratší než 15 dnů, do kdy mohou dotčené orgány uplatnit závazná stanoviska a účastníci řízení své námitky. Zároveň je upozorní, že k později uplatněným závazným stanoviskům, námitkám, nebude přihlédnuto. Ustanovení § 113 odst. 1 a 2 se použije obdobně.

§ 94n

(1) Závazná stanoviska, která mohou dotčené orgány uplatňovat podle § 4 odst. 4, musí být uplatněna nejpozději při ústním jednání, případně při veřejném ústním jednání, jinak se k nim nepřihlíží. Jestliže dojde k upuštění od ústního jednání, musí být uplatněna ve stanovené lhůtě, jinak se k nim nepřihlíží. Připomínky veřejnosti musí být uplatněny nejpozději při veřejném ústním jednání, jinak se k nim nepřihlíží.

(2) K závazným stanoviskům a námitkám k věcem, o kterých bylo rozhodnuto při vydání územně plánovací dokumentace, se nepřihlíží.

(3) Osoba, která je účastníkem řízení podle § 94k písm. c) až e), může uplatňovat námitky proti projednávanému stavebnímu záměru, dokumentaci, způsobu provádění a užívání stavebního záměru nebo požadavkům dotčených orgánů, pokud jimi může být přímo dotčeno jeho vlastnické nebo jiné věcné právo k pozemku nebo stavbě. Obec uplatňuje ve společném územním a stavebním řízení námitky k ochraně zájmů obce a zájmů občanů obce. Osoba, která je účastníkem řízení podle zvláštního právního předpisu, může v řízení uplatňovat námitky pouze v rozsahu, v jakém je projednávaným stavebním záměrem dotčen veřejný zájem, jehož ochranou se podle zvláštního právního předpisu zabývá. K námitkám, které nesplňují uvedené požadavky, se nepřihlíží. Účastník řízení ve svých námitkách uvede skutečnosti, které zakládají jeho postavení jako účastníka řízení, a důvody podání námitek.

(4) Námitky stavební úřad posoudí na základě obecných požadavků na výstavbu, závazných stanovisek, popřípadě rozhodnutí dotčených orgánů nebo technických norem, pokud taková námitka nepřesahuje rozsah jeho působnosti. O námitce občanskoprávní povahy si stavební úřad učiní úsudek a rozhodne ve věci; to neplatí v případě námitek týkajících se existence nebo rozsahu vlastnických nebo jiných věcných práv. O podmínkách pro uplatňování námitek musí být účastníci řízení poučeni v oznámení o zahájení řízení.

§ 94o

(1) Ve společném územním a stavebním řízení stavební úřad posuzuje, zda je stavební záměr v souladu s požadavky

a) tohoto zákona a jeho prováděcích právních předpisů,

b) na veřejnou dopravní nebo technickou infrastrukturu k možnosti a způsobu napojení nebo k podmínkám dotčených ochranných a bezpečnostních pásem,

c) zvláštních právních předpisů a se závaznými stanovisky, popřípadě s rozhodnutími dotčených orgánů podle zvláštních právních předpisů nebo tohoto zákona, popřípadě s výsledkem řešení rozporů.

(2) Stavební úřad dále ověří zejména, zda

a) dokumentace je úplná, přehledná, a zda jsou v odpovídající míře řešeny obecné požadavky na výstavbu,

b) je zajištěn příjezd ke stavbě, včasné vybudování technického, popřípadě jiného vybavení potřebného k řádnému užívání stavby vyžadovaného zvláštním právním předpisem.

(3) Stavební úřad ověří rovněž účinky budoucího užívání stavby.

§ 94p

(1) Stavební úřad ve společném povolení schvaluje stavební záměr, vymezí pozemky pro jeho realizaci a stanoví podmínky pro umístění a provedení stavby, případně stanoví podmínky pro dělení nebo scelování pozemků, a pokud je to třeba také pro její užívání. V případě souboru staveb se stanoví společné, případně specifické podmínky pro umístění a povolení stavby hlavní a vedlejších staveb v souboru staveb. Podmínkami zabezpečí ochranu veřejných zájmů a stanoví zejména návaznost na jiné podmiňující stavby a zařízení, dodržení obecných požadavků na výstavbu, popřípadě technických norem. Podle potřeby stanoví, které fáze výstavby mu stavebník oznámí za účelem provedení kontrolních prohlídek stavby. Vyžaduje-li to posouzení veřejných zájmů při provádění stavby, při kontrolních prohlídkách stavby nebo při kolaudaci, může uložit zpracování dokumentace pro provádění stavby. U staveb dočasných stanoví lhůtu pro odstranění stavby. Ustanovení § 115 odst. 2 se použije obdobně.

(2) Není-li stavební záměr v souladu s požadavky uvedenými v § 94o, stavební úřad žádost zamítne.

(3) V jednoduchých věcech, zejména lze-li rozhodnout na základě dokladů předložených stavebníkem, rozhodne stavební úřad bez zbytečného odkladu, nejdéle však ve lhůtě do 60 dnů ode dne zahájení řízení; ve zvlášť složitých případech stavební úřad rozhodne nejdéle ve lhůtě do 90 dnů.

(4) Po dni nabytí právní moci společného povolení stavební úřad zašle stejnopis písemného vyhotovení společného povolení opatřený doložkou právní moci a vyhotovení ověřené dokumentace stavebníkovi, vlastníkovi stavby, pokud není stavebníkem, dotčeným orgánům a stavebnímu úřadu příslušnému k umístění nebo povolení vedlejší stavby v souboru staveb, a obecnému stavebnímu úřadu, nejde-li o soubor staveb. Stavebníkovi zašle také štítek obsahující identifikační údaje o povoleném stavebním záměru.

(5) Společné povolení platí 2 roky ode dne nabytí právní moci, nestanoví-li stavební úřad v odůvodněných případech lhůtu delší, nejdéle však 5 let. Společné povolení pozbývá platnosti, jestliže stavba nebyla zahájena v době jeho platnosti. Společné povolení pozbývá platnosti též dnem, kdy stavební úřad obdrží oznámení stavebníka o tom, že od provedení svého stavebního záměru upouští; to neplatí, jestliže stavba již byla zahájena. Dobu platnosti společného povolení může stavební úřad prodloužit na odůvodněnou žádost stavebníka podanou před jejím uplynutím. Podáním žádosti se staví běh lhůty platnosti společného povolení.

(6) Shledá-li ministerstvo, že společné povolení vydané stavebním úřadem uvedeným v § 15 odst. 1 písm. b) až d) nebo v § 16 odst. 2 písm. d) je v rozporu se závazným stanoviskem vydaným podle § 96b, je oprávněno podat z tohoto důvodu proti společnému povolení ve lhůtě 6 měsíců ode dne jeho právní moci žalobu ve správním soudnictví72).

(7) Obsahové náležitosti společného povolení stanoví prováděcí právní předpis.

Skrýt změny zákona Legenda text přidán text vypuštěn
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 »