Zákon o službě státních zaměstnanců ve správních úřadech a o odměňování těchto zaměstnanců a ostatních zaměstnanců ve správních úřadech (služební zákon) - Díl 1 - Druhy změn služby

Předpis č. 218/2002 Sb.

Znění od 1. 1. 2015

218/2002 Sb. Zákon o službě státních zaměstnanců ve správních úřadech a o odměňování těchto zaměstnanců a ostatních zaměstnanců ve správních úřadech (služební zákon)

Díl 1

Druhy změn služby

§ 37

Změnou služby státního zaměstnance je

a) služební cesta,

b) přeložení,

c) zproštění služby pro sdělení obvinění z trestného činu,

d) přerušení služby z důvodu vazby,

e) jmenování na služební místo představeného,

f) odvolání ze služebního místa představeného,

g) převedení na jiné služební místo,

h) zařazení mimo službu z organizačních důvodů,

i) zařazení mimo službu z důvodu mateřské dovolené a rodičovské dovolené,

j) zařazení mimo službu pro výkon funkce v odborovém orgánu,

k) zastupování,

l) zařazení mimo službu pro pozastavení služby (§ 35 odst. 1),

m) vyslání ke službě v zahraničí a zařazení po ukončení služby v zahraničí, nebo

n) zkrácení délky doby výkonu služby po vzniku služebního poměru.

§ 38

Služební cesta

(1) Služební úřad může vyslat státního zaměstnance na dobu nezbytné potřeby na služební cestu, a to i bez jeho souhlasu. Služební úřad určí místo nástupu a místo cíle služební cesty, dobu trvání, způsob dopravy a jejího ukončení; může též určit další podmínky služební cesty. Při vyslání na služební cestu musí být přihlédnuto k osobnímu stavu, rodinným poměrům a povinnostem státního zaměstnance, které má k rodině.

(2) Těhotné státní zaměstnankyně a státní zaměstnankyně a státní zaměstnanci pečující o děti do 8 let smějí být vysíláni na služební cestu jen se svým souhlasem.

(3) Odstavec 2 platí i pro osamělou státní zaměstnankyni a osamělého státního zaměstnance pečující o dítě, dokud dítě nedosáhlo věku 15 let.

(4) Státní zaměstnanec na služební cestě koná službu podle příkazů představeného, který ho na tuto cestu vyslal.

(5) Státní zaměstnanec je povinen nastoupit služební cestu i ve dnech pracovního klidu, jestliže to je k plnění úkolů služby třeba.

(6) Služební cestou se rozumí doba od nástupu státního zaměstnance na cestu k výkonu služby do jiného místa, než je služební působiště státního zaměstnance, včetně doby výkonu služby v místě, které je cílem služební cesty, do ukončení této cesty.

(7) Zahraniční služební cestou se rozumí doba služební cesty podle odstavce 6 z České republiky do zahraničí, ze zahraničí do České republiky a doba služební cesty v zahraničí.

(8) Za člena rodiny státního zaměstnance se pro účely náhrady výdajů v souvislosti se služební cestou považuje jeho manžel, partner28), vlastní dítě, osvojenec, dítě svěřené státnímu zaměstnanci do pěstounské péče nebo do výchovy, vlastní rodiče, osvojitel, opatrovník a pěstoun. Jiná fyzická osoba je postavena na roveň člena rodiny pouze za předpokladu, že žije se státním zaměstnancem v domácnosti. Domácnost se posuzuje podle občanského zákoníku.

§ 39

Přeložení

(1) Státní zaměstnanec může být na dobu nezbytné potřeby, která musí být předem určena, nejdéle však na dobu 180 kalendářních dnů v kalendářním roce, přeložen k výkonu služby v oboru služby, který vykonává, do jiného služebního úřadu, a to i bez svého souhlasu.

