Ústavní zákon o bezpečnosti České republiky (úplné znění)

Předpis č. 110/1998 Sb.

Znění od 1. 12. 2000

110/1998 Sb. Ústavní zákon o bezpečnosti České republiky

110

ÚSTAVNÍ ZÁKON

ze dne 22. dubna 1998

o bezpečnosti České republiky

Parlament se usnesl na tomto ústavním zákoně České republiky:

ZÁKLADNÍ USTANOVENÍ

Čl. 1

Zajištění svrchovanosti a územní celistvosti České republiky, ochrana jejích demokratických základů a ochrana životů, zdraví a majetkových hodnot je základní povinností státu.

Čl. 2

(1) Je-li bezprostředně ohrožena svrchovanost, územní celistvost, demokratické základy České republiky nebo ve značném rozsahu vnitřní pořádek a bezpečnost, životy a zdraví, majetkové hodnoty nebo životní prostředí anebo je-li třeba plnit mezinárodní závazky o společné obraně, může se vyhlásit podle intenzity, územního rozsahu a charakteru situace nouzový stav, stav ohrožení státu nebo válečný stav.

(2) Nouzový stav a stav ohrožení státu se vyhlašuje pro omezené nebo pro celé území státu, válečný stav se vyhlašuje pro celé území státu.

Čl. 3

(1) Bezpečnost České republiky zajišťují ozbrojené síly, ozbrojené bezpečnostní sbory, záchranné sbory a havarijní služby.

(2) Státní orgány, orgány územních samosprávných celků a právnické a fyzické osoby jsou povinny se podílet na zajišťování bezpečnosti České republiky. Rozsah povinností a další podrobnosti stanoví zákon.

Čl. 4

(1) Ozbrojené síly jsou doplňovány na základě branné povinnosti.

(2) Rozsah branné povinnosti, úkoly ozbrojených sil, ozbrojených bezpečnostních sborů, záchranných sborů a havarijních služeb, jejich organizaci, přípravu a doplňování a právní poměry jejich příslušníků stanoví zákon, a to tak, aby byla zajištěna civilní kontrola ozbrojených sil.

NOUZOVÝ STAV

Čl. 5

(1) Vláda může vyhlásit nouzový stav v případě živelních pohrom, ekologických nebo průmyslových havárií, nehod nebo jiného nebezpečí, které ve značném rozsahu ohrožují životy, zdraví nebo majetkové hodnoty anebo vnitřní pořádek a bezpečnost.

(2) Nouzový stav nemůže být vyhlášen z důvodu stávky vedené na ochranu práv a oprávněných hospodářských a sociálních zájmů.

(3) Je-li nebezpečí z prodlení, může vyhlásit nouzový stav předseda vlády. Jeho rozhodnutí vláda do 24 hodin od vyhlášení schválí nebo zruší.

(4) Vláda o vyhlášení nouzového stavu neprodleně informuje Poslaneckou sněmovnu, která může vyhlášení zrušit.

Čl. 6

(1) Nouzový stav se může vyhlásit jen s uvedením důvodů na určitou dobu a pro určité území. Současně s vyhlášením nouzového stavu musí vláda vymezit, která práva stanovená ve zvláštním zákoně a v jakém rozsahu se v souladu s Listinou základních práv a svobod omezují a které povinnosti a v jakém rozsahu se ukládají. Podrobnosti stanoví zákon.

(2) Nouzový stav se může vyhlásit nejdéle na dobu 30 dnů. Uvedená doba se může prodloužit jen po předchozím souhlasu Poslanecké sněmovny.

(3) Nouzový stav končí uplynutím doby, na kterou byl vyhlášen, pokud vláda nebo Poslanecká sněmovna nerozhodnou o jeho zrušení před uplynutím této doby.

STAV OHROŽENÍ STÁTU

Čl. 7

(1) Parlament může na návrh vlády vyhlásit stav ohrožení státu, je-li bezprostředně ohrožena svrchovanost státu nebo územní celistvost státu anebo jeho demokratické základy.

(2) K přijetí usnesení o vyhlášení stavu ohrožení státu je třeba souhlasu nadpoloviční většiny všech poslanců a souhlasu nadpoloviční většiny všech senátorů.

ZKRÁCENÉ JEDNÁNÍ O NÁVRZÍCH ZÁKONŮ

Čl. 8

(1) Po dobu stavu ohrožení státu nebo válečného stavu může vláda požadovat, aby Parlament projednal vládní návrh zákona ve zkráceném jednání.

(2) O takovém návrhu se Poslanecká sněmovna usnese do 72 hodin od jeho podání a Senát do 24 hodin od jeho postoupení Poslaneckou sněmovnou. Jestliže se Senát v této lhůtě nevyjádří, platí, že je návrh zákona přijat.

(3) Po dobu stavu ohrožení státu nebo válečného stavu prezident republiky nemá právo vracet zákon přijatý ve zkráceném jednání.

(4) Ve zkráceném jednání nemůže vláda předložit návrh ústavního zákona.

BEZPEČNOSTNÍ RADA STÁTU

Čl. 9

(1) Bezpečnostní radu státu tvoří předseda vlády a další členové vlády podle rozhodnutí vlády.

(2) Bezpečnostní rada státu v rozsahu pověření, které stanovila vláda, připravuje vládě návrhy opatření k zajišťování bezpečnosti České republiky.

(3) Prezident republiky má právo účastnit se schůzí Bezpečnostní rady státu, vyžadovat od ní a jejích členů zprávy a projednávat s ní nebo s jejími členy otázky, které patří do jejich působnosti.

PRODLOUŽENÍ VOLEBNÍHO OBDOBÍ

Čl. 10

Jestliže po dobu nouzového stavu, stavu ohrožení státu nebo válečného stavu podmínky na území České republiky neumožní konat volby ve lhůtách, které jsou stanoveny pro pravidelná volební období, lze zákonem lhůty prodloužit, nejdéle však o šest měsíců.

SPOLEČNÁ USTANOVENÍ

Čl. 11

V době, kdy je Poslanecká sněmovna rozpuštěna, přísluší rozhodnout o prodloužení nebo o zrušení nouzového stavu, vyhlásit stav ohrožení státu nebo válečný stav, rozhodnout o vyslání ozbrojených sil mimo území České republiky a vyslovit souhlas s pobytem cizích vojsk na území České republiky Senátu.

V době, kdy je Poslanecká sněmovna rozpuštěna, přísluší Senátu

a) rozhodnout o prodloužení nebo o zrušení nouzového stavu, o vyhlášení stavu ohrožení státu nebo válečného stavu a o účasti České republiky v obranných systémech mezinárodní organizace, jíž je Česká republika členem,

b) vyslovit souhlas s vysláním ozbrojených sil České republiky mimo území České republiky a s pobytem ozbrojených sil jiných států na území České republiky, nejsou-li taková rozhodnutí vyhrazena vládě.

Čl. 12

Rozhodnutí o nouzovém stavu, o stavu ohrožení státu nebo válečném stavu se zveřejňují v hromadných sdělovacích prostředcích a vyhlašují se stejně jako zákon. Účinnosti nabývají okamžikem, který se v rozhodnutí stanoví.

ZÁVĚREČNÉ USTANOVENÍ

Čl. 13

Tento ústavní zákon nabývá účinnosti dnem vyhlášení.

Zeman v. r.
Havel v. r.
Tošovský v. r.

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 »