Nový Občanský zákoník - Díl 3 - Obsah závazků

Předpis č. 89/2012 Sb.

Znění od 15. 2. 2025

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

Díl 3

Obsah závazků

Obecná ustanovení

§ 1789

Ze závazku je dlužník povinen něco dát, něco konat, něčeho se zdržet nebo něco strpět a věřitel je oprávněn to od něho požadovat.

§ 1790

Závazek nelze změnit bez ujednání věřitele a dlužníka, ledaže zákon stanoví jinak.

§ 1791

(1) Vzniku a trvání závazku nebrání, není-li vyjádřen důvod, na jehož základě má dlužník povinnost plnit; věřitel je však povinen prokázat důvod závazku.

(2) Jedná-li se o závazek z cenného papíru, věřitel důvod závazku neprokazuje, ledaže to zákon zvlášť stanoví.

§ 1792

Úplata za plnění

(1) Plyne-li ze smlouvy povinnost stran poskytnout a přijmout plnění za úplatu, aniž je ujednána její výše, či způsob, jakým bude tato výše určena, platí, že úplata byla ujednána ve výši obvyklé v době a v místě uzavření smlouvy. Nepodaří-li se takto výši úplaty určit, určí ji soud s přihlédnutím k obsahu smlouvy, povaze plnění a zvyklostem.

(2) Byla-li úplata ujednána v rozporu s právními předpisy o cenách, platí za ujednanou ta, která je podle těchto předpisů přípustná.

Neúměrné zkrácení

§ 1793

(1) Zaváží-li se strany k vzájemnému plnění a je-li plnění jedné ze stran v hrubém nepoměru k tomu, co poskytla druhá strana, může zkrácená strana požadovat zrušení smlouvy a navrácení všeho do původního stavu, ledaže jí druhá strana doplní, oč byla zkrácena, se zřetelem k ceně obvyklé v době a místě uzavření smlouvy. To neplatí, pokud se nepoměr vzájemných plnění zakládá na skutečnosti, o které druhá strana nevěděla ani vědět nemusela.

(2) Odstavec 1 se nepoužije pro případ nabytí na komoditní burze, při obchodu s investičním nástrojem podle jiného zákona, v dražbě či způsobem postaveným veřejné dražbě naroveň, ani pro případ sázky nebo hry, anebo při narovnání nebo novaci, pokud byly poctivě učiněny.

§ 1794

(1) Právo podle § 1793 nevzniká, pokud důvod nepoměru vzájemných plnění vyplývá ze zvláštního vztahu mezi stranami, zejména pokud zkrácená strana měla úmysl plnit zčásti za úplatu a zčásti bezúplatně, nebo jestliže již nelze výši zkrácení zjistit.

(2) Právo podle § 1793 nevzniká ani tehdy, vzdala-li se jej zkrácená strana výslovně a prohlásila-li, že plnění přijímá za mimořádnou cenu ze zvláštní obliby, anebo souhlasila-li s neúměrnou cenou, ač jí skutečná cena plnění byla nebo musela být známa.

§ 1795

Právo podle § 1793 zaniká, není-li uplatněno do jednoho roku od uzavření smlouvy.

§ 1796

Lichva

Neplatná je smlouva, při jejímž uzavírání někdo zneužije tísně, nezkušenosti, rozumové slabosti, rozrušení nebo lehkomyslnosti druhé strany a dá sobě nebo jinému slíbit či poskytnout plnění, jehož majetková hodnota je k vzájemnému plnění v hrubém nepoměru.

§ 1797

Podnikatel, který uzavřel smlouvu při svém podnikání, nemá právo požadovat zrušení smlouvy podle § 1793 odst. 1, ani se nemůže dovolat neplatnosti smlouvy podle § 1796.

Smlouvy uzavírané adhezním způsobem

§ 1798

(1) Ustanovení o smlouvách uzavíraných adhezním způsobem platí pro každou smlouvu, jejíž základní podmínky byly určeny jednou ze smluvních stran nebo podle jejích pokynů, aniž slabší strana měla skutečnou příležitost obsah těchto základních podmínek ovlivnit.