(2) Pro přeložení musí trvat potřeba zajištění výkonu služby v jiném služebním úřadu, a to po celou dobu přeložení. Přeložení nelze použít k jinému účelu než k zajištění výkonu služby. Při přeložení státního zaměstnance musí být přihlédnuto k jeho osobnímu stavu, rodinným poměrům a povinnostem, které má k rodině. Těhotné státní zaměstnankyně, státní zaměstnankyně a státní zaměstnanci pečující o děti do 8 let smějí být přeloženi jen se svým souhlasem; to platí též pro osamělou státní zaměstnankyni a osamělého státního zaměstnance pečující o dítě, dokud dítě nedosáhlo věku 15 let.

(3) Při přeložení státního zaměstnance do jiné obce, než ve které je jeho služební působiště (§ 4) nebo adresa místa jeho trvalého pobytu,29) zajistí státnímu zaměstnanci služební úřad, do kterého byl přeložen, ubytování na své náklady a poskytuje mu náhrady výdajů jako při služební cestě (§ 95).

(4) Dojde-li v důsledku přeložení ke snížení platu státního zaměstnance, přísluší státnímu zaměstnanci doplatek do výše platu před přeložením.

§ 40

Zproštění služby pro sdělení obvinění z trestného činu

(1) Bylo-li státnímu zaměstnanci sděleno obvinění pro trestný čin, jehož se měl dopustit porušením služebních povinností, zprostí se výkonu služby až do skončení trestního stíhání;30) to neplatí v případech, kdy byl státní zaměstnanec vzat do vazby.31)

(2) Ode dne zproštění výkonu služby činí plat státního zaměstnance 40 % měsíčního platu; tato část platu se zvýší o 10 % měsíčního platu na každou státním zaměstnancem vyživovanou osobu, nejvýše však do výše 70 % měsíčního platu. Vyživovanou osobou se rozumí osoba, které státní zaměstnanec výživu poskytuje nebo je povinen poskytovat.

(3) Pominou-li důvody zproštění výkonu služby, státnímu zaměstnanci se zkrácení jeho platu doplatí; to neplatí, jestliže byl státní zaměstnanec pravomocně odsouzen.

§ 41

Přerušení služby z důvodu vazby

Státnímu zaměstnanci se přeruší výkon služby, jestliže byl vzat do vazby.31) Výkon služby může být státnímu zaměstnanci přerušen nejdéle na dobu 3 let. Po dobu přerušení výkonu služby nepřísluší státnímu zaměstnanci plat.

§ 42

Jmenování na služební místo představeného a odvolání z tohoto místa

(1) Na služební místo představeného nelze jmenovat fyzickou osobu, která se provinila porušováním lidských práv a svobod.

(2) Podle výsledku výběrového řízení, s výjimkou případů podle § 20, lze státního zaměstnance s jeho souhlasem jmenovat na služební místo představeného. Výběrového řízení na služební místo představeného se mohou zúčastnit státní zaměstnanci, fyzické osoby, které vykonaly úřednickou zkoušku, a fyzické osoby, které jako zaměstnanci krajů a obcí v pracovním poměru vykonávaly státní správu alespoň po dobu 5 let předcházejících výběrovému řízení ve funkci ředitele krajského úřadu, vedoucího odboru krajského úřadu, ředitele Magistrátu hlavního města Prahy, vedoucího odboru Magistrátu hlavního města Prahy, tajemníka statutárního města nebo tajemníka pověřeného obecního úřadu a jejich odborná způsobilost byla ověřena zkouškou zvláštní odborné způsobilosti podle zvláštního právního předpisu.22) Na výběrové řízení se přiměřeně použije § 18 odst. 2 a § 19. Na služební místo představeného, jímž je člen Rady Českého telekomunikačního úřadu ve službě na dobu určitou, může být jmenována rovněž fyzická osoba, která není státním zaměstnancem, splňuje-li předpoklady podle § 17 odst. 1, předpoklad stanovený právními předpisy o utajovaných informacích18) a další předpoklady stanovené v jiných právních předpisech18a).

