1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<!DOCTYPE html> 16<html lang="hr"> 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35<head> 36
37<script> 38(function () { 39 var seen = {}; 40 var sent = 0; 41 42 function stripQuery(url) { 43 var cut = url.length; 44 var query = url.indexOf('?'); 45 var hash = url.indexOf('#'); 46 if (query >= 0 && query < cut) cut = query; 47 if (hash >= 0 && hash < cut) cut = hash; 48 return url.substring(0, cut); 49 } 50 51 function sameSitePath(urlString) { 52 try { 53 var url = new URL(urlString, location.href); 54 if (url.protocol !== 'http:' && url.protocol !== 'https:') return null; 55 var host = url.hostname.replace(/^www\./i, '').toLowerCase(); 56 var here = location.hostname.replace(/^www\./i, '').toLowerCase(); 57 if (host !== here) return null; 58 return url.pathname || '/'; 59 } catch (ignore) { 60 return null; 61 } 62 } 63 64 function frameFromStack(stack) { 65 if (!stack) return null; 66 var re = /(https?:\/\/[^)\s]+):(\d+):(\d+)/g; 67 var match; 68 while ((match = re.exec(stack))) { 69 if (sameSitePath(match[1])) { 70 return { 71 file: stripQuery(match[1]), 72 line: parseInt(match[2], 10) || 0, 73 column: parseInt(match[3], 10) || 0 74 }; 75 } 76 } 77 return null; 78 } 79 80 function timezoneLabel() { 81 var offset = new Date().getTimezoneOffset(); 82 var sign = offset <= 0 ? '+' : '-'; 83 var abs = Math.abs(offset); 84 var hours = Math.floor(abs / 60); 85 var mins = abs % 60; 86 if (!mins) return 'UTC' + sign + hours; 87 return 'UTC' + sign + hours + ':' + (mins < 10 ? '0' : '') + mins; 88 } 89 90 function deviceInfo() { 91 var parts = []; 92 try { 93 if (navigator.language) parts.push(navigator.language); 94 if (window.screen && screen.width && screen.height) { 95 parts.push('screen ' + screen.width + 'x' + screen.height); 96 } 97 if (window.innerWidth && window.innerHeight) { 98 parts.push('viewport ' + window.innerWidth + 'x' + window.innerHeight); 99 } 100 if (window.devicePixelRatio) parts.push('dpr ' + window.devicePixelRatio); 101 if (navigator.platform) parts.push(navigator.platform); 102 parts.push(timezoneLabel()); 103 } catch (ignore) {} 104 return parts.join(', ').substring(0, 300); 105 } 106 107 function interesting(message) { 108 if (!message) return false; 109 if (message === 'Script error.') return false; 110 if (message.indexOf('ResizeObserver loop') === 0) return false; 111 if (message.indexOf('__gCrWeb') !== -1) return false; 112 return true; 113 } 114 115 function report(message, file, line, column, stack) { 116 try { 117 if (sent >= 20) return; 118 message = String(message || '').replace(/\s+/g, ' ').trim(); 119 if (message.length > 500) message = message.substring(0, 500); 120 if (!interesting(message)) return; 121 122 var useFile = file || ''; 123 var useLine = line || 0; 124 var useColumn = column || 0; 125 if (!sameSitePath(useFile)) { 126 var frame = frameFromStack(stack); 127 if (!frame) return; 128 useFile = frame.file; 129 useLine = frame.line; 130 useColumn = frame.column; 131 } 132 133 var path = sameSitePath(useFile); 134 if (!path) return; 135 var key = message + '\n' + path + '\n' + useLine; 136 if (seen[key]) return; 137 seen[key] = true; 138 sent++; 139 140 var payload = JSON.stringify({ 141 message: message, 142 file: stripQuery(String(useFile)), 143 line: useLine, 144 column: useColumn, 145 stack: stack ? String(stack).substring(0, 1500) : '', 146 page: location.pathname || '/', 147 device: deviceInfo() 148 }); 149 if (navigator.sendBeacon) { 150 navigator.sendBeacon('/client-error', new Blob([payload], { type: 'application/json' })); 151 } 152 } catch (ignore) {} 153 } 154 155 window.addEventListener('error', function (event) { 156 if (!event || (event.target && event.target !== window)) return; 157 var err = event.error; 158 report(event.message, event.filename, event.lineno, event.colno, err && err.stack); 159 }); 160 161 window.addEventListener('unhandledrejection', function (event) { 162 var reason = event && event.reason; 163 var message = 'unhandledrejection'; 164 var stack = ''; 165 if (typeof reason === 'string') { 166 message = reason; 167 } else if (reason) { 168 message = reason.message ? String(reason.message) : String(reason); 169 stack = reason.stack ? String(reason.stack) : ''; 170 } 171 var frame = frameFromStack(stack); 172 report(message, frame ? frame.file : '', frame ? frame.line : 0, frame ? frame.column : 0, stack); 173 }); 174})(); 175</script>
175 176 177 178 179
180<script>
vendor: 331 bytes, lines 180-184
180(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 181new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 182j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 183'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 184})(window,document,'script','dataLayer','
184GTM-53NVVSFG
vendor: 3 bytes, line 184
184');
184</script>
184 185 186 187 188 189 <title>UPUTE - Zakon.hr</title> 190 <meta name="description" content=""> 191 <meta name="keywords" content=""> 192 <meta name="author" content="MagiÄmarinac d.o.o."> 193 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 194 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover, shrink-to-fit=no"> 195 <meta name="theme-color" content="#EEEEEE"> 196 <meta name="msapplication-TileColor" content="#EEEEEE"> 197 <!--OG Tags--> 198 <meta property="og:title" content="Zakon.hr"> 199 <meta property="og:site_name" content="Zakon.hr"> 200 <meta property="og:url" content="https://www.zakon.hr"> 201 <meta property="og:description" content="#"> 202 <meta property="og:type" content="website"> 203 <!-- <meta property="og:image" content=""> 204 --> 205 <meta property="og:locale" content="hr_HR"> 206 <!--Favicon--> 207 <link rel="icon" type="image/png" href="/assets/images/favicon/favicon-96x96.png" sizes="96x96" /> 208 <link rel="icon" type="image/svg+xml" href="/assets/images/favicon/favicon.svg" /> 209 <link rel="shortcut icon" href="/assets/images/favicon/favicon.ico" /> 210 <link rel="apple-touch-icon" sizes="180x180" href="/assets/images/favicon/apple-touch-icon.png" /> 211 <meta name="apple-mobile-web-app-title" content="Zakon.hr" /> 212 <link rel="manifest" href="/assets/images/favicon/site.webmanifest" /> 213 214 <link rel="stylesheet" href="/assets/css-vendors/swiper-bundle.min.css" /> 215 <link rel="stylesheet" href="/assets/css/style.css?v=52c7714" /> 216 <link rel="stylesheet" href="/assets/css/zakonhr.css?v=52c7714" /> 217 218 219 220
220<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
220 221
221<script src="https://cdn.234doo.com/zakonhr.js?v=52c7714"></script>
221 222 223
223<script src="https://code.jquery.com/jquery.js"></script>
223 224
224<script src="/assets/js/zakon_v2_7.js?v=52c7714"></script>
224 225 226
226<script type="application/ld+json"> 227 { 228 "@context" : "https://schema.org", 229 "@type" : "WebSite", 230 "name" : "Zakon.hr", 231 "url" : "https://www.zakon.hr" 232 } 233 </script>
233 234 235 236 </head> 237 238<body> 239 240 241 <div class="body-wrapper"> 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260<nav> 261 <div class="container"> 262 <div class="nav-wrapper"> 263 <div class="nav-left"> 264 <div class="nav-logo-wrapper"> 265 <a href="/" class="info-link info-link-below"> 266 <img src="/assets/images/logo.svg" alt="Zakon.hr" /> 267 </a> 268 </div> 269 </div> 270 <div class="nav-holder"> 271 <div class="nav-icons"> 272 <a href="/" class="info-link info-link-below"> 273 <span class="info-modal">Naslovnica</span><img src="/assets/images/home.svg" alt="PoÄetna"/></a> 274 <a class="open-searchbar info-link info-link-below"><span class="info-modal">Tražilica</span><img src="/assets/images/search-nav.svg" 275 alt="Pretraga" /></a> 276 <a href="/profil/obavijesti" class="info-link info-link-below"><span class="info-modal">Obavijesti</span><img src="/assets/images/bell.svg" alt="Obavijesti" /></a> 277 278 279 </div> 280 <div class="nav-list"> 281 <ul> 282 <li><a href="/c/blog/902/upute" class="active">Upute</a></li> 283 <li><a href="/c/blog/900/opci-uvjeti-koristenja" >Uvjeti</a></li> 284 <li><a href="/select" >Cjenik</a></li> 285 <li><a href="/kontakt" >Kontakt</a></li> 286 </ul> 287 </div> 288 289 290 291 <a href="/login" class="moj-profil">Prijava / Registracija 292 293 <div class="nav-right"> 294 <div class="nav-registration"> 295 <img src="/assets/images/user.svg" alt="Prijava/Registracija" /> 296 </div> 297 </div> 298 </a> 299 </div> 300 <div id="hamburger-icon"> 301 <span></span> 302 <span></span> 303 <span></span> 304 </div> 305 </div> 306 </div> 307</nav> 308 309 <div class="baza-container"> 310 <div class="container"> 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326<div class="baza-info-container"> 327 <span></span> 328 <div class="baza-info">Baza je ažurirana 26.09.2026. zakljuÄno sa NN 105/26 EU 2024/2679</div> 329 <span></span> 330</div> 331 </div> 332 </div> 333 334 <div class="samostalni-search-container"> 335 <div class="container"> 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351<form class="search-container" action="/search"> 352 <div class="input-mobile-container"> 353 <div class="dropdown-container"> 354 <span class="small-button sve-baze"><span class="dropdown-text">Sve baze</span></span> 355 <ul class="dropdown-items"> 356 <li class="dropdown-item" data-target="sve-baze" data-value="">Sve baze</li> 357 <li class="dropdown-item" data-target="zakoni" data-value="0">Zakoni</li> 358 <li class="dropdown-item" data-target="podzakonski" data-value="7">Podzakonski</li> 359 <li class="dropdown-item" data-target="sudska-praksa" data-value="11">Sudska praksa</li> 360 <li class="dropdown-item" data-target="eu-propisi" data-value="12">EU propisi</li> 361 <li class="dropdown-item" data-target="vijesti" data-value="9">Vijesti</li> 362 </ul> 363 </div> 364 <div class="input-container"> 365 <input type="text" placeholder="Unesite kljuÄnu rijeÄ ili naziv dokumenata" name="q" tabIndex="0" autocomplete="off" value="" /> 366 <ul class="autocomplete-dropdown" id="autocomplete-dropdown"></ul> 367 <div class="input-focus-container"> 368 <div id="sve-baze" class="focus-content active"> 369 <div class="focus-content-header"> 370 <div class="propisi medium"> 371 <div class="checkbox-wrapper"> 372 <input id="checkbox-id-vazeci" type="checkbox" name="fs" value="1" checked class="vazeci-checkbox"> 373 <label for="checkbox-id-vazeci">Pretraži samo važeÄe propise</label> 374 </div> 375 </div> 376 <div class="upute">
377 <span class="medium">Upute za pretraživanje</span> 378 </div> 379 <div class="zatvori-container"> 380 <span class="zatvori"> 381 <img src="/assets/images/close.svg" alt="Zatvori" /> 382 </span> 383 </div> 384 </div> 385 <div class="focus-content-upute"> 386 <div class="left-content"> 387 <span class="medium">Brze upute za pretraživanje</span> 388 <p class="small">Znak* znaÄi da može biti 0 ili viÅ¡e znakova na tom 389 mjestu 390 (pretraga po korijenu rijeÄi npr ustav* Äe naÄi i 'ustav', 391 'ustavnih', 392 'ustavnim'.</p> 393 <p class="small">Znak ? zamjenjuje jedan znak npr. ustav? Äe naÄi 394 'ustavu', 395 ali neÄe 'ustavnih', 'ustavnim'.</p> 396 <p class="small">Znak - (minus) ispred rijeÄi Äe izostaviti dokumente 397 koji 398 sadrže tu rijeÄ.</p> 399 <p class="small">Redoslijed kljuÄnih rijeÄi koje upisujete doprinosi 400 preciznosti rezultata pretrage, ali pogreÅ¡an redoslijed neÄe 401 zaustaviti 402 pretragu.</p> 403 <p class="small">Ukoliko tražite sadržaj sa toÄno odreÄenim 404 redoslijedom, 405 kljuÄne rijeÄi stavite u navodnike "" i navedite ih tim 406 redoslijedom. 407 </p> 408 </div> 409 <div class="right-content"> 410 <p class="as-h5">Pretražujete kroz sve baze objavljene na <a 411 href="https://www.zakon.hr/">Zakon.hr</a></p> 412 <p class="as-h5">Probajte pretragu po jednoj ili viÅ¡e kljuÄnih rijeÄi iz 413 situacije za 414 koju 415 se informirate, kako bi Vam pronaÅ¡li sve relevantne sadržaje. </p> 416 417 </div> 418 </div> 419 <!-- <div class="focus-content-recent-search"> 420 <p class="small medium">Prethodne pretrage</p> 421 <div class="recent-search-container"> 422 <div class="recent-search">Kazneni zakon<span></span></div> 423 <div class="recent-search">PrebivaliÅ¡te boraviÅ¡te<span></span></div> 424 <div class="recent-search">Ugovor o autorskom djelu<span></span></div> 425 </div> 426 </div> --> 427 </div> 428 <div id="zakoni" class="focus-content"> 429 <div class="focus-content-header"> 430 <div class="propisi medium"> 431 <div class="checkbox-wrapper"> 432 <input id="checkbox-id-zakoni" type="checkbox" checked class="vazeci-checkbox"> 433 <label for="checkbox-id-zakoni">Pretraži samo važeÄe propise</label> 434 </div> 435 </div> 436 <div class="upute"> 437 <span class="medium">Upute za pretraživanje</span> 438 </div> 439 <div class="zatvori-container"> 440 <span class="zatvori"> 441 <img src="/assets/images/close.svg" alt="Zatvori" /> 442 </span> 443 </div> 444 </div> 445 <div class="focus-content-upute"> 446 <div class="left-content">
447 <span class="medium">Brze upute za pretraživanje</span> 448 <p class="small">Znak* znaÄi da može biti 0 ili viÅ¡e znakova na tom 449 mjestu 450 (pretraga po korijenu rijeÄi npr ustav* Äe naÄi i 'ustav', 451 'ustavnih', 452 'ustavnim'.</p> 453 <p class="small">Znak ? zamjenjuje jedan znak npr. ustav? Äe naÄi 454 'ustavu', 455 ali neÄe 'ustavnih', 'ustavnim'.</p> 456 <p class="small">Znak - (minus) ispred rijeÄi Äe izostaviti dokumente 457 koji 458 sadrže tu rijeÄ.</p> 459 <p class="small">Redoslijed kljuÄnih rijeÄi koje upisujete doprinosi 460 preciznosti rezultata pretrage, ali pogreÅ¡an redoslijed neÄe 461 zaustaviti 462 pretragu.</p> 463 <p class="small">Ukoliko tražite sadržaj sa toÄno odreÄenim 464 redoslijedom, 465 kljuÄne rijeÄi stavite u navodnike "" i navedite ih tim 466 redoslijedom. 467 </p> 468 </div> 469 <div class="right-content"> 470 <p class="as-h5">Pretražujete kroz sve važeÄe zakone (870) Republike 471 Hrvatske, a kraj svakog zakona imate objavljene i njegove ranije 472 verzije desetak godina unatrag</p> 473 <p class="as-h5">Probajte pretragu po jednoj ili viÅ¡e kljuÄnih rijeÄi iz 474 situacije za 475 koju 476 se informirate, kako bi Vam pronaÅ¡li sve relevantne sadržaje. </p> 477 478 </div> 479 </div> 480 </div> 481 <div id="podzakonski" class="focus-content"> 482 <div class="focus-content-header"> 483 <div class="propisi medium"> 484 <div class="checkbox-wrapper"> 485 <input id="checkbox-id-podzakonski" type="checkbox" checked class="vazeci-checkbox"> 486 <label for="checkbox-id-podzakonski">Pretraži samo važeÄe propise</label> 487 </div> 488 </div> 489 <div class="upute"> 490 <span class="medium">Upute za pretraživanje</span> 491 </div> 492 <div class="zatvori-container"> 493 <span class="zatvori"> 494 <img src="/assets/images/close.svg" alt="Zatvori" /> 495 </span> 496 </div> 497 </div> 498 <div class="focus-content-upute"> 499 <div class="left-content"> 500 <span class="medium">Brze upute za pretraživanje</span> 501 <p class="small">Znak* znaÄi da može biti 0 ili viÅ¡e znakova na tom 502 mjestu 503 (pretraga po korijenu rijeÄi npr ustav* Äe naÄi i 'ustav', 504 'ustavnih', 505 'ustavnim'.</p> 506 <p class="small">Znak ? zamjenjuje jedan znak npr. ustav? Äe naÄi 507 'ustavu', 508 ali neÄe 'ustavnih', 'ustavnim'.</p> 509 <p class="small">Znak - (minus) ispred rijeÄi Äe izostaviti dokumente 510 koji 511 sadrže tu rijeÄ.</p> 512 <p class="small">Redoslijed kljuÄnih rijeÄi koje upisujete doprinosi 513 preciznosti rezultata pretrage, ali pogreÅ¡an redoslijed neÄe 514 zaustaviti 515 pretragu.</p> 516 <p class="small">Ukoliko tražite sadržaj sa toÄno odreÄenim 517 redoslijedom, 518 kljuÄne rijeÄi stavite u navodnike "" i navedite ih tim 519 redoslijedom. 520 </p> 521 </div> 522 <div class="right-content"> 523 <p class="as-h5">Pretražujete kroz sve važeÄe podzakonske propise (preko 524 10.000) Republike Hrvatske</p> 525 <p class="as-h5">Probajte pretragu po jednoj ili viÅ¡e kljuÄnih rijeÄi iz 526 situacije za 527 koju 528 se informirate, kako bi Vam pronaÅ¡li sve relevantne sadržaje. </p> 529 530 </div> 531 </div> 532 </div> 533 <div id="sudska-praksa" class="focus-content"> 534 <div class="focus-content-header"> 535 <div class="propisi medium"> 536 <div class="checkbox-wrapper"> 537 <input id="checkbox-id-sudska-praksa" type="checkbox" checked class="vazeci-checkbox"> 538 <label for="checkbox-id-sudska-praksa">Pretraži samo važeÄe propise</label> 539 </div> 540 </div> 541 <div class="upute">
542 <span class="medium">Upute za pretraživanje</span> 543 </div> 544 <div class="zatvori-container"> 545 <span class="zatvori"> 546 <img src="/assets/images/close.svg" alt="Zatvori" /> 547 </span> 548 </div> 549 </div> 550 <div class="focus-content-upute"> 551 <div class="left-content"> 552 <span class="medium">Brze upute za pretraživanje</span> 553 <p class="small">Znak* znaÄi da može biti 0 ili viÅ¡e znakova na tom 554 mjestu 555 (pretraga po korijenu rijeÄi npr ustav* Äe naÄi i 'ustav', 556 'ustavnih', 557 'ustavnim'.</p> 558 <p class="small">Znak ? zamjenjuje jedan znak npr. ustav? Äe naÄi 559 'ustavu', 560 ali neÄe 'ustavnih', 'ustavnim'.</p> 561 <p class="small">Znak - (minus) ispred rijeÄi Äe izostaviti dokumente 562 koji 563 sadrže tu rijeÄ.</p> 564 <p class="small">Redoslijed kljuÄnih rijeÄi koje upisujete doprinosi 565 preciznosti rezultata pretrage, ali pogreÅ¡an redoslijed neÄe 566 zaustaviti 567 pretragu.</p> 568 <p class="small">Ukoliko tražite sadržaj sa toÄno odreÄenim 569 redoslijedom, 570 kljuÄne rijeÄi stavite u navodnike "" i navedite ih tim 571 redoslijedom. 572 </p> 573 </div> 574 <div class="right-content"> 575 <p class="as-h5">Pretražujete kroz odluke sudova RH, Suda EU i Europskog 576 suda za ljudska prava</p> 577 <p class="as-h5">Probajte pretragu po jednoj ili viÅ¡e kljuÄnih rijeÄi iz 578 situacije za 579 koju 580 se informirate, kako bi Vam pronaÅ¡li sve relevantne sadržaje. </p> 581 582 </div> 583 </div> 584 </div> 585 <div id="eu-propisi" class="focus-content"> 586 <div class="focus-content-header"> 587 <div class="propisi medium"> 588 <div class="checkbox-wrapper"> 589 <input id="checkbox-id-eu-propisi" type="checkbox" checked class="vazeci-checkbox"> 590 <label for="checkbox-id-eu-propisi">Pretraži samo važeÄe propise</label> 591 </div> 592 </div> 593 <div class="upute"> 594 <span class="medium">Upute za pretraživanje</span> 595 </div> 596 <div class="zatvori-container"> 597 <span class="zatvori"> 598 <img src="/assets/images/close.svg" alt="Zatvori" /> 599 </span> 600 </div> 601 </div> 602 <div class="focus-content-upute"> 603 <div class="left-content"> 604 <span class="medium">Brze upute za pretraživanje</span> 605 <p class="small">Znak* znaÄi da može biti 0 ili viÅ¡e znakova na tom 606 mjestu 607 (pretraga po korijenu rijeÄi npr ustav* Äe naÄi i 'ustav', 608 'ustavnih', 609 'ustavnim'.</p> 610 <p class="small">Znak ? zamjenjuje jedan znak npr. ustav? Äe naÄi 611 'ustavu', 612 ali neÄe 'ustavnih', 'ustavnim'.</p> 613 <p class="small">Znak - (minus) ispred rijeÄi Äe izostaviti dokumente 614 koji 615 sadrže tu rijeÄ.</p> 616 <p class="small">Redoslijed kljuÄnih rijeÄi koje upisujete doprinosi 617 preciznosti rezultata pretrage, ali pogreÅ¡an redoslijed neÄe 618 zaustaviti 619 pretragu.</p> 620 <p class="small">Ukoliko tražite sadržaj sa toÄno odreÄenim 621 redoslijedom, 622 kljuÄne rijeÄi stavite u navodnike "" i navedite ih tim 623 redoslijedom. 624 </p> 625 </div> 626 <div class="right-content"> 627 <p class="as-h5">Ppretražujete kroz sve važeÄe direktive i uredbe EU 628 zakonske snage (koje su donijeli VijeÄe i Parlament), a kraj svakog 629 dokumenta je poveznica prema svim ostalim povezanim propisima</p> 630 <p class="as-h5">Probajte pretragu po jednoj ili viÅ¡e kljuÄnih rijeÄi iz 631 situacije za 632 koju 633 se informirate, kako bi Vam pronaÅ¡li sve relevantne sadržaje. </p> 634 635 </div> 636 </div> 637 </div> 638 <div id="vijesti" class="focus-content"> 639 <div class="focus-content-header"> 640 <div class="propisi medium"> 641 <div class="checkbox-wrapper"> 642 <input id="checkbox-id-vijesti" type="checkbox" checked class="vazeci-checkbox"> 643 <label for="checkbox-id-vijesti">Pretraži samo važeÄe propise</label> 644 </div> 645 </div> 646 <div class="upute">
647 <span class="medium">Upute za pretraživanje</span> 648 </div> 649 <div class="zatvori-container"> 650 <span class="zatvori"> 651 <img src="/assets/images/close.svg" alt="Zatvori" /> 652 </span> 653 </div> 654 </div> 655 <div class="focus-content-upute"> 656 <div class="left-content"> 657 <span class="medium">Brze upute za pretraživanje</span> 658 <p class="small">Znak* znaÄi da može biti 0 ili viÅ¡e znakova na tom 659 mjestu 660 (pretraga po korijenu rijeÄi npr ustav* Äe naÄi i 'ustav', 661 'ustavnih', 662 'ustavnim'.</p> 663 <p class="small">Znak ? zamjenjuje jedan znak npr. ustav? Äe naÄi 664 'ustavu', 665 ali neÄe 'ustavnih', 'ustavnim'.</p> 666 <p class="small">Znak - (minus) ispred rijeÄi Äe izostaviti dokumente 667 koji 668 sadrže tu rijeÄ.</p> 669 <p class="small">Redoslijed kljuÄnih rijeÄi koje upisujete doprinosi 670 preciznosti rezultata pretrage, ali pogreÅ¡an redoslijed neÄe 671 zaustaviti 672 pretragu.</p> 673 <p class="small">Ukoliko tražite sadržaj sa toÄno odreÄenim 674 redoslijedom, 675 kljuÄne rijeÄi stavite u navodnike "" i navedite ih tim 676 redoslijedom. 677 </p> 678 </div> 679 <div class="right-content"> 680 <p class="as-h5">pretražujete kroz razne pravne vijesti koje smo mi 681 sastavili ili samo prenijeli</p> 682 <p class="as-h5">Probajte pretragu po jednoj ili viÅ¡e kljuÄnih rijeÄi iz 683 situacije za 684 koju 685 se informirate, kako bi Vam pronaÅ¡li sve relevantne sadržaje. </p> 686 687 </div> 688 </div> 689 </div> 690 </div> 691 </div> 692 </div> 693 694 695 <input type="hidden" name="t" id="selected-target" value="" /> 696 697 <button type="submit" class="small-button">Traži</button> 698</form> 699 </div> 700 </div> 701 702 <div class="search-overlay"></div> 703 704 <main class="zakon-page"> 705 <div class="left" id="left"> 706 707 <div class="alati" id="alati"> 708 <div class="search-bar info-link info-link-above search-bar-denied"> 709 <span class="info-modal">Pretraži tekst</span> 710 711 712 713
713<script> 714 document.addEventListener('DOMContentLoaded', function() { 715 var bar = document.querySelector('#alati .search-bar-denied'); 716 if (!bar) return; 717 bar.addEventListener('click', function() { 718 showNotification('VaÅ¡ paket pretplate ne ukljuÄuje pretragu teksta na stranici.', 'info'); 719 }); 720 }); 721 </script>
721 722 723 724 </div> 725 726 727 728 729 <a class="download-pdf download-pdf-denied info-link info-link-above" href="#" id="alati-preuzmi-pdf-gumb"><span class="info-modal">Preuzmi dokument</span></a> 730 731 732 733 <a class="bell info-link info-link-above" id="bell-icon"><span class="info-modal">Postavite obavijest</span></a> 734 <a class="prijava info-link info-link-above" data-modal="modal-prijava-nepravilnosti" href="#"><span class="info-modal">Prijavite nepravilnost</span></a> 735 736 737 <div class="to-top info-link info-link-above" onclick="backToTop()"><span class="info-modal">Na vrh</span></div> 738 </div> 739 740 741 <div class="main-zakon-container"> 742 743 744 745 746 747 <div class="main-zakon-header"> 748 <p> </p> 749 750 751 752 753 754 <a class="zakon-preuzmi zakon-preuzmi-denied" href="#" id="zakon-preuzmi-pdf-gumb"><div id="atopdlbutton-pdf">Preuzmi dokument<span>U PDF formatu</span></div></a> 755
755<script> 756 document.addEventListener('DOMContentLoaded', function() { 757 document.querySelectorAll('#zakon-preuzmi-pdf-gumb, #alati-preuzmi-pdf-gumb').forEach(function(pdfBtn) { 758 pdfBtn.addEventListener('click', function(e) { 759 e.preventDefault(); 760 showNotification('VaÅ¡ paket pretplate ne ukljuÄuje preuzimanje ovog dokumenta u PDF formatu.', 'info'); 761 }); 762 }); 763 }); 764 </script>
764 765 766 767 768 </div> 769 <div class="main-zakon-content"> 770 <div id="pretrazitekst" class="tekst-zakona"> 771 772 <p> </p> 773 774 775 776 </div> 777 778 779 </div> 780 781 782 </div> 783 </div> 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800<div class="resizer" id="dragMe"> 801 <div class="resizer-img-wrapper"> 802 <span class="resizer-img"></span> 803 </div> 804</div> 805<div class="right"> 806 <div class="main-zakon-container main-zakon-container-sidebar"> 807 <div class="pane-buttons-container"> 808 <a class="right-pane-button" id="pop-up-pane" target="_blank" title="Otvori u novom prozoru"></a> 809 <a class="right-pane-button" id="close-pane" onclick="closeMobilePane()" title="Zatvori"></a> 810 </div> 811 <div class="main-zakon-header"></div> 812 <div class="main-zakon-content"> 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828<h1><strong>Upoznajte novi Zakon.hr</strong></h1><h5><strong>Pravni izvori sada su pregledniji, povezaniji i jednostavniji za koriÅ¡tenje</strong></h5><p>Novi Zakon.hr nije samo redizajn postojeÄe stranice. Cjelokupnu podatkovnu osnovu izgradili smo iznova kako bismo omoguÄili brže pronalaženje pravnih informacija, jednostavnije povezivanje izvora i razvoj novih funkcionalnosti.</p><p>Zakoni i drugi propisi sada su strukturirani po pojedinim Älancima. Time smo stvorili temelje za preciznije pretraživanje, izravno povezivanje s odreÄenim Älankom, praÄenje promjena te povezivanje propisa sa sudskom praksom, podzakonskim propisima, vijestima i drugim relevantnim sadržajima.</p><h5><strong>Å to donosi novi Zakon.hr?</strong></h5><p><strong>- Novi dizajn usmjeren na preglednost i produktivnost</strong> â sadržaj, alati i povezani pravni izvori organizirani su tako da vam tijekom rada budu dostupni uz Å¡to manje dodatnih koraka. </p><p><strong>- Pretpregledni prozor (preview pane)</strong> â povezane sadržaje možete pregledavati u posebnom boÄnom prozoru, bez napuÅ¡tanja propisa na kojem radite i gubitka trenutaÄnog konteksta. </p><p><strong>- Nova tražilica</strong> â pretražujte sve baze zajedno ili odaberite odreÄenu vrstu sadržaja, uz jasnije organizirane i preglednije rezultate. </p><p><strong>- Arhiva ranijih verzija zakona</strong> â pronaÄite tekst zakona koji je vrijedio u odreÄenom razdoblju, Å¡to je osobito važno za postupke koji se odnose na ranije nastale pravne odnose. </p><p><strong>- Usporedba verzija</strong> â usporedite razliÄite verzije zakona i lakÅ¡e utvrdite Å¡to je pojedinom izmjenom promijenjeno. </p><p><strong>- Povezani pravni izvori</strong> â sa stranice pojedinog zakona brzo pristupite podzakonskim propisima, povezanim zakonima, ranijim verzijama i pripadajuÄim vijestima. </p><p><strong>- PraÄenje sadržaja i obavijesti</strong> â pratite odabrane pravne sadržaje i primajte obavijesti o njihovim promjenama. </p><p><strong>- Preuzimanje dokumenata</strong> â ovisno o odabranom paketu, dokumente možete preuzimati u PDF formatu. </p><p><strong>- Automatski sadržaj</strong> - kazalo sadržaja propisa automatski se generira gdje je moguÄe, za lakÅ¡u navigaciju kroz velike dokumente.</p><p>- <strong>'Mala' tražilica</strong> kroz tekst prikazanog sadržaja, osobito korisno za dugaÄke propise kada pristupate s mobilnog ureÄaja.</p><p><strong>- Moj Profil</strong> - korisnici mogu upravljati svojim profilom, praÄenim sadržajima, obavijestima i drugim dostupnim postavkama.</p><h5><strong>Besplatna registracija</strong></h5><p>Otvorite korisniÄki raÄun i upoznajte moguÄnosti novog sustava. Registracija je besplatna i sama po sebi ne stvara obvezu plaÄanja.</p><p>Registrirani korisnici mogu upravljati svojim profilom, praÄenim sadržajima, obavijestima i drugim dostupnim postavkama.</p><h5><strong>Novi paketi pretplate</strong></h5><p>Za pristup naplatnim bazama i naprednim funkcionalnostima dostupni su novi paketi pretplate <a target="_blank" rel="noopener noreferrer" href="https://www.zakon.hr/select"><strong>Classic</strong> i <strong>PLUS</strong></a>.</p><p>
828Odaberite paket prema opsegu sadržaja i funkcija koje su vam potrebne. Paket PLUS namijenjen je korisnicima koji Zakon.hr redovito koriste kao profesionalni radni alat i žele puni pristup dostupnim pravnim sadržajima i funkcionalnostima.</p><h5><strong>Zakon.hr je trenutaÄno u beta fazi</strong></h5><p>Novu verziju nastavljamo razvijati. JoÅ¡ uvijek dopunjavamo i provjeravamo baze podataka, povezujemo postojeÄe sadržaje te postupno uvodimo nove funkcionalnosti.</p><p>Ako primijetite pogreÅ¡ku, nedostatak ili imate prijedlog za poboljÅ¡anje, javite nam se. VaÅ¡e iskustvo pomoÄi Äe nam da Zakon.hr uÄinimo joÅ¡ pouzdanijim i praktiÄnijim pravnim alatom.</p><h5><strong>Registrirajte se besplatno i isprobajte novi Zakon.hr.</strong></h5> 829 830 831 832 </div> 833 </div> 834</div> 835 836 837 </main> 838 839 840 841<footer> 842 <div class="container"> 843 <div class="footer-container-div"> 844 <div class="footer-first-div"> 845 <!-- <a href="" class="button button-outline prijava-newsletter-button">Prijavite se na naÅ¡ Newsletter za 846 najnovije vijesti</a> --> 847 <span class="back-to-top-button" onclick="backToTop()"></span> 848 </div> 849 <div class="footer-legal"> 850 <ul class="footer-legal-links" aria-label="Pravni dokumenti"> 851 <li><a href="/c/blog/1057894/opci-uvjeti-koristenja-zakon.hr-2.0">OpÄi uvjeti koriÅ¡tenja</a></li> 852 <li><a href="/c/blog/1057897/politika-privatnosti-zakon.hr-v2.0">Politika privatnosti</a></li> 853 <li><a href="/c/blog/1057896/politika-kolacica-zakon.hr-v2.0">Politika kolaÄiÄa</a></li> 854 <li><a href="/select">Cjenik</a></li> 855 <li><a href="/c/blog/1057893/predugovorne-informacije-v2.0">Predugovorne informacije za potroÅ¡aÄa</a></li> 856 <li><a href="/c/blog/1057898/obavijest-o-nacinu-isticanja-prigovora-potrosaca-v2.0">Obavijest o naÄinu isticanja prigovora potroÅ¡aÄa</a></li> 857 </ul> 858 </div> 859 <div class="footer-copyright"> 860 <div class="footer-company"> 861 <span class="medium">Copyright © Ante BoriÄ</span> 862 <span class="footer-company-info">Val savjetovanje d.o.o.<br />Kulmerska 31, 10000 Zagreb</span> 863 </div> 864 <div class="mm-potpis-container"> 865 <a href="https://magicmarinac.hr/izrada-web-stranica-ux-ui-dizajn/" target="_blank" 866 class="mm-potpis">Made in MagiÄMarinac</a> 867 </div> 868 </div> 869 <p class="footer-disclaimer"> 870 <strong>Zakon.hr je privatni pravno-informacijski i nakladniÄki projekt.</strong> 871 Zakon.hr nije službeni izvor propisa niti individualni pravni savjet. Prije pravnog postupanja 872 potrebno je provjeriti službeni izvor, datum važenja i druge okolnosti konkretnog sluÄaja. 873 </p> 874 </div> 875 </div> 876</footer> 877
878<script>document.body.dataset.previewPane = 'false';</script>
vendor: 2 bytes, line 878
878
879<script src="/assets/js/main.js?v=52c7714"></script>
vendor: 2 bytes, line 879
879
880<script src="/assets/js/se_extras.js?v=52c7714"></script>
vendor: 2 bytes, line 880
880
881<script src="/assets/js/vendors/swiper-bundle.min.js"></script>
vendor: 2 bytes, line 881
881
882<script src="/assets/js/vendors/gsap.min.js"></script>
vendor: 2 bytes, line 882
882
883<script src="/assets/js/vendors/ScrollTrigger.min.js"></script>
883 884 885 886 887 888<div class="web-feedback" id="web-feedback" hidden> 889 <div class="web-feedback-backdrop" data-web-feedback-dismiss></div> 890 <div class="web-feedback-card" role="dialog" aria-modal="true" aria-labelledby="web-feedback-title"> 891 <button type="button" class="web-feedback-close" data-web-feedback-dismiss aria-label="Zatvori">×</button> 892 <form id="web-feedback-form" novalidate> 893 <h2 id="web-feedback-title">Kako Vam se sviÄa novi web?</h2> 894 <p class="web-feedback-intro">Tri kratka pitanja, pomažete nam da ga poboljÅ¡amo.</p> 895 896 <fieldset class="web-feedback-field"> 897 <legend>Koliko ste zadovoljni novim webom? <span>(1â10)</span></legend> 898 <div class="web-feedback-scores" role="radiogroup" aria-label="Ocjena 1 do 10"> 899 <button type="button" class="web-feedback-score" data-score="1">1</button> 900 <button type="button" class="web-feedback-score" data-score="2">2</button> 901 <button type="button" class="web-feedback-score" data-score="3">3</button> 902 <button type="button" class="web-feedback-score" data-score="4">4</button> 903 <button type="button" class="web-feedback-score" data-score="5">5</button> 904 <button type="button" class="web-feedback-score" data-score="6">6</button> 905 <button type="button" class="web-feedback-score" data-score="7">7</button> 906 <button type="button" class="web-feedback-score" data-score="8">8</button> 907 <button type="button" class="web-feedback-score" data-score="9">9</button> 908 <button type="button" class="web-feedback-score" data-score="10">10</button> 909 </div> 910 <input type="hidden" name="satisfaction" id="web-feedback-satisfaction" value=""> 911 </fieldset> 912 913 <label class="web-feedback-field"> 914 Å to Vam najviÅ¡e nedostaje? 915 <textarea name="missingMost" maxlength="2000" rows="3" placeholder="Npr. stara pretraga, ispis, brži pregled..."></textarea> 916 </label> 917 918 <label class="web-feedback-field"> 919 Å to Vam se najviÅ¡e sviÄa? 920 <textarea name="likeBest" maxlength="2000" rows="3" placeholder="Npr. izgled, preglednost, pretraga..."></textarea> 921 </label> 922 923 <div class="web-feedback-honeypot" aria-hidden="true"> 924 <label>Website <input type="text" name="website" tabindex="-1" autocomplete="off"></label> 925 </div> 926 927 <p class="web-feedback-error" id="web-feedback-error" hidden></p> 928 929 <div class="web-feedback-actions"> 930 <button type="button" class="button button-outline" data-web-feedback-dismiss>Ne sada</button> 931 <button type="submit" class="button button-blue" id="web-feedback-submit">PoÅ¡alji</button> 932 </div> 933 </form> 934 <div class="web-feedback-thanks" id="web-feedback-thanks" hidden> 935 <h2>Hvala!</h2> 936 <p>VaÅ¡ odgovor nam pomaže da novi web bude bolji.</p> 937 </div> 938 </div> 939</div> 940
941<script> 942(function () { 943 var STORAGE_KEY = 'zakonhr.webFeedback.v1'; 944 var DELAY_MS = 12000; 945 var DISMISS_DAYS = 14; 946 var MIN_USAGE_DAYS = 3; 947 var SKIP_PATHS = [ 948 '/login', 949 '/register', 950 '/resetPassword', 951 '/confirmResetPassword', 952 '/select', 953 '/ponuda', 954 '/profil/hvala', 955 '/profil/aktivacijski-kod' 956 ]; 957 958 var root = document.getElementById('web-feedback'); 959 if (!root) return; 960 961 var form = document.getElementById('web-feedback-form'); 962 var thanks = document.getElementById('web-feedback-thanks'); 963 var scoreInput = document.getElementById('web-feedback-satisfaction'); 964 var errorEl = document.getElementById('web-feedback-error'); 965 var forced = new URLSearchParams(window.location.search).has('feedback'); 966 967 function readState() { 968 try { 969 return JSON.parse(localStorage.getItem(STORAGE_KEY) || 'null'); 970 } catch (e) { 971 return null; 972 } 973 } 974 975 function persistState(state) { 976 try { 977 localStorage.setItem(STORAGE_KEY, JSON.stringify(state)); 978 } catch (e) { /* ignore quota / private mode */ } 979 } 980 981 function writeState(status) { 982 var state = readState() || {}; 983 state.status = status; 984 state.at = Date.now(); 985 if (!state.firstSeen) state.firstSeen = Date.now(); 986 persistState(state); 987 } 988 989 function ensureFirstSeen() { 990 var state = readState() || {}; 991 if (!state.firstSeen) { 992 state.firstSeen = Date.now(); 993 persistState(state); 994 } 995 return state.firstSeen; 996 } 997 998 function shouldSkipPath() { 999 var path = window.location.pathname || ''; 1000 return SKIP_PATHS.some(function (p) { return path === p || path.indexOf(p + '/') === 0; }); 1001 } 1002 1003 function shouldShow() { 1004 var firstSeen = ensureFirstSeen(); 1005 if (forced) return true; 1006 if (shouldSkipPath()) return false; 1007 if (Date.now() - firstSeen < MIN_USAGE_DAYS * 24 * 60 * 60 * 1000) return false; 1008 var state = readState(); 1009 if (!state || !state.status) return true; 1010 if (state.status === 'submitted') return false; 1011 if (state.status === 'dismissed') { 1012 return Date.now() - (state.at || 0) > DISMISS_DAYS * 24 * 60 * 60 * 1000; 1013 } 1014 return true; 1015 } 1016 1017 function openPopup() { 1018 root.hidden = false; 1019 document.body.classList.add('web-feedback-open'); 1020 } 1021 1022 function closePopup(status) { 1023 root.hidden = true; 1024 document.body.classList.remove('web-feedback-open'); 1025 if (status) writeState(status); 1026 } 1027 1028 function showError(message) { 1029 errorEl.textContent = message; 1030 errorEl.hidden = !message; 1031 } 1032 1033 root.querySelectorAll('[data-web-feedback-dismiss]').forEach(function (el) { 1034 el.addEventListener('click', function () { 1035 closePopup('dismissed'); 1036 }); 1037 }); 1038 1039 root.querySelectorAll('.web-feedback-score').forEach(function (btn) { 1040 btn.addEventListener('click', function () { 1041 scoreInput.value = btn.getAttribute('data-score'); 1042 root.querySelectorAll('.web-feedback-score').forEach(function (other) { 1043 other.classList.toggle('is-selected', other === btn); 1044 }); 1045 showError(''); 1046 }); 1047 }); 1048 1049 form.addEventListener('submit', function (event) { 1050 event.preventDefault(); 1051 if (!scoreInput.value) { 1052 showError('Odaberite ocjenu od 1 do 10.'); 1053 return; 1054 } 1055 1056 var submitBtn = document.getElementById('web-feedback-submit'); 1057 submitBtn.disabled = true; 1058 showError(''); 1059 1060 var body = new URLSearchParams(); 1061 body.set('satisfaction', scoreInput.value); 1062 body.set('missingMost', form.elements.missingMost.value); 1063 body.set('likeBest', form.elements.likeBest.value); 1064 body.set('pageUrl', window.location.href); 1065 body.set('website', form.elements.website.value); 1066 1067 fetch('/web-feedback', { 1068 method: 'POST', 1069 headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }, 1070 body: body.toString() 1071 }).then(function (response) { 1072 return response.json().catch(function () { return {}; }).then(function (data) { 1073 if (!response.ok) { 1074 throw new Error(data.error || 'Slanje nije uspjelo.'); 1075 } 1076 return data; 1077 }); 1078 }).then(function () { 1079 form.hidden = true; 1080 thanks.hidden = false; 1081 writeState('submitted'); 1082 setTimeout(function () { closePopup(); }, 2200); 1083 }).catch(function () { 1084 showError('Nažalost slanje nije uspjelo. Pokušajte ponovno.'); 1085 submitBtn.disabled = false; 1086 }); 1087 });
1088 1089 if (!shouldShow()) return; 1090 setTimeout(openPopup, forced ? 300 : DELAY_MS); 1091})(); 1092</script>
1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 </div> 1102 1103 1104 <div class="modal" id="modal-obavijesti"> 1105 <div class="modal-content"> 1106 <span class="modal-close">×</span> 1107 <h2 class="no-padding-top">Pratite ovaj sadržaj</h2> 1108 <p>Primajte obavijesti na vaÅ¡ e-mail u sluÄaju promjena na ovom dokumentu vezano za:</p> 1109 <form id="obavijesti-form"> 1110 <input type="hidden" name="cmsContentId" value="902" /> 1111 <div class="form-group"> 1112 <label><input type="checkbox" name="watchContent" value="true" checked /> Sadržaj</label> 1113 </div> 1114 <div class="form-group"> 1115 <label><input type="checkbox" name="watchSubordinateRegulations" value="true" /> Podzakonski propisi</label> 1116 </div> 1117 1118 <div class="buttons-container"> 1119 <button type="submit" class="button button-blue button-responsive">Spremi</button> 1120 1121 <button type="button" class="button button-outline button-responsive modal-close-btn">Odustani</button> 1122 </div> 1123 </form> 1124 </div> 1125 </div> 1126 1127 <div class="modal" id="modal-prijava-nepravilnosti"> 1128 <div class="modal-content"> 1129 <span class="modal-close">×</span> 1130 <h2 class="no-padding-top">Prijavite nepravilnost</h2> 1131 <form id="prijava-nepravilnosti-form"> 1132 <div class="form-group"> 1133 <div class="form-group-inner"> 1134 <input type="email" id="prijava-email" name="email" placeholder="VaÅ¡ e-mail (neobavezno)" value="" /> 1135 </div> 1136 </div> 1137 <div class="form-group"> 1138 <div class="form-group-inner"> 1139 <textarea id="prijava-message" name="message" class="text" required placeholder="OpiÅ¡ite nepravilnost..."></textarea> 1140 </div> 1141 </div> 1142 <div class="form-group"> 1143 <div id="prijava-turnstile" class="cf-turnstile" data-sitekey="0x4AAAAAAEPyczWtj4xELjkK" data-action="report"></div> 1144 </div> 1145 <div class="buttons-container"> 1146 <button type="submit" class="button button-blue button-responsive">PoÅ¡alji</button> 1147 <button type="button" class="button button-outline button-responsive modal-close-btn">Odustani</button> 1148 </div> 1149 </form> 1150 </div> 1151 </div> 1152 1153
1153<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
1153 1154
1154<script> 1155 document.getElementById('bell-icon').addEventListener('click', function(e) { 1156 1157 1158 showNotification('Za korištenje obavijesti morate biti prijavljeni.', 'warning', 5000); 1159 1160 }); 1161 1162 document.getElementById('obavijesti-form').addEventListener('submit', function(e) { 1163 e.preventDefault(); 1164 var form = this; 1165 1166 var watchContent = form.querySelector('input[name="watchContent"]').checked; 1167 var watchSubordinateRegulations = form.querySelector('input[name="watchSubordinateRegulations"]').checked; 1168 var caseLawEl = form.querySelector('input[name="watchCaseLaw"]'); 1169 var watchCaseLaw = caseLawEl ? caseLawEl.checked : false; 1170 1171 if (!confirmNoCheckboxes(watchContent, watchSubordinateRegulations, watchCaseLaw)) { 1172 return; 1173 } 1174 1175 var submitBtn = form.querySelector('button[type="submit"]'); 1176 submitBtn.disabled = true; 1177 submitBtn.textContent = 'Spremam...'; 1178 1179 var cmsContentId = form.querySelector('input[name="cmsContentId"]').value; 1180 1181 saveContentNotificationApi(cmsContentId, watchContent, watchSubordinateRegulations, watchCaseLaw) 1182 .then(function(response) { 1183 var modal = document.getElementById('modal-obavijesti'); 1184 modal.style.display = 'none'; 1185 submitBtn.disabled = false; 1186 submitBtn.textContent = 'Spremi'; 1187 if (response.ok) { 1188 var bell = document.getElementById('bell-icon'); 1189 if (bell) bell.classList.add('bell-active'); 1190 showNotification('Obavijest je uspješno spremljena!', 'success', 5000); 1191 } else { 1192 response.text().then(function(msg) { 1193 showNotification(msg || 'Došlo je do pogreške. Molimo pokušajte ponovno.', 'error'); 1194 }); 1195 } 1196 }) 1197 .catch(function() { 1198 var modal = document.getElementById('modal-obavijesti'); 1199 modal.style.display = 'none'; 1200 submitBtn.disabled = false; 1201 submitBtn.textContent = 'Spremi'; 1202 showNotification('Došlo je do pogreške. Molimo pokušajte ponovno.', 'error'); 1203 }); 1204 }); 1205 1206 function deleteContentNotification() { 1207 if (!confirm('Jeste li sigurni da želite izbrisati obavijest?')) return; 1208 var cmsContentId = document.querySelector('#obavijesti-form input[name="cmsContentId"]').value; 1209 deleteContentNotificationApi(cmsContentId) 1210 .then(function(response) { 1211 var modal = document.getElementById('modal-obavijesti'); 1212 modal.style.display = 'none'; 1213 if (response.ok) { 1214 var bell = document.getElementById('bell-icon'); 1215 if (bell) bell.classList.remove('bell-active'); 1216 showNotification('Obavijest je uspješno izbrisana!', 'success', 5000); 1217 } else { 1218 showNotification('Došlo je do pogreške. Molimo pokušajte ponovno.', 'error'); 1219 } 1220 }) 1221 .catch(function() { 1222 var modal = document.getElementById('modal-obavijesti'); 1223 modal.style.display = 'none'; 1224 showNotification('Došlo je do pogreške. Molimo pokušajte ponovno.', 'error'); 1225 }); 1226 } 1227 1228 document.getElementById('prijava-nepravilnosti-form').addEventListener('submit', function(e) { 1229 e.preventDefault(); 1230 var form = this; 1231 var submitBtn = form.querySelector('button[type="submit"]'); 1232 submitBtn.disabled = true; 1233 submitBtn.textContent = 'Šaljem...'; 1234 1235 var turnstileInput = form.querySelector('textarea[name="cf-turnstile-response"], input[name="cf-turnstile-response"]'); 1236 var turnstileToken = turnstileInput ? turnstileInput.value : ''; 1237 1238 var params = new URLSearchParams(); 1239 params.append('pageUrl', window.location.href); 1240 params.append('email', document.getElementById('prijava-email').value); 1241 params.append('message', document.getElementById('prijava-message').value); 1242 params.append('cf-turnstile-response', turnstileToken); 1243 1244 fetch('/prijava-nepravilnosti', { 1245 method: 'POST', 1246 headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, 1247 body: params.toString() 1248 }) 1249 .then(function(response) { 1250 var modal = document.getElementById('modal-prijava-nepravilnosti'); 1251 submitBtn.disabled = false; 1252 submitBtn.textContent = 'Pošalji'; 1253 if (window.turnstile) { window.turnstile.reset('#prijava-turnstile'); } 1254 if (response.ok) { 1255 modal.style.display = 'none'; 1256 form.reset(); 1257 showNotification('Hvala na prijavi! Vaša poruka je uspješno poslana.', 'success', 10000); 1258 } else { 1259 response.text().then(function(msg) { 1260 showNotification(msg || 'Došlo je do pogreške pri slanju. Molimo pokušajte ponovno.', 'error'); 1261 }); 1262 } 1263 }) 1264 .catch(function() { 1265 submitBtn.disabled = false; 1266 submitBtn.textContent = 'Pošalji'; 1267 if (window.turnstile) { window.turnstile.reset('#prijava-turnstile'); } 1268 showNotification('Došlo je do pogreške pri slanju. Molimo pokušajte ponovno.', 'error'); 1269 }); 1270 });
1271 1272 // Scroll to and briefly highlight the article block referenced by the URL hash (e.g. #40779-5) 1273 function scrollToArticleAnchor() { 1274 var hash = window.location.hash; 1275 if (!hash || hash.length < 2) return; 1276 var id = decodeURIComponent(hash.substring(1)); 1277 var target; 1278 try { 1279 target = document.getElementById(id); 1280 } catch (e) { 1281 return; 1282 } 1283 if (!target) return; 1284 target.scrollIntoView({ behavior: 'smooth', block: 'start' }); 1285 target.classList.remove('cms-article-highlight'); 1286 // force reflow so the animation can replay on repeated clicks 1287 void target.offsetWidth; 1288 target.classList.add('cms-article-highlight'); 1289 } 1290 window.addEventListener('hashchange', scrollToArticleAnchor); 1291 document.addEventListener('DOMContentLoaded', function() { 1292 // slight delay so layout/ads settle before scrolling 1293 setTimeout(scrollToArticleAnchor, 200); 1294 }); 1295 </script>
1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312
1313<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"5526ad51a0ac409c85c413c711c6cfce","spa":2}' crossorigin="anonymous"></script>
1313 1314</body> 1315 1316</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.