(2) Použije-li se k uzavření smlouvy se slabší stranou smluvní formulář užívaný v obchodním styku nebo jiný podobný prostředek, má se za to, že smlouva byla uzavřena adhezním způsobem.

§ 1799

Doložka ve smlouvě uzavřené adhezním způsobem, která odkazuje na podmínky uvedené mimo vlastní text smlouvy, je platná, byla-li slabší strana s doložkou a jejím významem seznámena nebo prokáže-li se, že význam doložky musela znát.

§ 1800

(1) Obsahuje-li smlouva uzavřená adhezním způsobem doložku, kterou lze přečíst jen se zvláštními obtížemi, nebo doložku, která je pro osobu průměrného rozumu nesrozumitelná, je tato doložka platná, nepůsobí-li slabší straně újmu nebo prokáže-li druhá strana, že slabší straně byl význam doložky dostatečně vysvětlen.

(2) Obsahuje-li smlouva uzavřená adhezním způsobem doložku, která je pro slabší stranu zvláště nevýhodná, aniž je pro to rozumný důvod, zejména odchyluje-li se smlouva závažně a bez zvláštního důvodu od obvyklých podmínek ujednávaných v obdobných případech, je doložka neplatná. Vyžaduje-li to spravedlivé uspořádání práv a povinností stran, soud rozhodne obdobně podle § 577.

§ 1801

Odchýlí-li se strany od § 1799 nebo 1800 nebo vyloučí-li některé z těchto ustanovení, nepřihlíží se k tomu. To neplatí pro smlouvy uzavřené mezi podnikateli, ledaže strana prokáže, že doložka uvedená mimo vlastní text smlouvy a navržená druhou smluvní stranou hrubě odporuje obchodním zvyklostem a zásadě poctivého obchodního styku.

Úroky

§ 1802

Mají-li být plněny úroky a není-li jejich výše ujednána, platí dlužník úroky ve výši stanovené právním předpisem. Nejsou-li úroky takto stanoveny, platí dlužník obvyklé úroky požadované za úvěry, které poskytují banky v místě bydliště nebo sídla dlužníka v době uzavření smlouvy.

§ 1803

Má se za to, že se ujednaná výše úroků týká ročního období.

§ 1804

Úroky se platí v téže měně jako hlavní dluh (jistina).

§ 1805

(1) Není-li doba placení úroků ujednána, platí se úroky s jistinou, a je-li jistina splatná později než za rok, platí se úroky ročně pozadu.

(2) Věřitel, který bez rozumného důvodu otálí s uplatněním práva na zaplacení dluhu tak, že úroky činí tolik co jistina, pozbývá právo požadovat další úroky. Ode dne, kdy uplatnil právo u soudu, mu však další úroky náleží.

§ 1806

Úroky z úroků lze požadovat, bylo-li to ujednáno. Jedná-li se o pohledávku z protiprávního činu, lze úroky z úroků požadovat ode dne, kdy byla pohledávka uplatněna u soudu.

§ 1807

Záloha

Má se za to, že co dala jedna strana druhé před uzavřením smlouvy, je záloha.

Závdavek

§ 1808

(1) Byl-li ujednán závdavek, vyžaduje se, aby byl odevzdán nejpozději při uzavření smlouvy. Závdavkem se potvrzuje uzavření smlouvy a strana, která jej dala, poskytuje jistotu, že dluh splní.

(2) Nesplní-li se dluh z příčiny na straně toho, kdo dal závdavek, může si druhá strana závdavek ponechat. Dala-li tato strana závdavek, má právo požadovat, aby jí buď bylo vydáno dvojnásobně tolik, anebo aby dlužník dluh splnil, nebo, není-li splnění dluhu již možné, náhradu škody.

§ 1809

Dala-li strana závdavek a bylo-li zároveň ujednáno právo odstoupit od smlouvy, aniž se zvlášť ujednalo odstupné, považuje se závdavek za odstupné. Odstoupí-li od smlouvy strana, která závdavek dala, ztrácí právo na jeho vrácení; odstoupí-li strana, která závdavek přijala, vydá druhé dvojnásobně tolik.

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 »