(3) Představený se odvolá ze služebního místa jen na základě

a) organizačních změn ve služebním úřadu, jejichž důsledkem je zrušení služebního místa představeného,

b) nevykazování řádných výsledků ve službě podle služebního hodnocení,

c) zdravotních důvodů,

d) pozbytí způsobilosti seznamovat se s utajovanými informacemi, pokud se k zastávání služebního místa vyžaduje,

e) pravomocně uloženého kárného opatření, nebo

f) důvodu uvedeného v § 41.

(4) Představený se ze služebního místa představeného odvolá, jestliže o odvolání služební úřad písemně požádá. Odvolání se provede tak, aby k němu došlo do uplynutí doby nejpozději 60 kalendářních dnů od doručení žádosti o odvolání.

(5) Představený, který je vedoucím zastupitelského úřadu, může být odvolán ze služebního místa z jakýchkoli důvodů nebo bez uvedení důvodů.

(6) Generální ředitel nebo zástupce generálního ředitele může být ze služebního místa představeného odvolán z jakýchkoli důvodů nebo bez uvedení důvodů.

(7) Generální ředitel a zástupce generálního ředitele se ze služebního místa představeného odvolá, jestliže o odvolání písemně požádal vládu. Odstavec 4 věta druhá platí i zde.

§ 43

Převedení na jiné služební místo

(1) Státní zaměstnanec se převede na jiné služební místo, nemůže-li vykonávat službu na dosavadním služebním místě

a) ze zdravotních důvodů,

b) jestliže byl odvolán ze služebního místa představeného (§ 42 odst. 3 až 7),

c) v důsledku pravomocně uloženého trestu zákazu činnosti,

d) jestliže pozbyl způsobilost seznamovat se s utajovanými informacemi,

a to i bez svého souhlasu.

(2) Podle odstavce 1 písm. a) se převede státní zaměstnanec na služební místo, na kterém je služba pro něj vhodná,

a) jestliže pozbyl vzhledem ke svému zdravotnímu stavu na základě lékařského posudku nebo rozhodnutí orgánu státní zdravotní správy dlouhodobě způsobilost vykonávat dosavadní službu nebo ji nesmí konat pro onemocnění nemocí z povolání nebo ohrožení touto nemocí,

b) koná-li těhotná státní zaměstnankyně, státní zaměstnankyně, která kojí, nebo státní zaměstnankyně-matka do konce devátého měsíce po porodu službu, kterou nesmějí být tyto státní zaměstnankyně zaměstnány nebo která podle lékařského posudku ohrožuje její těhotenství nebo mateřské poslání,

c) jestliže to je nutné podle lékařského posudku nebo rozhodnutí příslušného orgánu ochrany veřejného zdraví v zájmu ochrany zdraví jiných fyzických osob před infekčními nemocemi,

d) jestliže byl uznán nezpůsobilým ke službě v noci,

e) požádá-li o to těhotná státní zaměstnankyně, státní zaměstnankyně, která kojí, nebo státní zaměstnankyně-matka do konce devátého měsíce po porodu, která vykonává službu v noci.

(3) Za dlouhodobě nepříznivý zdravotní stav podle odstavce 2 písm. a) se považuje nepříznivý zdravotní stav, který podle poznatků lékařské vědy potrvá déle než 12 měsíců.

(4) Při převedení státního zaměstnance podle odstavce 2 se vedle zdravotních hledisek sleduje, aby služba byla pro něj vhodná též vzhledem k jeho kvalifikaci a schopnostem.

(5) Dojde-li v důsledku převedení podle odstavce 2 písm. a) a c) ke snížení platu státního zaměstnance, přísluší státnímu zaměstnanci po dobu převedení k platu doplatek do výše platu před převedením. Doplatek přísluší nejdéle po dobu 12 měsíců po sobě jdoucích.

§ 44

