Nový Občanský zákoník - Oddíl 1 - Úschova

Předpis č. 89/2012 Sb.

Vyhlášené znění

89/2012 Sb. Zákon občanský zákoník

Oddíl 1

Úschova

Pododdíl 1

Obecná ustanovení

§ 2402

Základní ustanovení

Smlouvou o úschově se schovatel zavazuje převzít věc, aby ji pro uschovatele opatroval. Ve smlouvě lze ujednat, že schovatel může věc odevzdat do úschovy dalšímu schovateli.

§ 2403

(1) Schovatel opatruje převzatou věc, jak bylo ujednáno, jinak tak pečlivě, jak to odpovídá povaze věci a jeho možnostem, aby na věci nevznikla škoda, a po uplynutí doby úschovy věc uschovateli vrátí spolu s tím, co k ní přibylo.

(2) Požádá-li o to uschovatel, vrátí mu schovatel věc i před uplynutím ujednané doby úschovy. Sám ale nemá právo vrátit věc dříve, ledaže ji nemůže pro nepředvídatelnou okolnost bezpečně nebo bez vlastní škody opatrovat.

§ 2404

Není-li z okolností zřejmé, jak dlouho má být věc v úschově, může uschovatel kdykoli žádat vrácení věci a schovatel může věc kdykoli vrátit.

§ 2405

Užije-li schovatel převzatou věc pro sebe, umožní-li jinému užití věci nebo dá-li ji do úschovy jinému bez svolení uschovatele nebo bez nezbytné potřeby, nahradí uschovateli veškerou škodu, a to i nahodilou. To neplatí, prokáže-li schovatel, že by škoda postihla věc i jinak.

§ 2406

(1) Uschovatel nahradí schovateli nezbytné náklady, které na věc při jejím opatrování vynaložil; náhrada jiných nákladů schovateli náleží, nebylo-li jinak ujednáno, jako nepřikázanému jednateli.

(2) Úplata za úschovu náleží schovateli jen tehdy, bylo-li to ujednáno nebo plyne-li to ze zvyklostí, z předchozího styku stran nebo z předmětu činnosti schovatele.

§ 2407

Neuplatní-li uschovatel právo na náhradu škody nebo neuplatní-li schovatel právo na zaplacení úplaty nebo nákladů do tří měsíců od vrácení věci, soud právo nepřizná, namítne-li druhá strana opožděné uplatnění.

§ 2408

Ustanovení o úschově se použijí přiměřeně i na případy, kdy má někdo podle smlouvy nebo podle jiných ustanovení zákona opatrovat věc pro jiného.

Pododdíl 2

Úschova cenného papíru

§ 2409

(1) Schovatel drží cenné papíry v úschově odděleně od vlastních cenných papírů nebo cenných papírů jiných uschovatelů; to neplatí, jedná-li se o hromadnou úschovu nebo bylo-li sjednáno s uschovatelem odlišně.

(2) Schovatel vede evidenci o cenném papíru uloženém do úschovy, jejímž obsahem je též identifikace uschovatele a místo uložení cenného papíru.

§ 2410

Hromadná úschova

Při hromadné úschově se cenný papír uschová společně s cennými papíry ostatních uschovatelů odděleně od cenných papírů schovatele. Cenné papíry v hromadné úschově náleží všem uschovatelům společně, ale každý uschovatel může uplatňovat svá práva vůči schovateli samostatně, zejména má právo na vrácení stejného cenného papíru, jaký u schovatele uschoval.

§ 2411

(1) Podíl každého z uschovatelů se stanoví poměrem součtu jmenovitých hodnot cenných papírů, které dal do úschovy, k součtu jmenovitých hodnot všech cenných papírů v téže hromadné úschově; nemá-li cenný papír jmenovitou hodnotu, stanoví se podíl uschovatele podle počtu kusů cenných papírů.

(2) Pro převod podílu se použijí obdobně ustanovení o spoluvlastnictví; jiná ustanovení o spoluvlastnictví se na cenné papíry v hromadné úschově nepoužijí.

§ 2412

(1) Cenný papír převzatý do úschovy může schovatel předat do úschovy jinému schovateli (druhotná úschova); jeho práva a povinnosti tím nejsou dotčena.

(2) Jde-li o hromadnou úschovu imobilizovaných cenných papírů, řídí se její podmínky pravidly vedení samostatné evidence investičních nástrojů podle zákona upravujícího podnikání na kapitálovém trhu; ke vzniku druhotné úschovy se nevyžaduje předání cenných papírů druhotnému schovateli.

Imobilizace cenných papírů

§ 2413

(1) Uschová-li cenné papíry do hromadné úschovy jejich emitent, je cenný papír vydán dnem, kdy emitent předá listinu schovateli ve prospěch jejího vlastníka jako prvého nabyvatele (imobilizovaný cenný papír). Předává-li se do úschovy cenný papír na jméno, nebo cenný papír na řad, neuvádí se na cenném papíru při předání do úschovy jméno vlastníka cenného papíru.

(2) Vlastník uschovaného cenného papíru má právo požadovat, aby mu byl cenný papír vydán jen za podmínek stanovených v emisních podmínkách cenného papíru. Schovatel před vydáním cenného papíru z úschovy doplní na cenném papíru na jméno nebo na řad jméno jeho vlastníka.

(3) Schovatelem imobilizovaného cenného papíru může být pouze osoba oprávněná vést samostatnou evidenci investičních nástrojů podle zákona upravujícího podnikání na kapitálovém trhu; druhotným schovatelem může být pouze osoba oprávněná vést evidenci navazující na samostatnou evidenci investičních nástrojů podle zákona upravujícího podnikání na kapitálovém trhu.

§ 2414

Na cenné papíry v úschově v případech, kdy nelze požadovat vydání jednotlivého cenného papíru, se přiměřeně použijí ustanovení jiného zákona o zaknihovaných cenných papírech.

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 »