Zařazení mimo službu z organizačních důvodů

Nemůže-li být státní zaměstnanec v případech uvedených v § 43 odst. 1 písm. b) až d) a odst. 2 písm. a) převeden na jiné služební místo, protože žádné služební místo není volné, zařadí se státní zaměstnanec mimo výkon služby; toto zařazení může trvat nejdéle 12 měsíců. Ode dne zařazení mimo výkon služby činí plat státního zaměstnance 50 % měsíčního platu; tato část platu se zvýší o 10 % měsíčního platu na každou státním zaměstnancem vyživovanou osobu, nejvýše však do výše 80 % měsíčního platu.

§ 45

Zařazení mimo službu z důvodu mateřské dovolené a rodičovské dovolené

Státní zaměstnankyně, která čerpá mateřskou dovolenou, se zařadí mimo výkon služby. Mimo výkon služby se zařadí též státní zaměstnankyně nebo státní zaměstnanec, čerpají-li rodičovskou dovolenou. Po dobu zařazení podle věty první a druhé nepřísluší plat.

§ 46

Zařazení mimo službu pro výkon funkce v odborovém orgánu

Státní zaměstnanec, který byl zvolen do funkce v příslušném odborovém orgánu, jejíž výkon vyžaduje jeho uvolnění v rozsahu stanovené doby výkonu služby, se zařadí mimo výkon služby po dobu výkonu této funkce. Po dobu zařazení podle věty první nepřísluší státnímu zaměstnanci plat.

§ 47

Zastupování

(1) Státní zaměstnanec je povinen na základě příkazu [§ 61 odst. 1 písm. l)] zastupovat představeného nebo státního zaměstnance na služebním místě zařazeném ve vyšší platové třídě, než je zařazeno služební místo, na které byl státní zaměstnanec jmenován. V době zastupování státní zaměstnanec nevykonává v plném rozsahu dosavadní služební úkoly.

(2) Doba zastupování nesmí překročit 180 kalendářních dnů výkonu služby v kalendářním roce; to neplatí v případě, že státní zaměstnanec s delší dobou zastupování souhlasí.

§ 48

Zařazení mimo službu pro pozastavení služby

Nastanou-li po vzniku služebního poměru překážky uvedené v § 35 odst. 1, zařadí se státní zaměstnanec mimo výkon služby. Po dobu zařazení podle věty první nepřísluší státnímu zaměstnanci plat.

§ 49

Vyslání ke službě do zahraničí a zařazení po ukončení služby v zahraničí

(1) Státní zaměstnanec může být se svým předchozím souhlasem vyslán na určenou dobu k výkonu služby v zahraničí.

(2) Služební úřad může se státním zaměstnancem v případech podle odstavce 1 uzavřít dohodu, kterou se státní zaměstnanec zavazuje setrvat v místě vyslání v zahraničí po určenou dobu nebo uhradit náklady spojené s vysláním k výkonu služby v zahraničí, nesplní-li svůj závazek setrvat v místě vyslání v zahraničí po určenou dobu. Dohoda podle věty první musí být písemná; obsahuje druhy nákladů, které bude státní zaměstnanec povinen služebnímu úřadu uhradit, a důvody, pro které státnímu zaměstnanci nevzniká povinnost k úhradě nákladů, jinak je dohoda neplatná.

(3) Státní zaměstnanec vracející se do České republiky po ukončení výkonu služby v zahraničí může být zařazen v jím vykonávaném oboru služby i do jiného služebního úřadu, jímž je ministerstvo nebo ústřední správní úřad, až na dobu 2 let, i kdyby s tím nesouhlasil, a se svým souhlasem i na dobu delší. V případech podle věty první se nekoná výběrové řízení.

§ 50

Zkrácení délky doby výkonu služby po vzniku služebního poměru

Státnímu zaměstnanci může být na jeho žádost povoleno zkrácení délky doby výkonu služby.

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 »