PageSourceSearch

https://oikeuskansleri.fi/etusivu

html oikeuskansleri.fi collected 2026-10-02 03:56:55 UTC 139,125 bytes, 2,899 lines download raw bytes

1<!doctype html>
2<html class="ltr site-theme top-frame" dir="ltr" lang="fi-FI">
3 <head>
4<meta name = "monitoring-token" content = "ok">
5 
6  <link rel="alternate" hreflang="en" href="https://oikeuskansleri.fi/en/frontpage"> 
7  <link rel="alternate" hreflang="sv" href="https://oikeuskansleri.fi/sv/startsida"> 
8  <link rel="alternate" hreflang="fi" href="https://oikeuskansleri.fi/etusivu"> 
9  <title>Etusivu | Valtioneuvoston oikeuskansleri</title> 
10  <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
11  <meta content="initial-scale=1.0, width=device-width" name="viewport"> 
12  <meta content="text/html; charset=UTF-8" http-equiv="content-type"> 
13  
13<script data-senna-track="permanent" src="/o/frontend-js-svg4everybody-web/index.js" type="text/javascript"></script>
13 
14  <link href="/documents/1428954/98405604/okv-favicon.png/c540ae92-672f-86e1-857f-c17ba997ed49?t=1646401323700&amp;imagePreview=1" rel="shortcut icon"> 
15  <link data-senna-track="permanent" href="/o/frontend-theme-font-awesome-web/css/main.css" rel="stylesheet" type="text/css"> 
16  
16<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/jquery.min.js" type="text/javascript"></script>
16 
17  
17<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/init.js" type="text/javascript"></script>
17 
18  
18<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/ajax.js" type="text/javascript"></script>
18 
19  
19<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/bootstrap.bundle.min.js" type="text/javascript"></script>
19 
20  
20<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/collapsible_search.js" type="text/javascript"></script>
20 
21  
21<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/fm.js" type="text/javascript"></script>
21 
22  
22<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/form.js" type="text/javascript"></script>
22 
23  
23<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/popper.min.js" type="text/javascript"></script>
23 
24  
24<script data-senna-track="permanent" src="/o/frontend-js-jquery-web/jquery/side_navigation.js" type="text/javascript"></script>
24 
25  <meta property="og:locale" content="fi_FI"> 
26  <meta property="og:locale:alternate" content="fi_FI"> 
27  <meta property="og:locale:alternate" content="sv_SE"> 
28  <meta property="og:locale:alternate" content="en_US"> 
29  <meta property="og:locale:alternate" content="se_FI"> 
30  <meta property="og:site_name" content="Valtioneuvoston oikeuskansleri"> 
31  <meta property="og:title" content="Etusivu - Valtioneuvoston oikeuskansleri"> 
32  <meta property="og:type" content="website"> 
33  <meta property="og:url" content="https://oikeuskansleri.fi/etusivu"> 
34  <meta property="og:image" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?version=1.0&amp;t=1654761017364&amp;imagePreview=1"> 
35  <meta property="og:image:secure_url" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?version=1.0&amp;t=1654761017364&amp;imagePreview=1"> 
36  <meta property="og:image:type" content="image/png"> 
37  <meta property="og:image:url" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?version=1.0&amp;t=1654761017364&amp;imagePreview=1"> 
38  <meta property="og:image:height" content="800"> 
39  <meta property="og:image:width" content="800">  
40  <link class="lfr-css-file" data-senna-track="temporary" href="https://oikeuskansleri.fi/o/yja-site-template-theme/css/clay.css?browserId=chrome&amp;themeId=yjasitetemplate_WAR_yjasitetemplatetheme&amp;minifierType=css&amp;languageId=fi_FI&amp;t=1790609464000" id="liferayAUICSS" rel="stylesheet" type="text/css"> 
41  <link data-senna-track="temporary" href="/o/frontend-css-web/main.css?browserId=chrome&amp;themeId=yjasitetemplate_WAR_yjasitetemplatetheme&amp;minifierType=css&amp;languageId=fi_FI&amp;t=1699991559480" id="liferayPortalCSS" rel="stylesheet" type="text/css"> 
42  <link data-senna-track="temporary" href="/combo?browserId=chrome&amp;minifierType=&amp;themeId=yjasitetemplate_WAR_yjasitetemplatetheme&amp;languageId=fi_FI&amp;com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z:%2Fcss%2Fmain.css&amp;com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB:%2Fcss%2Fmain.css&amp;com_liferay_product_navigation_product_menu_web_portlet_ProductMenuPortlet:%2Fcss%2Fmain.css&amp;fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet:%2Fcss%2Fmain.css&amp;fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter:%2Fcss%2Ffooter.css&amp;fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb:%2Fcss%2Fheader.css&amp;t=1790609464000" id="7e6f3a27" rel="stylesheet" type="text/css"> 
43  
43<script data-senna-track="temporary" type="text/javascript">
44	// <![CDATA[
45		var Liferay = Liferay || {};
46
47		Liferay.Browser = {
48			acceptsGzip: function() {
49				return true;
50			},
51
52			
53
54			getMajorVersion: function() {
55				return 153.0;
56			},
57
58			getRevision: function() {
59				return '537.36';
60			},
61			getVersion: function() {
62				return '153.0';
63			},
64
65			
66
67			isAir: function() {
68				return false;
69			},
70			isChrome: function() {
71				return true;
72			},
73			isEdge: function() {
74				return false;
75			},
76			isFirefox: function() {
77				return false;
78			},
79			isGecko: function() {
80				return true;
81			},
82			isIe: function() {
83				return false;
84			},
85			isIphone: function() {
86				return false;
87			},
88			isLinux: function() {
89				return true;
90			},
91			isMac: function() {
92				return false;
93			},
94			isMobile: function() {
95				return true;
96			},
97			isMozilla: function() {
98				return false;
99			},
100			isOpera: function() {
101				return false;
102			},
103			isRtf: function() {
104				return true;
105			},
106			isSafari: function() {
107				return true;
108			},
109			isSun: function() {
110				return false;
111			},
112			isWebKit: function() {
113				return true;
114			},
115			isWindows: function() {
116				return false;
117			}
118		};
119
120		Liferay.Data = Liferay.Data || {};
121
122		Liferay.Data.ICONS_INLINE_SVG = true;
123
124		Liferay.Data.NAV_SELECTOR = '#navigation';
125
126		Liferay.Data.NAV_SELECTOR_MOBILE = '#navigationCollapse';
127
128		Liferay.Data.isCustomizationView = function() {
129			return false;
130		};
131
132		Liferay.Data.notices = [
133			
134
135			
136		];
137
138		Liferay.PortletKeys = {
139			DOCUMENT_LIBRARY: 'com_liferay_document_library_web_portlet_DLPortlet',
140			DYNAMIC_DATA_MAPPING: 'com_liferay_dynamic_data_mapping_web_portlet_DDMPortlet',
141			ITEM_SELECTOR: 'com_liferay_item_selector_web_portlet_ItemSelectorPortlet'
142		};
143
144		Liferay.PropsValues = {
145			JAVASCRIPT_SINGLE_PAGE_APPLICATION_TIMEOUT: 0,
146			NTLM_AUTH_ENABLED: false,
147			UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE: 3048576000
148		};
149
150		Liferay.ThemeDisplay = {
151
152			
153
154			
155				getLayoutId: function() {
156					return '2';
157				},
158
159				
160
161				getLayoutRelativeControlPanelURL: function() {
162					return '/group/oikeuskansleri/~/control_panel/manage';
163				},
164
165				getLayoutRelativeURL: function() {
166					return '/etusivu';
167				},
168				getLayoutURL: function() {
169					return 'https://oikeuskansleri.fi/etusivu';
170				},
171				getParentLayoutId: function() {
172					return '1';
173				},
174				isControlPanel: function() {
175					return false;
176				},
177				isPrivateLayout: function() {
178					return 'false';
179				},
180				isVirtualLayout: function() {
181					return false;
182				},
183			
184
185			getBCP47LanguageId: function() {
186				return 'fi-FI';
187			},
188			getCanonicalURL: function() {
189
190				
191
192				return 'https\x3a\x2f\x2foikeuskansleri\x2efi\x2fetusivu';
193			},
194			getCDNBaseURL: function() {
195				return 'https://oikeuskansleri.fi';
196			},
197			getCDNDynamicResourcesHost: function() {
198				return '';
199			},
200			getCDNHost: function() {
201				return '';
202			},
203			getCompanyGroupId: function() {
204				return '10197';
205			},
206			getCompanyId: function() {
207				return '10157';
208			},
209			getDefaultLanguageId: function() {
210				return 'fi_FI';
211			},
212			getDoAsUserIdEncoded: function() {
213				return '';
214			},
215			getLanguageId: function() {
216				return 'fi_FI';
217			},
218			getParentGroupId: function() {
219				return '1428954';
220			},
221			getPathContext: function() {
222				return '';
223			},
224			getPathImage: function() {
225				return '/image';
226			},
227			getPathJavaScript: function() {
228				return '/o/frontend-js-web';
229			},
230			getPathMain: function() {
231				return '/c';
232			},
233			getPathThemeImages: function() {
234				return 'https://oikeuskansleri.fi/o/yja-site-template-theme/images';
235			},
236			getPathThemeRoot: function() {
237				return '/o/yja-site-template-theme';
238			},
239			getPlid: function() {
240				return '1428976';
241			},
242			getPortalURL: function() {
243				return 'https://oikeuskansleri.fi';
244			},
245			getRealUserId: function() {
246				return '10161';
247			},
248			getScopeGroupId: function() {
249				return '1428954';
250			},
251			getScopeGroupIdOrLiveGroupId: function() {
252				return '1428954';
253			},
254			getSessionId: function() {
255				return '';
256			},
257			getSiteAdminURL: function() {
258				return 'https://oikeuskansleri.fi/group/oikeuskansleri/~/control_panel/manage?p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view';
259			},
260			getSiteGroupId: function() {
261				return '1428954';
262			},
263			getURLControlPanel: function() {
264				return '/group/control_panel?refererPlid=1428976';
265			},
266			getURLHome: function() {
267				return 'https\x3a\x2f\x2foikeuskansleri\x2efi\x2f';
268			},
269			getUserEmailAddress: function() {
270				return '';
271			},
272			getUserId: function() {
273				return '10161';
274			},
275			getUserName: function() {
276				return '';
277			},
278			isAddSessionIdToURL: function() {
279				return false;
280			},
281			isImpersonated: function() {
282				return false;
283			},
284			isSignedIn: function() {
285				return false;
286			},
287
288			isStagedPortlet: function() {
289				
290					
291						return false;
292					
293				
294			},
295
296			isStateExclusive: function() {
297				return false;
298			},
299			isStateMaximized: function() {
300				return false;
301			},
302			isStatePopUp: function() {
303				return false;
304			}
305		};
306
307		var themeDisplay = Liferay.ThemeDisplay;
308
309		Liferay.AUI = {
310
311			
312
313			getAvailableLangPath: function() {
314				return 'available_languages.jsp?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&colorSchemeId=01&languageId=fi_FI&t=1790892007598';
315			},
316			getCombine: function() {
317				return false;
318			},
319			getComboPath: function() {
320				return '/combo/?browserId=chrome&minifierType=&languageId=fi_FI&t=1790620174728&';
321			},
322			getDateFormat: function() {
323				return '%d.%m.%Y';
324			},
325			getEditorCKEditorPath: function() {
326				return '/o/frontend-editor-ckeditor-web';
327			},
328			getFilter: function() {
329				var filter = 'raw';
330
331				
332					
333
334				return filter;
335			},
336			getFilterConfig: function() {
337				var instance = this;
338
339				var filterConfig = null;
340
341				if (!instance.getCombine()) {
342					filterConfig = {
343						replaceStr: '.js' + instance.getStaticResourceURLParams(),
344						searchExp: '\\.js$'
345					};
346				}
347
348				return filterConfig;
349			},
350			getJavaScriptRootPath: function() {
351				return '/o/frontend-js-web';
352			},
353			getLangPath: function() {
354				return 'aui_lang.jsp?browserId=chrome&themeId=yjasitetemplate_WAR_yjasitetemplatetheme&colorSchemeId=01&languageId=fi_FI&t=1790620174728';
355			},
356			getPortletRootPath: function() {
357				return '/html/portlet';
358			},
359			getStaticResourceURLParams: function() {
360				return '?browserId=chrome&minifierType=&languageId=fi_FI&t=1790620174728';
361			}
362		};
363
364		Liferay.authToken = 'ak7xBWnN';
365
366		
367
368		Liferay.currentURL = '\x2fetusivu';
369		Liferay.currentURLEncoded = '\x252Fetusivu';
370	// ]]>
371</script>
371 
372  
372<script src="/o/js_loader_config?t=1790620161859" type="text/javascript"></script>
372 
373  
373<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/aui/aui.js" type="text/javascript"></script>
373 
374  
374<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/modules.js" type="text/javascript"></script>
374 
375  
375<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/aui_sandbox.js" type="text/javascript"></script>
375 
376  
376<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-base/attribute-base.js" type="text/javascript"></script>
376 
377  
377<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-complex/attribute-complex.js" type="text/javascript"></script>
377 
378  
378<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-core/attribute-core.js" type="text/javascript"></script>
378 
379  
379<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-observable/attribute-observable.js" type="text/javascript"></script>
379 
380  
380<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/attribute-extras/attribute-extras.js" type="text/javascript"></script>
380 
381  
381<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/event-custom-base/event-custom-base.js" type="text/javascript"></script>
381 
382  
382<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/event-custom-complex/event-custom-complex.js" type="text/javascript"></script>
382 
383  
383<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/oop/oop.js" type="text/javascript"></script>
383 
384  
384<script data-senna-track="permanent" src="/o/frontend-js-aui-web/aui/aui-base-lang/aui-base-lang.js" type="text/javascript"></script>
384 
385  
385<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/dependency.js" type="text/javascript"></script>
385 
386  
386<script data-senna-track="permanent" src="/o/frontend-js-aui-web/liferay/util.js" type="text/javascript"></script>
386 
387  
387<script data-senna-track="permanent" src="/o/frontend-js-web/loader/config.js" type="text/javascript"></script>
387 
388  
388<script data-senna-track="permanent" src="/o/frontend-js-web/loader/loader.js" type="text/javascript"></script>
388 
389  
389<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/dom_task_runner.js" type="text/javascript"></script>
389 
390  
390<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/events.js" type="text/javascript"></script>
390 
391  
391<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/lazy_load.js" type="text/javascript"></script>
391 
392  
392<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/liferay.js" type="text/javascript"></script>
392 
393  
393<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/global.bundle.js" type="text/javascript"></script>
393 
394  
394<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/portlet.js" type="text/javascript"></script>
394 
395  
395<script data-senna-track="permanent" src="/o/frontend-js-web/liferay/workflow.js" type="text/javascript"></script>
395 
396  
396<script data-senna-track="temporary" src="/o/js_bundle_config?t=1790620178606" type="text/javascript"></script>
396 
397  
397<script data-senna-track="temporary" type="text/javascript">
398	// <![CDATA[
399		
400			
401				
402		
403
404		
405
406		
407	// ]]>
408</script>
408 
409  <meta name="google-site-verification" content="zpzzSwJSO218O8UUDz3Z_CpRyvVv_5Bmgjh5Ed471YQ"> 
410  <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/T82Z6tLe5uHK/rss" rel="alternate" title="RSS" type="application/rss+xml"> 
411  <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/T82Z6tLe5uHK/rss" rel="alternate" title="RSS" type="application/rss+xml"> 
412  <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/FzUmd8bupnGJ/rss" rel="alternate" title="RSS" type="application/rss+xml"> 
413  <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/FzUmd8bupnGJ/rss" rel="alternate" title="RSS" type="application/rss+xml"> 
414  <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/3xWMKnLm126Z/rss" rel="alternate" title="RSS" type="application/rss+xml"> 
415  <link data-senna-track="temporary" href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/3xWMKnLm126Z/rss" rel="alternate" title="RSS" type="application/rss+xml"> 
416  <link class="lfr-css-file" data-senna-track="temporary" href="https://oikeuskansleri.fi/o/yja-site-template-theme/css/main.css?browserId=chrome&amp;themeId=yjasitetemplate_WAR_yjasitetemplatetheme&amp;minifierType=css&amp;languageId=fi_FI&amp;t=1790609464000" id="liferayThemeCSS" rel="stylesheet" type="text/css"> 
417  <style data-senna-track="temporary" type="text/css">
418
419		
420
421			
422
423		
424
425			
426
427				
428
429					
430
431#p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC_ .portlet-content {
432
433}
434
435
436
437
438				
439
440			
441
442		
443
444			
445
446		
447
448			
449
450		
451
452			
453
454				
455
456					
457
458#p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_ .portlet-content {
459
460}
461
462
463
464
465				
466
467			
468
469		
470
471			
472
473		
474
475			
476
477		
478
479			
480
481				
482
483					
484
485#p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_ .portlet-content {
486
487}
488
489
490
491
492				
493
494			
495
496		
497
498			
499
500				
501
502					
503
504#p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM_ .portlet-content {
505
506}
507
508
509
510
511				
512
513			
514
515		
516
517			
518
519		
520
521			
522
523		
524
525			
526
527				
528
529					
530
531#p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_ .portlet-content {
532
533}
534
535
536
537
538				
539
540			
541
542		
543
544			
545
546		
547
548	</style> 
549  <style>
550/* Publication Theme Mobile navigation */
551.yja-publication .yja-mobile-navigation { display: none; }
552/* YJAOM-815 */
553.top-frame .has-control-menu.controls-visible .portlet-asset-publisher .portlet-topper{
554    z-index: 3;
555}
556
557/* YJAY-3881  */
558.chrome .input-group .btn:focus, .chrome .input-group .form-control:focus {
559    z-index: inherit;
560}
561
562/* SD-30779 */ 
563*[lang="ar_SA"], *[lang="ar-SA"], *[lang="ar-SA"] *{ direction: rtl !important; }
564
565
566/* YJALR71-2924 */
567.controls-visible.signed-in .portlet-column-content.empty {min-height: 50px;margin-bottom: 10px;border: 1px dashed #d1d1d1;}
568
569/* YJAVNK-1622 */
570.has-control-menu .lfr-add-panel.open-admin-panel.sidenav-menu-slider{
571    width: 500px !important;
572}
573.has-control-menu .lfr-admin-panel.sidenav-menu-slider .product-menu{
574    width: 500px !important;
575} 
576
577</style> 
578  
578<script>
579    /* YJAY-1778 */
580    (function () {
581        window.YjaSearcher = window.YjaSearcher || {};
582        window.YjaSearcher.encodeInput = window.YjaSearcher.encodeInput || function (userInput) {
583            return encodeURIComponent(userInput).trim()
584                .replace(/%2[f|F]/g, '/')
585                .replace(/%5[c|C]/g, '%20')
586                .replace(",", "%2C")
587                .replace("\"", "%22")
588                .replace("!", "%21")
589                .replace("&", "%26")
590                .replace("'", "%27")
591                .replace('(', '%28')
592                .replace(')', '%29');
593        };
594
595        window.YjaSearcher.readInput = window.YjaSearcher.readInput || function (input) {
596            input = input || '';
597            if (('' + input).trim().indexOf('#') < 0) {
598                input = '#' + input;
599            }
600            var keywords = $(input).val();
601            keywords = window.YjaSearcher.encodeInput(keywords);
602            return keywords;
603        };
604
605        window.YjaSearcher.submitSearchForm = window.YjaSearcher.submitSearchForm || function (input) {
606            var keywords = window.YjaSearcher.readInput(input);
607            var formSearchUrl = window.YjaSearcher.formSearchUrl;
608            if (formSearchUrl && keywords) {
609                document.location.href = formSearchUrl + "?q=" + keywords;
610            }
611        };
612    })();
613</script>
613 
614  <style data-senna-track="temporary" type="text/css">
615</style> 
616  <link data-senna-track="permanent" href="https://oikeuskansleri.fi/combo?browserId=chrome&amp;minifierType=css&amp;languageId=fi_FI&amp;t=1790620148232&amp;/o/yja-common-ui-theme-contributor/css/yja-common-ui.css" rel="stylesheet" type="text/css"> 
617  
617<script data-senna-track="permanent" src="https://oikeuskansleri.fi/o/yja-common-ui-theme-contributor/js/yja-common-ui.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790620148232" type="text/javascript"></script>
617 
618  
618<script type="text/javascript">
619// <![CDATA[
620Liferay.on(
621	'ddmFieldBlur', function(event) {
622		if (window.Analytics) {
623			Analytics.send(
624				'fieldBlurred',
625				'Form',
626				{
627					fieldName: event.fieldName,
628					focusDuration: event.focusDuration,
629					formId: event.formId,
630					formPageTitle: event.formPageTitle,
631					page: event.page,
632					title: event.title
633				}
634			);
635		}
636	}
637);
638
639Liferay.on(
640	'ddmFieldFocus', function(event) {
641		if (window.Analytics) {
642			Analytics.send(
643				'fieldFocused',
644				'Form',
645				{
646					fieldName: event.fieldName,
647					formId: event.formId,
648					formPageTitle: event.formPageTitle,
649					page: event.page,
650					title: event.title
651				}
652			);
653		}
654	}
655);
656
657Liferay.on(
658	'ddmFormPageShow', function(event) {
659		if (window.Analytics) {
660			Analytics.send(
661				'pageViewed',
662				'Form',
663				{
664					formId: event.formId,
665					formPageTitle: event.formPageTitle,
666					page: event.page,
667					title: event.title
668				}
669			);
670		}
671	}
672);
673
674Liferay.on(
675	'ddmFormSubmit', function(event) {
676		if (window.Analytics) {
677			Analytics.send(
678				'formSubmitted',
679				'Form',
680				{
681					formId: event.formId
682				}
683			);
684		}
685	}
686);
687
688Liferay.on(
689	'ddmFormView', function(event) {
690		if (window.Analytics) {
691			Analytics.send(
692				'formViewed',
693				'Form',
694				{
695					formId: event.formId,
696					title: event.title
697				}
698			);
699		}
700	}
701);
702// ]]>
703</script>
703 
704  
704<script data-senna-track="temporary" type="text/javascript">
705	if (window.Analytics) {
706		window._com_liferay_document_library_analytics_isViewFileEntry = false;
707	}
708</script>
708 
709  <link rel="stylesheet" href="/o/fi.yja.sitetemplatesettings.web/support/1428954/1738975944720.css"> 
710  <meta name="twitter:card" content="summary"> 
711  <meta name="twitter:title" content="Etusivu | Valtioneuvoston oikeuskansleri"> 
712  <meta name="twitter:image" content="https://oikeuskansleri.fi/documents/1428954/98405604/okv-leijona-card.png/f216eef5-43d2-8008-a9b6-49141e3a4b37?t=1654761017364&amp;imagePreview=1"> 
713  <link rel="stylesheet" href="/o/common-ui-resources/standalone/a11y/css/main.css?browserId=chrome&amp;themeId=yjasitetemplate_WAR_yjasitetemplatetheme&amp;minifierType=css&amp;languageId=fi_FI&amp;t=1790609464000
714"> 
715  <link rel="stylesheet" href="/o/common-ui-resources/standalone/mobile-navigation/css/main.css?browserId=chrome&amp;themeId=yjasitetemplate_WAR_yjasitetemplatetheme&amp;minifierType=css&amp;languageId=fi_FI&amp;t=1790609464000
716"> 
717  <link rel="stylesheet" href="/o/common-ui-resources/standalone/owl/css/owl.carousel.min.css?browserId=chrome&amp;themeId=yjasitetemplate_WAR_yjasitetemplatetheme&amp;minifierType=css&amp;languageId=fi_FI&amp;t=1790609464000
718"> 
719 </head> 
720 <body class="chrome mobile controls-visible  yui3-skin-sam signed-out public-page site homepage extranet-user frontpage fi" itemscope itemtype="http://schema.org/WebPage"> 
721  <a href="#content-main" id="skip-to-maincontent">Hyppää sisältöön</a> 
722  
722<script>var YjaSearcher = YjaSearcher || {};
723YjaSearcher.formSearchUrl = '/haku';</script>
723 
724  <div class="bg-image"></div> 
725  <div class="page-wrapper"> 
726   <header id="banner" role="banner"> 
727    <div id="heading"> 
728     <div class="portlet-boundary portlet-boundary_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_  portlet-static portlet-static-end portlet-barebone yja-site-template-settings-header-portlet " id="p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_"> 
729      <span id="p_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb"></span> 
730      <section class="portlet" id="portlet_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb"> 
731       <a id="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb" name="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb" class="yja-anchor-elements"></a> 
732       <div class="portlet-content"> 
733        <div class="autofit-float autofit-row portlet-header "> 
734         <div class="autofit-col autofit-col-end"> 
735          <div class="autofit-section"> 
736          </div> 
737         </div> 
738        </div> 
739        <div class=" portlet-content-container"> 
740         <div class="portlet-body"> 
741          <div class="header-top-bar"> 
742           <div class="layout-wrapper-wide-container"> 
743            <div class="header-top-bar-links-lang" role="navigation" aria-label="Kielen valinta"> 
744             <div class="portlet-boundary portlet-boundary_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet_  portlet-static portlet-static-end portlet-barebone language-version-selection-
744portlet " id="p_p_id_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet_"> 
745              <span id="p_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet"></span> 
746              <section class="portlet" id="portlet_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet"> 
747               <a id="aineisto-fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet" name="aineisto-fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet" class="yja-anchor-elements"></a> 
748               <div class="portlet-content"> 
749                <div class="autofit-float autofit-row portlet-header "> 
750                 <div class="autofit-col autofit-col-end"> 
751                  <div class="autofit-section"> 
752                  </div> 
753                 </div> 
754                </div> 
755                <div class=" portlet-content-container"> 
756                 <div class="portlet-body"> 
757                  <ul aria-label="Valitse sivustolla käytettävä kieli" class="fi" id="languageSelectionMenu"> 
758                   <li class="fi" lang="fi"> <a href="https://oikeuskansleri.fi/etusivu"><span class="sr-only">Valitse kieli</span> Suomi</a> </li> 
759                   <li class="sv" lang="sv"> <a href="https://oikeuskansleri.fi/sv/startsida"><span class="sr-only">Välj språket</span> Svenska</a> </li> 
760                   <li class="en" lang="en"> <a href="https://oikeuskansleri.fi/en/frontpage"><span class="sr-only">Select language</span> English</a> </li> 
761                  </ul> 
762                  <div class="yja-metacontent" hidden> 
763                  </div> 
764                  <div class="yja-metacontent" hidden> 
765                  </div> 
766                  <div class="yja-metacontent" hidden> 
767                  </div> 
768                 </div> 
769                </div> 
770               </div> 
771              </section> 
772             </div> 
773            </div> 
774            <div class="header-top-bar-links-right"> 
775             <div></div> 
776            </div> 
777           </div> 
778          </div> 
779          <div class="layout-wrapper-wide-container"> 
780           <div class="row header-row"> 
781            <div class="col col-md-7 header-top-left-cell"> 
782             <a class="logo" href="/fi" aria-label="Palaa Valtioneuvoston oikeuskansleri-sivuston etusivulle "> <img src="/documents/1428954/114322775/okv-logo-fi.png/89df66f0-0b72-aa72-8c26-e342f68e2331?t=1648019994177&amp;imagePreview=1" alt="Valtioneuvoston oikeuskansleri"> </a> 
783            </div> 
784            <div class="col col-md-5 header-top-right-cell text-right"> 
785             <div class="header-top-right-area"> 
786              <!-- if showTopBar is true, don't show language selection here but instead in the top bar --> 
787              <form class="search-form" action="/haku?q=" onsubmit="YjaSearcher.submitSearchForm('_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords'); return false;"> 
788               <div class="input-group"> 
789                <label class="sr-only" for="_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords">Hae sivustolta</label> 
790                <input type="search" id="_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords" name="keywords" class="search-query form-control" placeholder="Hae sivustolta"> 
791                <div class="input-group-append"> 
792                 <input onclick="YjaSearcher.submitSearchForm('_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_search-keywords'); return false;" class="btn btn-small btn-default search-form_submit" type="submit" value="Hae"> 
793                </div> 
794               </div> 
795              </form> 
796              <a href="/haku" class="header-advanced-search-link">Hakusivulle</a> 
797             </div> 
798            </div> 
799           </div> 
800          </div> 
801          <style data-senna-track="temporary">
802			:root {
803			
804				--yja-menu-overlay-background: #AA272F;
805			
806			
807				--yja-menu-link-color:#ffffff;
808			
809			
810				--yja-menu-border-color: #ffffff;
811			
812			}
813		</style> 
814         </div> 
815        </div> 
816       </div> 
817      </section> 
818     </div> 
819    </div> 
820    <div class="d-block d-md-none mobile-menu-actions visible-phone" data-menu-position="right"> 
821     <button class="menu-icon mmenu-toggler" id="mmenu-open-panel" aria-expanded="false" aria-haspopup="true"> <span role="presentation" class="icon-reorder" aria-hidden="true"></span> <span>Valikko</span> </button> 
822    </div> 
823    <nav class="sort-pages modify-pages main-nav d-none d-md-block a11y-navigation" data-focus-target="ul" aria-label="Päänavigointi"> 
824     <ul class="a11y-nav site-theme__navigation" id="a11y-nav-root"> 
825      <li class="a11y-nav__item a11y-nav__item selected" id="layout_2"> <a aria-current="page" href="https://oikeuskansleri.fi/etusivu"> <span>Etusivu</span> </a> </li> 
826      <li class="a11y-nav__item a11y-nav__item has-children" id="layout_3"> <a href="https://oikeuskansleri.fi/toiminta"> <span>Toiminta</span> </a> <button id="megamenu-3-toggle" data-layout-id="3" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Toiminta</span> <span role="presentation" class="icon icon-plus "></span> </button> 
827       <div class="a11y-nav__sub d-none" id="megamenu-3-dropdown" data-layout-id="3" aria-hidden="true"> 
828        <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__3" tabindex="-1" aria-label="Toiminta, alisivut"> 
829         <li class="a11y-nav__item " id="layout_29"> <a href="https://oikeuskansleri.fi/oikeuskansleri-ja-apulaisoikeuskansleri">Oikeuskansleri ja apulaisoikeuskansleri</a> </li> 
830         <li class="a11y-nav__item " id="layout_23"> <a href="https://oikeuskansleri.fi/valtioneuvoston-ja-tasavallan-presidentin-valvonta">Valtioneuvoston ja tasavallan presidentin valvonta</a> </li> 
831         <li class="a11y-nav__item " id="layout_24"> <a href="https://oikeuskansleri.fi/viranomaistoiminnan-valvonta">Viranomaistoiminnan valvonta</a> </li> 
832         <li class="a11y-nav__item " id="layout_25"> <a href="https://oikeuskansleri.fi/tuomioistuinten-ja-syyttajie
832n-valvonta">Tuomioistuinten ja syyttäjien valvonta</a> </li> 
833         <li class="a11y-nav__item " id="layout_26"> <a href="https://oikeuskansleri.fi/asianajajien-valvonta">Asianajajien valvonta</a> </li> 
834         <li class="a11y-nav__item " id="layout_38"> <a href="https://oikeuskansleri.fi/vuosikertomukset-ja-tilastot">Vuosikertomukset ja tilastot</a> </li> 
835        </ul> 
836       </div> </li> 
837      <li class="a11y-nav__item a11y-nav__item has-children" id="layout_4"> <a href="https://oikeuskansleri.fi/kantelu"> <span>Kantelu</span> </a> <button id="megamenu-4-toggle" data-layout-id="4" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Kantelu</span> <span role="presentation" class="icon icon-plus "></span> </button> 
838       <div class="a11y-nav__sub d-none" id="megamenu-4-dropdown" data-layout-id="4" aria-hidden="true"> 
839        <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__4" tabindex="-1" aria-label="Kantelu, alisivut"> 
840         <li class="a11y-nav__item " id="layout_62"> <a href="https://oikeuskansleri.fi/haluatko-tehda-kantelun">Haluatko tehdä kantelun?</a> </li> 
841         <li class="a11y-nav__item " id="layout_64"> <a href="https://oikeuskansleri.fi/miten-kanteluasia-etenee">Miten kanteluasia etenee?</a> </li> 
842         <li class="a11y-nav__item " id="layout_57"> <a href="https://oikeuskansleri.fi/usein-kysytyt-kysymykset">Usein kysytyt kysymykset</a> </li> 
843        </ul> 
844       </div> </li> 
845      <li class="a11y-nav__item a11y-nav__item has-children" id="layout_7"> <a href="https://oikeuskansleri.fi/ratkaisut-ja-lausunnot"> <span>Ratkaisut ja lausunnot</span> </a> <button id="megamenu-7-toggle" data-layout-id="7" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Ratkaisut ja lausunnot</span> <span role="presentation" class="icon icon-plus "></span> </button> 
846       <div class="a11y-nav__sub d-none" id="megamenu-7-dropdown" data-layout-id="7" aria-hidden="true"> 
847        <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__7" tabindex="-1" aria-label="Ratkaisut ja lausunnot, alisivut"> 
848         <li class="a11y-nav__item " id="layout_157"> <a href="https://oikeuskansleri.fi/ratkaisut">Ratkaisut</a> </li> 
849         <li class="a11y-nav__item " id="layout_158"> <a href="https://oikeuskansleri.fi/lausunnot">Lausunnot</a> </li> 
850         <li class="a11y-nav__item " id="layout_313"> <a href="https://oikeuskansleri.fi/ratkaisu-ja-lausuntohaku">Ratkaisu- ja lausuntohaku</a> </li> 
851        </ul> 
852       </div> </li> 
853      <li class="a11y-nav__item a11y-nav__item has-children" id="layout_5"> <a href="https://oikeuskansleri.fi/ajankohtaista"> <span>Ajankohtaista</span> </a> <button id="megamenu-5-toggle" data-layout-id="5" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Ajankohtaista</span> <span role="presentation" class="icon icon-plus "></span> </button> 
854       <div class="a11y-nav__sub d-none" id="megamenu-5-dropdown" data-layout-id="5" aria-hidden="true"> 
855        <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__5" tabindex="-1" aria-label="Ajankohtaista, alisivut"> 
856         <li class="a11y-nav__item " id="layout_154"> <a href="https://oikeuskansleri.fi/tiedotteet">Tiedotteet</a> </li> 
857         <li class="a11y-nav__item " id="layout_155"> <a href="https://oikeuskansleri.fi/puheenvuorot">Puheenvuorot</a> </li> 
858        </ul> 
859       </div> </li> 
860      <li class="a11y-nav__item a11y-nav__item has-children" id="layout_6"> <a href="https://oikeuskansleri.fi/tietoa-virastosta"> <span>Tietoa virastosta</span> </a> <button id="megamenu-6-toggle" data-layout-id="6" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Tietoa virastosta</span> <span role="presentation" class="icon icon-plus "></span> </button> 
861       <div class="a11y-nav__sub d-none" id="megamenu-6-dropdown" data-layout-id="6" aria-hidden="true"> 
862        <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__6" tabindex="-1" aria-label="Tietoa virastosta, alisivut"> 
863         <li class="a11y-nav__item " id="layout_31"> <a href="https://oikeuskansleri.fi/organisaatio">Organisaatio</a> </li> 
864         <li class="a11y-nav__item " id="layout_27"> <a href="https://oikeuskansleri.fi/toiminta-ja-talous">
864Toiminta ja talous</a> </li> 
865         <li class="a11y-nav__item " id="layout_32"> <a href="https://oikeuskansleri.fi/toissa-virastossa">Töissä virastossa</a> </li> 
866         <li class="a11y-nav__item " id="layout_48"> <a href="https://oikeuskansleri.fi/yhteystiedot">Yhteystiedot</a> </li> 
867        </ul> 
868       </div> </li> 
869      <li class="a11y-nav__item a11y-nav__item has-children" id="layout_272"> <a href="https://oikeuskansleri.fi/ilmoittajansuojelu"> <span>Ilmoittajansuojelu</span> </a> <button id="megamenu-272-toggle" data-layout-id="272" class="a11y-toggler js-toggle-special-nav" aria-haspopup="true" aria-expanded="false"> <span class="sr-only a11y-nav__toggle_text"> Avaa alavalikko </span> <span class="sr-only">, Ilmoittajansuojelu</span> <span role="presentation" class="icon icon-plus "></span> </button> 
870       <div class="a11y-nav__sub d-none" id="megamenu-272-dropdown" data-layout-id="272" aria-hidden="true"> 
871        <ul class="site-theme__navigation--sub child-menu a11y-navgroup" id="a11y-subnav__272" tabindex="-1" aria-label="Ilmoittajansuojelu, alisivut"> 
872         <li class="a11y-nav__item " id="layout_275"> <a href="https://oikeuskansleri.fi/tietoa-ilmoittajansuojelusta">Ilmoittajansuojelu</a> </li> 
873         <li class="a11y-nav__item " id="layout_281"> <a href="https://oikeuskansleri.fi/keskitetty-ulkoinen-ilmoituskanava">Oikeuskanslerinviraston keskitetty ulkoinen ilmoituskanava</a> </li> 
874         <li class="a11y-nav__item " id="layout_284"> <a href="https://oikeuskansleri.fi/miten-ilmoitus-tehdaan">Miten ilmoitus tehdään?</a> </li> 
875         <li class="a11y-nav__item " id="layout_287"> <a href="https://oikeuskansleri.fi/miten-ilmoituksen-kasittely-etenee">Miten ilmoituksen käsittely etenee?</a> </li> 
876         <li class="a11y-nav__item " id="layout_290"> <a href="https://oikeuskansleri.fi/tietoa-ja-ohjeita-viranomaisille">Tietoa ja ohjeita viranomaisille</a> </li> 
877         <li class="a11y-nav__item " id="layout_323"> <a href="https://oikeuskansleri.fi/vuosiraportointi-euroopan-komissiolle">Ilmoittajansuojeluasioiden vuosiraportointi</a> </li> 
878        </ul> 
879       </div> </li> 
880     </ul> 
881    </nav> 
882   </header> 
883   <section id="content"> 
884    <div class="columns-1" id="main-content" role="main"> 
885     <div class="portlet-layout row"> 
886      <div class="col-md-12 portlet-column portlet-column-only" id="column-1"> 
887       <div class="portlet-dropzone portlet-column-content portlet-column-content-only" id="layout-column_column-1"> 
888        <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_  portlet-static portlet-static-end portlet-barebone portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My_"> 
889         <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My"></span> 
890         <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My"> 
891          <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My" class="yja-anchor-elements"></a> 
892          <div class="portlet-content"> 
893           <div class="autofit-float autofit-row portlet-header "> 
894            <div class="autofit-col autofit-col-end"> 
895             <div class="autofit-section"> 
896              <div class="visible-interaction"> 
897              </div> 
898             </div> 
899            </div> 
900           </div> 
901           <div class=" portlet-content-container"> 
902            <div class="portlet-body"> 
903             <div class="" data-fragments-editor-item-id="10109-98405782" data-fragments-editor-item-type="fragments-editor-mapped-item"> 
904              <div class="journal-content-article " data-analytics-asset-id="98405780" data-analytics-asset-title="Etusivun hero" data-analytics-asset-type="web-content"> 
905               <section class="hero-area" aria-label="Sivun hero"> 
906                <div class="image-wrapper"> 
907                 <picture data-fileentryid="213384857"> 
908                  <source media="(max-width:128px)" srcset="/o/adaptive-media/image/213384857
908/Thumbnail-128x128/Linna2.jpg?t=1717676105873"> 
909                  <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/213384857/Preview-1000x0/Linna2.jpg?t=1717676105873"> 
910                  <img alt="Valtioneuvoston linna" data-fileentryid="213384857" src="/documents/98405783/98405785/Linna2.jpg/7fdbc60f-417e-a3cc-409e-0df6c561072b?t=1717676105873?width=1920"> 
911                 </picture> 
912                </div> 
913                <div class="text-wrapper"> 
914                 <h1 class="title"> Mitä oikeuskansleri tekee? </h1> 
915                 <p class="desc"> </p> 
916                 <p>Valtioneuvoston oikeuskansleri toimii ylimpänä laillisuusvalvojana. Oikeuskansleri valvoo valtioneuvoston ja tasavallan presidentin toiminnan lainmukaisuutta. Lisäksi oikeuskansleri&nbsp;valvoo, että viranomaiset noudattavat lakia ja tekevät velvollisuutensa. Kansalaiset voivat tehdä oikeuskanslerille kantelun viranomaisen toiminnasta, jota epäilevät&nbsp;lainvastaiseksi.</p> 
917                 <p></p> 
918                </div> 
919               </section> 
920              </div> 
921             </div> 
922            </div> 
923           </div> 
924          </div> 
925         </section> 
926        </div> 
927        <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_  portlet-static portlet-static-end portlet-barebone portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB_"> 
928         <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB"></span> 
929         <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB"> 
930          <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB" class="yja-anchor-elements"></a> 
931          <div class="portlet-content"> 
932           <div class="autofit-float autofit-row portlet-header "> 
933            <div class="autofit-col autofit-col-end"> 
934             <div class="autofit-section"> 
935              <div class="visible-interaction"> 
936              </div> 
937             </div> 
938            </div> 
939           </div> 
940           <div class=" portlet-content-container"> 
941            <div class="portlet-body"> 
942             <div class="" data-fragments-editor-item-id="10109-165887905" data-fragments-editor-item-type="fragments-editor-mapped-item"> 
943              <div class="journal-content-article " data-analytics-asset-id="165887903" data-analytics-asset-title="Etusivun nostot - vuosikertomukset ja tilastot" data-analytics-asset-type="web-content"> 
944               <nav class="link-highlights theme-lightred" aria-label="Nostolinkit"> 
945                <ul> 
946                 <li> <a href="/haluatko-tehda-kantelun" aria-label="Haluatko tehdä kantelun?"> 
947                   <div class="image-wrapper"> 
948                    <picture data-fileentryid="106584491"> 
949                     <source media="(max-width:128px)" srcset="/o/adaptive-media/image/106584491/Thumbnail-128x128/haluatko_tehda_kantelun.png?t=1642660605100"> 
950                     <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/106584491/Preview-1000x0/haluatko_tehda_kantelun.png?t=1642660605100"> 
951                     <img alt="" data-fileentryid="106584491" src="/documents/1428954/106583711/haluatko_tehda_kantelun.png/5cbe6756-41cd-a990-b44e-dabbf1776533?t=1642660605100?width=600"> 
952                    </picture> 
953                   </div> 
954                   <div class="text-wrapper"> 
955                    <h2 class="title"> Haluatko tehdä kantelun? </h2> 
956                    <p class="desc"> Oikeuskanslerille voi tehdä kantelun, jos epäilee, että viranomainen, virkamies tai muu julkista tehtävää hoitava on toiminut lainvastaisesti tai jättänyt velvollisuutensa täyttämättä. </p> 
957                   </div> </a> </li> 
958                 <li> <a href="/ilmoittajansuojelu" aria-label="Ilmoittajansuojelu"> 
959                   <div class="image-wrapper"> 
960                    <picture data-fileentryid="143535321"> 
961                     <source media="(max-width:128px)" srcset="/o/adaptive-media/image/143535321/Thumbnail-128x128/ilmoittajansuojelu.png?t=1671093848854"> 
962                     <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/143535321/Preview-1000x0/ilmoittajansuojelu.png?t=1671093848854"> 
963                     <img alt="" data-fileentryid="143535321" src="/documents/1428954/106583711/ilmoittajansuojelu.png/de5727fa-2e4f-5250-b477-0403d9bde5ae?t=1671093848854?width=600"> 
964                    </picture> 
965                   </div> 
966                   <div class="text-wrapper"> 
967                    <h2 class="title"> Ilmoittajansuojelu </h2> 
968                    <p class="desc">
968 Oikeuskanslerin­virasto toimii ilmoittajansuojelun keskitettynä ulkoisena ilmoituskanavana. </p> 
969                   </div> </a> </li> 
970                 <li> <a href="/vuosikertomukset-ja-tilastot" aria-label="Vuosikertomukset ja tilastot"> 
971                   <div class="image-wrapper"> 
972                    <picture data-fileentryid="106584416"> 
973                     <source media="(max-width:128px)" srcset="/o/adaptive-media/image/106584416/Thumbnail-128x128/vuosikertomukset_ja_tilastot.png?t=1642660604529"> 
974                     <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/106584416/Preview-1000x0/vuosikertomukset_ja_tilastot.png?t=1642660604529"> 
975                     <img alt="" data-fileentryid="106584416" src="/documents/1428954/106583711/vuosikertomukset_ja_tilastot.png/776433e1-8290-bf60-0df1-e5b72afdfc08?t=1642660604529?width=600"> 
976                    </picture> 
977                   </div> 
978                   <div class="text-wrapper"> 
979                    <h2 class="title"> Vuosikertomukset ja tilastot </h2> 
980                    <p class="desc"> Oikeuskanslerin kertomus 2025 on julkaistu. </p> 
981                   </div> </a> </li> 
982                </ul> 
983               </nav> 
984              </div> 
985             </div> 
986            </div> 
987           </div> 
988          </div> 
989         </section> 
990        </div> 
991        <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_  portlet-static portlet-static-end portlet-barebone portlet-journal-content content-text-width mt-4 mb-4" id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM_"> 
992         <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM"></span> 
993         <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM"> 
994          <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM" class="yja-anchor-elements"></a> 
995          <div class="portlet-content"> 
996           <div class="autofit-float autofit-row portlet-header "> 
997            <div class="autofit-col autofit-col-end"> 
998             <div class="autofit-section"> 
999              <div class="visible-interaction"> 
1000              </div> 
1001             </div> 
1002            </div> 
1003           </div> 
1004           <div class=" portlet-content-container"> 
1005            <div class="portlet-body"> 
1006             <div class="" data-fragments-editor-item-id="10109-115443931" data-fragments-editor-item-type="fragments-editor-mapped-item"> 
1007              <div class="journal-content-article " data-analytics-asset-id="115443929" data-analytics-asset-title="Kantelun tekeminen oikeuskanslerille (video)" data-analytics-asset-type="web-content"> 
1008               <p> 
1009                <picture data-fileentryid="129152354"> 
1010                 <source media="(max-width:128px)" srcset="/o/adaptive-media/image/129152354/Thumbnail-128x128/Kantelun-tekeminen-oikeuskanslerille-STILL-009.png?t=1659516178261"> 
1011                 <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/129152354/Preview-1000x0/Kantelun-tekeminen-oikeuskanslerille-STILL-009.png?t=1659516178261"> 
1012                 <img alt="" class="" data-fileentryid="129152354" src="/documents/1428954/106234330/Kantelun-tekeminen-oikeuskanslerille-STILL-009.png/df8896de-cd5b-b342-3a91-bee76b0d2462?t=1659516178261"> 
1013                </picture></p> 
1014               <p><a href="https://www.youtube.com/watch?v=Lx0OMnfSC9U" class="yja-external-link">Katso video kantelun tekemisestä oikeuskanslerille YouTubessa.</a> YouTube käyttää evästeitä, jotka latautuvat linkkiä klikkaamalla. <a href="https://policies.google.com/technologies/cookies?hl=fi%C2%A0" class="yja-external-link">Lue lisää YouTuben evästeistä Googlen tietosuojaselosteesta.</a></p> 
1015               <p><a href="/videon-saavutettavuusversiot">Videon saavutettavuusversiot</a></p> 
1016               <div class="yja-meta-content-info"> 
1017               </div> 
1018              </div> 
1019             </div> 
1020            </div> 
1021           </div> 
1022          </div> 
1023         </section> 
1024        </div> 
1025        <div class="portlet-boundary portlet-boundary_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_  portlet-static portlet-static-end portlet-barebone portlet-nested-portlets content-width" id="p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC_"> 
1026         <span id="p_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC"></span> 
1027         <section class="portlet" id="portlet_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC"> 
1028          <a id="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC" name="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC" class="yja-anchor-elements"></a> 
1029          <div class="portlet-content"> 
1030           <div class="autofit-float autofit-row portlet-header "> 
1031            <div class="autofit-col autofit-col-end"> 
1032             <div class="autofit-section"> 
1033             </div> 
1034            </div> 
1035           </div> 
1036           <div class=" portlet-content-container"> 
1037            <div class="portlet-body"> 
1038             <div class="columns-2" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__main-content" role="main"> 
1039              <div class="portlet-layout row"> 
1040               <div class="col-md-6 portlet-column portlet-column-first" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-1"> 
1041                <div class="portlet-dropzone portlet-column-content portlet-column-content-first" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-1"> 
1042                 <div class="portlet-boundary portlet-boundary_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_  portlet-static portlet-static-end portlet-barebone portlet-asset-publisher mt-4 mb-4" id="p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_"> 
1043                  <span id="p_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK"></span> 
1044                  <section class="portlet" id="portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK"> 
1045                   <a id="aineisto-Uusimmatratkaisut" name="aineisto-Uusimmatratkaisut" class="yja-anchor-elements"></a> 
1046                   <div class="portlet-content"> 
1047                    <div class="autofit-float autofit-row portlet-header  use-custom-title "> 
1048                     <div class="autofit-col autofit-col-expand"> 
1049                      <h2 class="hed-section portlet-title portlet-title-text"> Uusimmat ratkaisut </h2> 
1050                     </div> 
1051                     <div class="autofit-col autofit-col-end"> 
1052                      <div class="autofit-section"> 
1053                      </div> 
1054                     </div> 
1055                    </div> 
1056                    <div class=" portlet-content-container"> 
1057                     <div class="portlet-body"> 
1058                      <div class="mb-4 subscribe-action"> 
1059                       <span class=""> <a href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/T82Z6tLe5uHK/rss" target="_blank" class=" lfr-icon-item taglib-icon" id="_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_rjus______com____liferay____nested____portlets____web____portlet____NestedPortletsPortlet____INSTANCE____B1RYR7syXhqC________column__2d__1__0"> <span class="taglib-text ">RSS</span> 
1060                         <svg class="lexicon-icon lexicon-icon-shortcut" focusable="false" role="img"> 
1061                          <use href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#shortcut" /> 
1062                          <span class="sr-only">(avautuu uuteen ikkunaan)</span> 
1063                          <title>(avautuu uuteen ikkunaan)</title> 
1064                         </svg></a> </span> 
1065                      </div> 
1066                      <div class="feed-item simple"> 
1067                       <h3 class="feed-item__heading"><a title="Terveyden ja sosiaalisen hyvinvoinnin edistämiseen myönnettävien valtionavustusten myöntämisen kriteerit" href="/-/terveyden-ja-sosiaalisen-hyvinvoinnin-edistamiseen-myonnettavien-valtionavustusten-myontamisen-kriteerit">Terveyden ja sosiaalisen hyvinvoinnin edistämiseen myönnettävien valtionavustusten myöntämisen kriteerit
1067</a></h3> 
1068                       <div class="meta"> 
1069                        <div class="yja-category-group d-none"> 
1070                        </div> 
1071                        <span class="date">29.9.2026 10.27</span> 
1072                       </div> 
1073                      </div> 
1074                      <div class="feed-item simple"> 
1075                       <h3 class="feed-item__heading"><a title="Nuorisojärjestöille myönnetyt valtionavustukset" href="/-/nuorisojarjestoille-myonnetyt-valtionavustukset">Nuorisojärjestöille myönnetyt valtionavustukset</a></h3> 
1076                       <div class="meta"> 
1077                        <div class="yja-category-group d-none"> 
1078                        </div> 
1079                        <span class="date">24.9.2026 10.50</span> 
1080                       </div> 
1081                      </div> 
1082                      <div class="feed-item simple"> 
1083                       <h3 class="feed-item__heading"><a title="Opetus- ja kulttuuriministeriön menettely valtionavustusten myöntämisessä" href="/-/opetus-ja-kulttuuriministerion-menettely-valtionavustusten-myontamisessa">Opetus- ja kulttuuriministeriön menettely valtionavustusten myöntämisessä</a></h3> 
1084                       <div class="meta"> 
1085                        <div class="yja-category-group d-none"> 
1086                        </div> 
1087                        <span class="date">22.9.2026 11.00</span> 
1088                       </div> 
1089                      </div> 
1090                      <div class="feed-item simple"> 
1091                       <h3 class="feed-item__heading"><a title="Lausuntoajan pituus ydinasekiellon kumoamista koskevasta hallituksen esitysluonnoksesta" href="/-/lausuntoajan-pituus-ydinasekiellon-kumoamista-koskevasta-hallituksen-esitysluonnoksesta">Lausuntoajan pituus ydinasekiellon kumoamista koskevasta hallituksen esitysluonnoksesta</a></h3> 
1092                       <div class="meta"> 
1093                        <div class="yja-category-group d-none"> 
1094                        </div> 
1095                        <span class="date">14.9.2026 9.00</span> 
1096                       </div> 
1097                      </div> 
1098                      <div class="feed-item simple"> 
1099                       <h3 class="feed-item__heading"><a title="Aluesyyttäjälle syyte virkasalaisuuden rikkomisesta" href="/-/aluesyyttajalle-syyte-virkasalaisuuden-rikkomisesta">Aluesyyttäjälle syyte virkasalaisuuden rikkomisesta</a></h3> 
1100                       <div class="meta"> 
1101                        <div class="yja-category-group d-none"> 
1102                        </div> 
1103                        <span class="date">7.9.2026 14.40</span> 
1104                       </div> 
1105                      </div> 
1106                     </div> 
1107                    </div> 
1108                   </div> 
1109                  </section> 
1110                 </div> 
1111                </div> 
1112               </div> 
1113               <div class="col-md-6 portlet-column portlet-column-last" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-2"> 
1114                <div class="portlet-dropzone portlet-column-content portlet-column-content-last" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-2"> 
1115                 <div class="portlet-boundary portlet-boundary_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_  portlet-static portlet-static-end portlet-barebone portlet-asset-publisher mt-4 mb-4" id="p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_"> 
1116                  <span id="p_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ"></span> 
1117                  <section class="portlet" id="portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ"> 
1118                   <a id="aineisto-Uusimmatlausunnot" name="aineisto-Uusimmatlausunnot" class="yja-anchor-elements"></a> 
1119                   <div class="portlet-content"> 
1120                    <div class="autofit-float autofit-row portlet-header  use-custom-title "> 
1121                     <div class="autofit-col autofit-col-expand"> 
1122                      <h2 class="hed-section portlet-title portlet-title-text">
1122 Uusimmat lausunnot </h2> 
1123                     </div> 
1124                     <div class="autofit-col autofit-col-end"> 
1125                      <div class="autofit-section"> 
1126                      </div> 
1127                     </div> 
1128                    </div> 
1129                    <div class=" portlet-content-container"> 
1130                     <div class="portlet-body"> 
1131                      <div class="mb-4 subscribe-action"> 
1132                       <span class=""> <a href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/FzUmd8bupnGJ/rss" target="_blank" class=" lfr-icon-item taglib-icon" id="_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_ctvk______com____liferay____nested____portlets____web____portlet____NestedPortletsPortlet____INSTANCE____B1RYR7syXhqC________column__2d__2__0"> <span class="taglib-text ">RSS</span> 
1133                         <svg class="lexicon-icon lexicon-icon-shortcut" focusable="false" role="img"> 
1134                          <use href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#shortcut" /> 
1135                          <span class="sr-only">(avautuu uuteen ikkunaan)</span> 
1136                          <title>(avautuu uuteen ikkunaan)</title> 
1137                         </svg></a> </span> 
1138                      </div> 
1139                      <div class="feed-item simple"> 
1140                       <h3 class="feed-item__heading"><a title="Ulkomaalaislain muuttaminen (säilöönoton perusteet, pakenemisen vaara ja muutoksenhaku)" href="/-/ulkomaalaislain-muuttaminen-sailoonoton-perusteet-pakenemisen-vaara-ja-muutoksenhaku-">Ulkomaalaislain muuttaminen (säilöönoton perusteet, pakenemisen vaara ja muutoksenhaku)</a></h3> 
1141                       <div class="meta"> 
1142                        <div class="yja-category-group d-none"> 
1143                        </div> 
1144                        <span class="date">1.10.2026 12.30</span> 
1145                       </div> 
1146                      </div> 
1147                      <div class="feed-item simple"> 
1148                       <h3 class="feed-item__heading"><a title="Henkilötietojen käsittely pelastustoimessa" href="/-/henkilotietojen-kasittely-pelastustoimessa">Henkilötietojen käsittely pelastustoimessa</a></h3> 
1149                       <div class="meta"> 
1150                        <div class="yja-category-group d-none"> 
1151                        </div> 
1152                        <span class="date">28.9.2026 10.59</span> 
1153                       </div> 
1154                      </div> 
1155                      <div class="feed-item simple"> 
1156                       <h3 class="feed-item__heading"><a title="Tullin rikostiedustelun täydentävä esitys" href="/-/tullin-rikostiedustelun-taydentava-esitys">Tullin rikostiedustelun täydentävä esitys</a></h3> 
1157                       <div class="meta"> 
1158                        <div class="yja-category-group d-none"> 
1159                        </div> 
1160                        <span class="date">25.9.2026 15.08</span> 
1161                       </div> 
1162                      </div> 
1163                      <div class="feed-item simple"> 
1164                       <h3 class="feed-item__heading"><a title="Laki datakeskusrekisteristä" href="/-/laki-datakeskusrekisterista">Laki datakeskusrekisteristä</a></h3> 
1165                       <div class="meta"> 
1166                        <div class="yja-category-group d-none"> 
1167                        </div> 
1168                        <span class="date">25.9.2026 9.56</span> 
1169                       </div> 
1170                      </div> 
1171                      <div class="feed-item simple"> 
1172                       <h3 class="feed-item__heading"><a title="Rikoslain 2 a luvun 2 §:n muuttaminen (päiväsakon vähimmäisrahamäärän korotus)" href="/-/rikoslain-2-a-luvun-2-n-muuttaminen-paivasakon-vahimmaisrahamaaran-korotus-">Rikoslain 2 a luvun 2 §:n muuttaminen (päiväsakon vähimmäisrahamäärän korotus)</a></h3> 
1173                       <div class="meta"> 
1174                        <div class="yja-category-group d-none"> 
1175                        </div> 
1176                        <span class="date">21.9.2026 15.30</span> 
1177                       </div> 
1178                      </div> 
1179                     </div> 
1180                    </div> 
1181                   </div> 
1182                  </section> 
1183                 </div> 
1184                </div> 
1185               </div> 
1186              </div> 
1187             </div> 
1188            </div> 
1189           </div> 
1190          </div> 
1191         </section> 
1192        </div> 
1193        <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_  portlet-static portlet-static-end portlet-barebone portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK_"> 
1194         <span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK"></span> 
1195         <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK"> 
1196          <a id="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK" name="aineisto-com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK" class="yja-anchor-elements"></a> 
1197          <div class="portlet-content"> 
1198           <div class="autofit-float autofit-row portlet-header "> 
1199            <div class="autofit-col autofit-col-end"> 
1200             <div class="autofit-section"> 
1201              <div class="visible-interaction"> 
1202              </div> 
1203             </div> 
1204            </div> 
1205           </div> 
1206           <div class=" portlet-content-container"> 
1207            <div class="portlet-body"> 
1208             <div class="" data-fragments-editor-item-id="10109-101279118" data-fragments-editor-item-type="fragments-editor-mapped-item"> 
1209              <div class="journal-content-article " data-analytics-asset-id="101279116" data-analytics-asset-title="Etusivun teemanosto" data-analytics-asset-type="web-content"> 
1210               <section class="theme-highlight theme-lightred" aria-label="Teemanosto"> 
1211                <div class="content-wrapper"> 
1212                 <div class="image-wrapper"> 
1213                  <picture data-fileentryid="106584626"> 
1214                   <source media="(max-width:128px)" srcset="/o/adaptive-media/image/106584626/Thumbnail-128x128/tehtavanjakouudistus.png?t=1642660606119"> 
1215                   <source media="(max-width:1000px) and (min-width:128px)" srcset="/o/adaptive-media/image/106584626/Preview-1000x0/tehtavanjakouudistus.png?t=1642660606119"> 
1216                   <img alt="" data-fileentryid="106584626" src="/documents/1428954/106583711/tehtavanjakouudistus.png/356d801b-7802-20c8-0639-9cbcdd85100c?t=1642660606119?width=600"> 
1217                  </picture> 
1218                 </div> 
1219                 <div class="text-wrapper"> 
1220                  <h2 class="title"> Oikeuskansleri ja oikeusasiamies </h2> 
1221                  <div class="content"> 
1222                   <p>Suomessa on kaksi ylintä, riippumatonta laillisuusvalvojaa: valtioneuvoston oikeuskansleri ja eduskunnan oikeusasiamies. Pääosin samanlaisista toimivaltuuksista huolimatta laillisuusvalvojien tehtävissä on eroja.</p> 
1223                  </div> 
1224                  <a href="/oikeuskansleri-ja-oikeusasiamies"> Lue oikeuskanslerin ja oikeusasiamiehen tehtävien eroista </a> 
1225                 </div> 
1226                </div> 
1227               </section> 
1228              </div> 
1229             </div> 
1230            </div> 
1231           </div> 
1232          </div> 
1233         </section> 
1234        </div> 
1235        <div class="portlet-boundary portlet-boundary_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_  portlet-static portlet-static-end portlet-barebone portlet-nested-portlets " id="p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI_"> 
1236         <span id="p_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI"></span> 
1237         <section class="portlet" id="portlet_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI"> 
1238          <a id="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI" name="aineisto-com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI" class="yja-anchor-elements"></a> 
1239          <div class="portlet-content"> 
1240           <div class="autofit-float autofit-row portlet-header "> 
1241            <div class="autofit-col autofit-col-end"> 
1242             <div class="autofit-section"> 
1243             </div> 
1244            </div> 
1245           </div> 
1246           <div class=" portlet-content-container"> 
1247            <div class="portlet-body"> 
1248             <div class="columns-2" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__main-content" role="main"> 
1249              <div class="portlet-layout row"> 
1250               <div class="col-md-6 portlet-column portlet-column-first" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-1"> 
1251                <div class="portlet-dropzone portlet-column-content portlet-column-content-first" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-1"> 
1252                 <div class="portlet-boundary portlet-boundary_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_  portlet-static portlet-static-end portlet-barebone portlet-asset-publisher mt-4" id="p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_"> 
1253                  <span id="p_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z"></span> 
1254                  <section class="portlet" id="portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z"> 
1255                   <a id="aineisto-Uusimmattiedotteetjapuheenvuorot" name="aineisto-Uusimmattiedotteetjapuheenvuorot" class="yja-anchor-elements"></a> 
1256                   <div class="portlet-content"> 
1257                    <div class="autofit-float autofit-row portlet-header  use-custom-title "> 
1258                     <div class="autofit-col autofit-col-expand"> 
1259                      <h2 class="hed-section portlet-title portlet-title-text"> Uusimmat tiedotteet ja puheenvuorot </h2> 
1260                     </div> 
1261                     <div class="autofit-col autofit-col-end"> 
1262                      <div class="autofit-section"> 
1263                      </div> 
1264                     </div> 
1265                    </div> 
1266                    <div class=" portlet-content-container"> 
1267                     <div class="portlet-body"> 
1268                      <div class="mb-4 subscribe-action"> 
1269                       <span class=""> <a href="https://oikeuskansleri.fi/etusivu/-/asset_publisher/3xWMKnLm126Z/rss" target="_blank" class=" lfr-icon-item taglib-icon" id="_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_suxb______com____liferay____nested____portlets____web____portlet____NestedPortletsPortlet____INSTANCE____BcWuXC4kWBxI________column__2d__1__0"> <span class="taglib-text ">RSS</span> 
1270                         <svg class="lexicon-icon lexicon-icon-shortcut" focusable="false" role="img"> 
1271                          <use href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#shortcut" /> 
1272                          <span class="sr-only">(avautuu uuteen ikkunaan)</span> 
1273                          <title>(avautuu uuteen ikkunaan)</title> 
1274                         </svg></a> </span> 
1275                      </div> 
1276                      <div class="feed-item simple"> 
1277                       <h3 class="feed-item__heading"><a title="Oikeuskansleri Janne Salminen: STEA-avustusten ehdoista tuli virheellinen kuva avustusten myöntämisestä" href="/-/oikeuskansleri-janne-salminen-stea-avustusten-ehdoista-tuli-virheellinen-kuva-avustusten-myontamisesta">Oikeuskansleri Janne Salminen: STEA-avustusten ehdoista tuli virheellinen kuva avustusten myöntämisestä</a></h3> 
1278                       <div class="meta"> 
1279                        <div class="yja-category-group d-none"> 
1280                        </div> 
1281                        <span class="date">29.9.2026 10.30</span> 
1282                       </div> 
1283                      </div> 
1284                      <div class="feed-item simple"> 
1285                       <h3 class="feed-item__heading"><a title="Oikeuskansleri Janne Salminen: Päätökset on perusteltava hallintolain mukaisesti" href="/-/oikeuskansleri-janne-salminen-paatokset-on-perusteltava-hallintolain-mukaisesti">Oikeuskansleri Janne Salminen: Päätökset on perusteltava hallintolain mukaisesti</a></h3> 
1286                       <div class="meta"> 
1287                        <div class="yja-category-group d-none"> 
1288                        </div> 
1289                        <span class="date">24.9.2026 10.54</span> 
1290                       </div> 
1291                      </div> 
1292                      <div class="feed-item simple"> 
1293                       <h3 class="feed-item__heading"><a title="Petri Martikainen on aloittanut työnsä apulaisoikeuskanslerina" href="/-/petri-martikainen-on-aloittanut-tyonsa-apulaisoikeuskanslerina">Petri Martikainen on aloittanut työnsä apulaisoikeuskanslerina</a></h3> 
1294                       <div class="meta"> 
1295                        <div class="yja-category-group d-none"> 
1296                        </div> 
1297                        <span class="date">1.7.2026 12.14</span> 
1298                       </div> 
1299                      </div> 
1300                      <div class="feed-item simple"> 
1301                       <h3 class="feed-item__heading"><a title="Tilastot vuodelta 2025 julkaistu" href="/-/tilastot-vuodelta-2025-julkaistu">Tilastot vuodelta 2025 julkaistu</a></h3> 
1302                       <div class="meta"> 
1303                        <div class="yja-category-group d-none"> 
1304                        </div> 
1305                        <span class="date">10.2.2026 8.00</span> 
1306                       </div> 
1307                      </div> 
1308                      <div class="feed-item simple"> 
1309                       <h3 class="feed-item__heading"><a title="Oikeuskansleri Janne Salminen: Oikeusministeri ei toiminut lainvastaisesti mutta hänen haastattelulausuntonsa saattoivat antaa kansalaisaloitteen merkityksestä väärän kuvan" href="/-/oikeuskansleri-janne-salminen-oikeusministeri-ei-toiminut-lainvastaisesti-mutta-hanen-haastattelulausuntonsa-saattoivat-antaa-kansalaisaloitteen-merkityksesta-vaaran-kuvan">Oikeuskansleri Janne Salminen: Oikeusministeri ei toiminut lainvastaisesti mutta hänen haastattelulausuntonsa saattoivat antaa kansalaisaloitteen merkityksestä väärän kuvan</a></h3> 
1310                       <div class="meta"> 
1311                        <div class="yja-category-group d-none"> 
1312                         <span class="yja-tag">OKV</span> 
1313                        </div> 
1314                        <span class="date">28.10.2025 11.50</span> 
1315                       </div> 
1316                      </div> 
1317                     </div> 
1318                    </div> 
1319                   </div> 
1320                  </section> 
1321                 </div> 
1322                </div> 
1323               </div> 
1324               <div class="col-md-6 portlet-column portlet-column-last" id="_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-2"> 
1325                <div class="empty portlet-dropzone portlet-column-content portlet-column-content-last" id="layout-column__com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-2"></div> 
1326               </div> 
1327              </div> 
1328             </div> 
1329            </div> 
1330           </div> 
1331          </div> 
1332         </section> 
1333        </div> 
1334       </div> 
1335      </div> 
1336     </div> 
1337    </div> 
1338    <form action="#" aria-hidden="true" class="hide" id="hrefFm" method="post" name="hrefFm"> 
1339     <span></span> 
1340     <button hidden type="submit">Piilotettu</button> 
1341    </form> 
1342   </section> 
1343  </div> 
1344  <footer id="footer"> 
1345   <div class="portlet-boundary portlet-boundary_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_  portlet-static portlet-static-end portlet-barebone yja-site-template-settings-footer-portlet " id="p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter_"> 
1346    <span id="p_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter"></span> 
1347    <section class="portlet" id="portlet_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter"> 
1348     <a id="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter" name="aineisto-fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter" class="yja-anchor-elements"></a> 
1349     <div class="portlet-content"> 
1350      <div class="autofit-float autofit-row portlet-header "> 
1351       <div class="autofit-col autofit-col-end"> 
1352        <div class="autofit-section"> 
1353        </div> 
1354       </div> 
1355      </div> 
1356      <div class=" portlet-content-container"> 
1357       <div class="portlet-body"> 
1358        <div class="container footer-main-content"> 
1359         <div class="row"> 
1360          <div class="col col-md-4"> 
1361           <div> 
1362            <h2>Oikeuskanslerinvirasto</h2> 
1363            <p><strong>Postiosoite</strong><br> PL 20, 00023 Valtioneuvosto</p> 
1364            <p><strong>Puhelin</strong><br> 0295 162 902 (kirjaamo, arkisin klo 9-15)</p> 
1365            <p><strong>Sähköposti</strong><br> kirjaamo.okv(at)gov.fi</p> 
1366            <div class="yja-meta-content-info"> 
1367            </div> 
1368           </div> 
1369          </div> 
1370          <div class="col col-md-4"> 
1371           <div> 
1372            <ul> 
1373             <li><a href="/henkilotietojen-kasittely">Henkilötietojen käsittely</a></li> 
1374             <li><a href="/asiakirjajulkisuuskuvaus">Asiakirjajulkisuuskuvaus</a></li> 
1375             <li><a href="/evasteet">Evästeet</a></li> 
1376             <li><a href="/saavutettavuusseloste">Saavutettavuusseloste</a></li> 
1377            </ul> 
1378            <p>X: <a href="https://twitter.com/oikeuskansleri" target="_blank" class="yja-external-link">@oikeuskansleri</a></p> 
1379            <p>Linkedin: <a href="https://www.linkedin.com/company/oikeuskanslerinvirasto" rel="noopener noreferrer" target="_blank" class="yja-external-link">oikeuskanslerinvirasto</a></p> 
1380            <div class="yja-meta-content-info"> 
1381            </div> 
1382           </div> 
1383          </div> 
1384          <div class="col col-md-4"> 
1385           <div> 
1386            <div class="yja-meta-content-info"> 
1387            </div> 
1388           </div> 
1389          </div> 
1390         </div> 
1391        </div> 
1392       </div> 
1393      </div> 
1394     </div> 
1395    </section> 
1396   </div> 
1397  </footer> 
1398  <nav class="sort-pages modify-pages yja-mobile-navigation" id="mmenu" aria-label="Päänavigointi mobiil
1398ilaitteille" data-menu-position="right"> 
1399   <div class="yja-mobile-navigation__content"> 
1400    <div class="yja-mobile-navigation__toolbar"> 
1401     <button class="yja-mobile-navigation__button yja-mobile-navigation__button--close" id="yjaMenuButtonClose"> <span class="sr-only">Sulje valikko</span> 
1402      <svg class="lexicon-icon lexicon-icon-times" role="presentation" viewbox="0 0 512 512"> 
1403       <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#times" /> 
1404      </svg> </button> 
1405    </div> 
1406    <div class="yja-mobile-navigation__tree"> 
1407     <ul class="nav mm-listview" id="mainMenubar"> 
1408      <li aria-current="page" class="mm-listitem mm-listitem_selected yja-mobile-navigation--open level-1" id="mobile-layout_2"> 
1409       <div class="nav-item__container"> 
1410        <a href="https://oikeuskansleri.fi/etusivu" class="mm-listitem__text"> <span>Etusivu</span> </a> 
1411       </div> </li> 
1412      <li class="mm-listitem level-1" id="mobile-layout_3"> 
1413       <div class="nav-item__container"> 
1414        <a href="https://oikeuskansleri.fi/toiminta" class="mm-listitem__text has-btn"> <span>Toiminta</span> </a> 
1415        <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Toiminta -osion alavalikko</span> 
1416         <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1417          <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1418         </svg> </button> 
1419       </div> 
1420       <ul class="child-menu mm-listview " id="child_menu_3" aria-label="Toiminta -osion alavalikko"> 
1421        <li class="mm-listitem level-2" id="mobile-layout_29"> 
1422         <div class="nav-item__container"> 
1423          <a href="https://oikeuskansleri.fi/oikeuskansleri-ja-apulaisoikeuskansleri" class="mm-listitem__text has-btn">Oikeuskansleri ja apulaisoikeuskansleri</a> 
1424          <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_29_0"> <span class="sr-only">Oikeuskansleri ja apulaisoikeuskansleri -osion alavalikko</span> 
1425           <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1426            <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1427           </svg> </button> 
1428         </div> 
1429         <ul class="child-menu mm-listview " id="child_menu_29" aria-label="Oikeuskansleri ja apulaisoikeuskansleri -osion alavalikko"> 
1430          <li class="mm-listitem level-3" id="mobile-layout_33"> 
1431           <div class="nav-item__container"> 
1432            <a href="https://oikeuskansleri.fi/oikeuskansleri" class="mm-listitem__text">Oikeuskansleri Janne Salminen</a> 
1433           </div> </li> 
1434          <li class="mm-listitem level-3" id="mobile-layout_34"> 
1435           <div class="nav-item__container"> 
1436            <a href="https://oikeuskansleri.fi/apulaisoikeuskansleri" class="mm-listitem__text">Apulaisoikeuskansleri Petri Martikainen</a> 
1437           </div> </li> 
1438          <li class="mm-listitem level-3" id="mobile-layout_36"> 
1439           <div class="nav-item__container"> 
1440            <a href="https://oikeuskansleri.fi/oikeuskansleri-ja-oikeusasiamies" class="mm-listitem__text">Valtioneuvoston oikeuskansleri ja eduskunnan oikeusasiamies</a> 
1441           </div> </li> 
1442          <li class="mm-listitem level-3" id="mobile-layout_46"> 
1443           <div class="nav-item__container"> 
1444            <a href="https://oikeuskansleri.fi/historia" class="mm-listitem__text">Historia</a> 
1445           </div> </li> 
1446         </ul> </li> 
1447        <li class="mm-listitem level-2" id="mobile-layout_23"> 
1448         <div class="nav-item__container"> 
1449          <a href="https://oikeuskansleri.fi/valtioneuvoston-ja-tasavallan-presidentin-valvonta" class="mm-listitem__text has-btn">Valtioneuvoston ja tasavallan presidentin valvonta</a> 
1450          <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_23_1"> <span class="sr-only">Valtioneuvoston ja tasavallan presidentin valvonta -osion alavalikko</span> 
1451           <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1452            <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1453           </svg> </button> 
1454         </div> 
1455         <ul class="child-menu mm-listview " id="child_menu_23" aria-label="Valtioneuvoston ja tasavallan presidentin valvonta -osion alavalikko"> 
1456          <li class="mm-listitem level-3" id="mobile-layout_40"> 
1457           <div class="nav-item__container"> 
1458            <a href="https://oikeuskansleri.fi/esittelylistojen-tarkastus" class="mm-listitem__text">Esittelylistojen tarkastus</a> 
1459           </div> </li> 
1460          <li class="mm-listitem level-3" id="mobile-layout_41"> 
1461           <div class="nav-item__container"> 
1462            <a href="https://oikeuskansleri.fi/lainvalmistelun-valvonta" class="mm-listitem__text">Lainvalmistelun valvonta</a> 
1463           </div> </li> 
1464          <li class="mm-listitem level-3" id="mobile-layout_42"> 
1465           <div class="nav-item__container"> 
1466            <a href="https://oikeuskansleri.fi/virkanimitysten-valvonta" class="mm-listitem__text">Virkanimitysten valvonta</a> 
1467           </div> </li> 
1468          <li class="mm-listitem level-3" id="mobile-layout_311"> 
1469           <div class="nav-item__container"> 
1470            <a href="https://oikeuskansleri.fi/toimitusministeristo" class="mm-listitem__text">Toimitusministeristö</a> 
1471           </div> </li> 
1472         </ul> </li> 
1473        <li class="mm-listitem level-2" id="mobile-layout_24"> 
1474         <div class="nav-item__container"> 
1475          <a href="https://oikeuskansleri.fi/viranomaistoiminnan-valvonta" class="mm-listitem__text has-btn">Viranomaistoiminnan valvonta</a> 
1476          <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_24_2"> <span class="sr-only">Viranomaistoiminnan valvonta -osion alavalikko</span> 
1477           <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1478            <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1479           </svg> </button> 
1480         </div> 
1481         <ul class="child-menu mm-listview " id="child_menu_24" aria-label="Viranomaistoiminnan valvonta -osion alavalikko"> 
1482          <li class="mm-listitem level-3" id="mobile-layout_243"> 
1483           <div class="nav-item__container"> 
1484            <a href="https://oikeuskansleri.fi/erityistehtavat" class="mm-listitem__text">Erityistehtävät</a> 
1485           </div> </li> 
1486         </ul> </li> 
1487        <li class="mm-listitem level-2" id="mobile-layout_25"> 
1488         <div class="nav-item__container"> 
1489          <a href="https://oikeuskansleri.fi/tuomioistuinten-ja-syyttajie
1489n-valvonta" class="mm-listitem__text has-btn">Tuomioistuinten ja syyttäjien valvonta</a> 
1490          <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_25_3"> <span class="sr-only">Tuomioistuinten ja syyttäjien valvonta -osion alavalikko</span> 
1491           <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1492            <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1493           </svg> </button> 
1494         </div> 
1495         <ul class="child-menu mm-listview " id="child_menu_25" aria-label="Tuomioistuinten ja syyttäjien valvonta -osion alavalikko"> 
1496          <li class="mm-listitem level-3" id="mobile-layout_247"> 
1497           <div class="nav-item__container"> 
1498            <a href="https://oikeuskansleri.fi/tuomareiden-nimittaminen" class="mm-listitem__text">Tuomareiden nimittäminen</a> 
1499           </div> </li> 
1500          <li class="mm-listitem level-3" id="mobile-layout_250"> 
1501           <div class="nav-item__container"> 
1502            <a href="https://oikeuskansleri.fi/oikeusviranomaisten-tekemien-ilmoitusten-kasittely" class="mm-listitem__text">Oikeusviranomaisten tekemien ilmoitusten käsittely</a> 
1503           </div> </li> 
1504          <li class="mm-listitem level-3" id="mobile-layout_39"> 
1505           <div class="nav-item__container"> 
1506            <a href="https://oikeuskansleri.fi/rangaistustuomioiden-tarkastaminen" class="mm-listitem__text">Rangaistustuomioiden tarkastaminen</a> 
1507           </div> </li> 
1508         </ul> </li> 
1509        <li class="mm-listitem level-2" id="mobile-layout_26"> 
1510         <div class="nav-item__container"> 
1511          <a href="https://oikeuskansleri.fi/asianajajien-valvonta" class="mm-listitem__text">Asianajajien valvonta</a> 
1512         </div> </li> 
1513        <li class="mm-listitem level-2" id="mobile-layout_38"> 
1514         <div class="nav-item__container"> 
1515          <a href="https://oikeuskansleri.fi/vuosikertomukset-ja-tilastot" class="mm-listitem__text">Vuosikertomukset ja tilastot</a> 
1516         </div> </li> 
1517       </ul> </li> 
1518      <li class="mm-listitem level-1" id="mobile-layout_4"> 
1519       <div class="nav-item__container"> 
1520        <a href="https://oikeuskansleri.fi/kantelu" class="mm-listitem__text has-btn"> <span>Kantelu</span> </a> 
1521        <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Kantelu -osion alavalikko</span> 
1522         <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1523          <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1524         </svg> </button> 
1525       </div> 
1526       <ul class="child-menu mm-listview " id="child_menu_4" aria-label="Kantelu -osion alavalikko"> 
1527        <li class="mm-listitem level-2" id="mobile-layout_62"> 
1528         <div class="nav-item__container"> 
1529          <a href="https://oikeuskansleri.fi/haluatko-tehda-kantelun" class="mm-listitem__text has-btn">Haluatko tehdä kantelun?</a> 
1530          <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_62_0"> <span class="sr-only">Haluatko tehdä kantelun? -osion alavalikko</span> 
1531           <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1532            <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1533           </svg> </button> 
1534         </div> 
1535         <ul class="child-menu mm-listview " id="child_menu_62" aria-label="Haluatko tehdä kantelun? -osion alavalikko"> 
1536          <li class="mm-listitem level-3" id="mobile-layout_63"> 
1537           <div class="nav-item__container"> 
1538            <a href="https://oikeuskansleri.fi/miten-kantelu-tehdaan" class="mm-listitem__text">Miten kantelu tehdään?</a> 
1539           </div> </li> 
1540          <li class="mm-listitem level-3" id="mobile-layout_232"> 
1541           <div class="nav-item__container"> 
1542            <a href="https://oikeuskansleri.fi/kantelulomake" class="mm-listitem__text">Kantelulomake</a> 
1543           </div> </li> 
1544         </ul> </li> 
1545        <li class="mm-listitem level-2" id="mobile-layout_64"> 
1546         <div class="nav-item__container"> 
1547          <a href="https://oikeuskansleri.fi/miten-kanteluasia-etenee" class="mm-listitem__text">Miten kanteluasia etenee?</a> 
1548         </div> </li> 
1549        <li class="mm-listitem level-2" id="mobile-layout_57"> 
1550         <div class="nav-item__container"> 
1551          <a href="https://oikeuskansleri.fi/usein-kysytyt-kysymykset" class="mm-listitem__text">Usein kysytyt kysymykset</a> 
1552         </div> </li> 
1553       </ul> </li> 
1554      <li class="mm-listitem level-1" id="mobile-layout_7"> 
1555       <div class="nav-item__container"> 
1556        <a href="https://oikeuskansleri.fi/ratkaisut-ja-lausunnot" class="mm-listitem__text has-btn"> <span>Ratkaisut ja lausunnot</span> </a> 
1557        <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Ratkaisut ja lausunnot -osion alavalikko</span> 
1558         <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1559          <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1560         </svg> </button> 
1561       </div> 
1562       <ul class="child-menu mm-listview " id="child_menu_7" aria-label="Ratkaisut ja lausunnot -osion alavalikko"> 
1563        <li class="mm-listitem level-2" id="mobile-layout_157"> 
1564         <div class="nav-item__container"> 
1565          <a href="https://oikeuskansleri.fi/ratkaisut" class="mm-listitem__text">Ratkaisut</a> 
1566         </div> </li> 
1567        <li class="mm-listitem level-2" id="mobile-layout_158"> 
1568         <div class="nav-item__container"> 
1569          <a href="https://oikeuskansleri.fi/lausunnot" class="mm-listitem__text">Lausunnot</a> 
1570         </div> </li> 
1571        <li class="mm-listitem level-2" id="mobile-layout_313"> 
1572         <div class="nav-item__container"> 
1573          <a href="https://oikeuskansleri.fi/ratkaisu-ja-lausuntohaku" class="mm-listitem__text">Ratkaisu- ja lausuntohaku</a> 
1574         </div> </li> 
1575       </ul> </li> 
1576      <li class="mm-listitem level-1" id="mobile-layout_5"> 
1577       <div class="nav-item__container"> 
1578        <a href="https://oikeuskansleri.fi/ajankohtaista" class="mm-listitem__text has-btn"> <span>Ajankohtaista</span> </a> 
1579        <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Ajankohtaista -osion alavalikko</span> 
1580         <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1581          <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1582         </svg> </button> 
1583       </div> 
1584       <ul class="child-menu mm-listview " id="child_menu_5" aria-label="Ajankohtaista -osion alavalikko"> 
1585        <li class="mm-listitem level-2" id="mobile-layout_154"> 
1586         <div class="nav-item__container"> 
1587          <a href="https://oikeuskansleri.fi/tiedotteet" class="mm-listitem__text">Tiedotteet</a> 
1588         </div> </li> 
1589        <li class="mm-listitem level-2" id="mobile-layout_155"> 
1590         <div class="nav-item__container"> 
1591          <a href="https://oikeuskansleri.fi/puheenvuorot" class="mm-listitem__text">Puheenvuorot</a> 
1592         </div> </li> 
1593       </ul> </li> 
1594      <li class="mm-listitem level-1" id="mobile-layout_6"> 
1595       <div class="nav-item__container"> 
1596        <a href="https://oikeuskansleri.fi/tietoa-virastosta" class="mm-listitem__text has-btn"> <span>Tietoa virastosta</span> </a> 
1597        <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Tietoa virastosta -osion alavalikko</span> 
1598         <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1599          <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1600         </svg> </button> 
1601       </div> 
1602       <ul class="child-menu mm-listview " id="child_menu_6" aria-label="Tietoa virastosta -osion alavalikko"> 
1603        <li class="mm-listitem level-2" id="mobile-layout_31"> 
1604         <div class="nav-item__container"> 
1605          <a href="https://oikeuskansleri.fi/organisaatio" class="mm-listitem__text">Organisaatio</a> 
1606         </div> </li> 
1607        <li class="mm-listitem level-2" id="mobile-layout_27"> 
1608         <div class="nav-item__container"> 
1609          <a href="https://oikeuskansleri.fi/toiminta-ja-talous" class="mm-listitem__text has-btn">
1609Toiminta ja talous</a> 
1610          <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_27_1"> <span class="sr-only">Toiminta ja talous -osion alavalikko</span> 
1611           <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1612            <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1613           </svg> </button> 
1614         </div> 
1615         <ul class="child-menu mm-listview " id="child_menu_27" aria-label="Toiminta ja talous -osion alavalikko"> 
1616          <li class="mm-listitem level-3" id="mobile-layout_28"> 
1617           <div class="nav-item__container"> 
1618            <a href="https://oikeuskansleri.fi/ves-ja-tes-asiakirjat" class="mm-listitem__text">Oikeuskanslerinviraston VES- ja TES-asiakirjat</a> 
1619           </div> </li> 
1620          <li class="mm-listitem level-3" id="mobile-layout_44"> 
1621           <div class="nav-item__container"> 
1622            <a href="https://oikeuskansleri.fi/laskutusosoite" class="mm-listitem__text">Laskutusosoite</a> 
1623           </div> </li> 
1624         </ul> </li> 
1625        <li class="mm-listitem level-2" id="mobile-layout_32"> 
1626         <div class="nav-item__container"> 
1627          <a href="https://oikeuskansleri.fi/toissa-virastossa" class="mm-listitem__text">Töissä virastossa</a> 
1628         </div> </li> 
1629        <li class="mm-listitem level-2" id="mobile-layout_48"> 
1630         <div class="nav-item__container"> 
1631          <a href="https://oikeuskansleri.fi/yhteystiedot" class="mm-listitem__text has-btn">Yhteystiedot</a> 
1632          <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false" controls="child_menu_48_3"> <span class="sr-only">Yhteystiedot -osion alavalikko</span> 
1633           <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1634            <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1635           </svg> </button> 
1636         </div> 
1637         <ul class="child-menu mm-listview " id="child_menu_48" aria-label="Yhteystiedot -osion alavalikko"> 
1638          <li class="mm-listitem level-3" id="mobile-layout_59"> 
1639           <div class="nav-item__container"> 
1640            <a href="https://oikeuskansleri.fi/palaute" class="mm-listitem__text">Palaute verkkosivustosta ja saavutettavuudesta</a> 
1641           </div> </li> 
1642         </ul> </li> 
1643       </ul> </li> 
1644      <li class="mm-listitem level-1" id="mobile-layout_272"> 
1645       <div class="nav-item__container"> 
1646        <a href="https://oikeuskansleri.fi/ilmoittajansuojelu" class="mm-listitem__text has-btn"> <span>Ilmoittajansuojelu</span> </a> 
1647        <button class="yja-mobile-navigation__button yja-mobile-navigation__button--toggler" aria-expanded="false"> <span class="sr-only">Ilmoittajansuojelu -osion alavalikko</span> 
1648         <svg class="lexicon-icon lexicon-icon-angle-right" role="presentation" viewbox="0 0 512 512"> 
1649          <use xlink:href="https://oikeuskansleri.fi/o/yja-site-template-theme/images/clay/icons.svg#angle-right" /> 
1650         </svg> </button> 
1651       </div> 
1652       <ul class="child-menu mm-listview " id="child_menu_272" aria-label="Ilmoittajansuojelu -osion alavalikko"> 
1653        <li class="mm-listitem level-2" id="mobile-layout_275"> 
1654         <div class="nav-item__container"> 
1655          <a href="https://oikeuskansleri.fi/tietoa-ilmoittajansuojelusta" class="mm-listitem__text">Ilmoittajansuojelu</a> 
1656         </div> </li> 
1657        <li class="mm-listitem level-2" id="mobile-layout_281"> 
1658         <div class="nav-item__container"> 
1659          <a href="https://oikeuskansleri.fi/keskitetty-ulkoinen-ilmoituskanava" class="mm-listitem__text">Oikeuskanslerinviraston keskitetty ulkoinen ilmoituskanava</a> 
1660         </div> </li> 
1661        <li class="mm-listitem level-2" id="mobile-layout_284"> 
1662         <div class="nav-item__container"> 
1663          <a href="https://oikeuskansleri.fi/miten-ilmoitus-tehdaan" class="mm-listitem__text">Miten ilmoitus tehdään?</a> 
1664         </div> </li> 
1665        <li class="mm-listitem level-2" id="mobile-layout_287"> 
1666         <div class="nav-item__container"> 
1667          <a href="https://oikeuskansleri.fi/miten-ilmoituksen-kasittely-etenee" class="mm-listitem__text">Miten ilmoituksen käsittely etenee?</a> 
1668         </div> </li> 
1669        <li class="mm-listitem level-2" id="mobile-layout_290"> 
1670         <div class="nav-item__container"> 
1671          <a href="https://oikeuskansleri.fi/tietoa-ja-ohjeita-viranomaisille" class="mm-listitem__text">Tietoa ja ohjeita viranomaisille</a> 
1672         </div> </li> 
1673        <li class="mm-listitem level-2" id="mobile-layout_323"> 
1674         <div class="nav-item__container"> 
1675          <a href="https://oikeuskansleri.fi/vuosiraportointi-euroopan-komissiolle" class="mm-listitem__text">Ilmoittajansuojeluasioiden vuosiraportointi</a> 
1676         </div> </li> 
1677       </ul> </li> 
1678     </ul> 
1679    </div> 
1680    <button class="yja-mobile-navigation__button sr-only" id="yjaMenuBottomButton">Sulje valikko</button> 
1681   </div> 
1682  </nav> 
1683  
1683<script src="    https://oikeuskansleri.fi/o/yja-site-template-theme/js/flickity.pkgd.min.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1684"></script>
1684 
1685  
1685<script src="/o/common-ui-resources/standalone/mobile-navigation/js/main.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1686"></script>
1686 
1687  
1687<script src="    https://oikeuskansleri.fi/o/yja-site-template-theme/js/lazysizes.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1688"></script>
1688 
1689  
1689<script src="    https://oikeuskansleri.fi/o/yja-site-template-theme/js/jquery.matchHeight-min.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1690"></script>
1690 
1691  
1691<script src="    https://oikeuskansleri.fi/o/yja-site-template-theme/js/js.cookie.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1692"></script>
1692 
1693  
1693<script src="    https://oikeuskansleri.fi/o/yja-site-template-theme/js/a11y-dialog.min.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1694"></script>
1694 
1695  
1695<script src="    https://oikeuskansleri.fi/o/yja-site-template-theme/js/app.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1696"></script>
1696 
1697  
1697<script src="/o/common-ui-resources/standalone/owl/js/owl.carousel.min.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1698"></script>
1698 
1699  
1699<script src="/o/common-ui-resources/standalone/a11y/js/a11y-navigation.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000
1700"></script>
1700 
1701  
1701<script>
1702	const mobileNavConfig = {
1703		elementsToHide: '.page-wrapper'
1704	}
1705	yjaMobileNavigation(mobileNavConfig);
1706
1707	/* Check if there exists #content-main element, if not add one */
1708	var contentMain = document.getElementById("content-main");
1709
1710	if (contentMain === null) {
1711		var span = document.createElement('span');
1712		var mainContent = document.getElementById('main-content');
1713
1714		if (mainContent !== null) {
1715			span.id = 'content-main';
1716			mainContent.insertBefore(span, mainContent.firstChild)
1717		}
1718	}
1719</script>
1719 
1720  
1720<script src="https://oikeuskansleri.fi/o/fi.yja.sitetemplatesettings.web/js/header.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609462000" type="text/javascript"></script>
1720 
1721  
1721<script src="https://oikeuskansleri.fi/o/fi.yja.sitetemplatesettings.web/js/footer.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609462000" type="text/javascript"></script>
1721 
1722  
1722<script src="https://oikeuskansleri.fi/o/common-ui-resources/standalone/jquery/js/chosen.jquery.min.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790534946000" type="text/javascript"></script>
1722 
1723  
1723<script src="https://oikeuskansleri.fi/o/fi.yja.language.version.tool.web/js/main.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790534946000" type="text/javascript"></script>
1723 
1724  
1724<script type="text/javascript">
1725// <![CDATA[
1726
1727	
1728		
1729
1730			
1731
1732			
1733		
1734	
1735
1736// ]]>
1737</script>
1737 
1738  
1738<script type="text/javascript">
1739	// <![CDATA[
1740
1741		
1742
1743		Liferay.currentURL = '\x2fetusivu';
1744		Liferay.currentURLEncoded = '\x252Fetusivu';
1745
1746	// ]]>
1747</script>
1747 
1748  
1748<script type="text/javascript">
1749		// <![CDATA[
1750			
1751				// STARTSWITH ADDITION
1752if (!String.prototype.startsWith) {
1753  String.prototype.startsWith = function (searchString, position) {
1754    position = position || 0
1755    return this.substr(position, searchString.length) === searchString
1756  }
1757}
1758
1759// GLOBAL VARIABLES
1760var searchIsOpen = false
1761var naviObjectStorage = {} // object to hold all navigation items
1762var rootLevelBranches = [] // root level navigation items
1763var siteCurrentLang = $("html").attr("lang")
1764
1765var siteLangVars = {
1766  "fi-FI": {
1767    selectLanguage: "Valitse kieli",
1768    openMenu: "Avaa alavalikko",
1769    closeMenu: "Sulje alavalikko",
1770    search: "Haku",
1771    searchUrl: "/haku",
1772    frontPage: "Etusivu",
1773    frontPageUrl: "/etusivu",
1774  },
1775  "sv-SE": {
1776    selectLanguage: "Välj språk",
1777    openMenu: "Öppna undermenyn",
1778    closeMenu: "Stäng undermenyn",
1779    search: "Sök",
1780    searchUrl: "/sv/sok",
1781    frontPage: "Framsida",
1782    frontPageUrl: "/sv/framsida",
1783  },
1784  "en-US": {
1785    selectLanguage: "Select language",
1786    openMenu: "Open submenu",
1787    closeMenu: "Close submenu",
1788    search: "Search",
1789    searchUrl: "/en/search",
1790    frontPage: "Front page",
1791    frontPageUrl: "/en/front-page",
1792  },
1793}
1794
1795if (
1796  siteCurrentLang != "fi-FI" &&
1797  siteCurrentLang != "sv-SE" &&
1798  siteCurrentLang != "en-US"
1799) {
1800  siteCurrentLang = "en-US"
1801}
1802
1803/*
1804// NAVIGATION
1805*/
1806
1807// INIT
1808function initNaviAppend() {
1809  // off canvas mobile menu
1810  var offcanvasmenu = $("nav#menu #mm-1 ul li")
1811
1812  // get the main branches from mobile navi
1813  // here we get the IDs of the visible branches
1814  offcanvasmenu.each(function () {
1815    if (this.childElementCount > 1) {
1816      var thisBranch = $(this).find(".mm-btn").attr("aria-owns")
1817      rootLevelBranches.push(thisBranch)
1818    } else {
1819      rootLevelBranches.push("")
1820    }
1821  })
1822
1823  // populate the data object
1824  rootLevelBranches.forEach(function (current) {
1825    if (current != "") {
1826      collectBranchData(current, 1) // number tells amount of added navigation levels
1827    }
1828  })
1829
1830  // render the collected data
1831  addNavigation()
1832
1833  // bind button functionality
1834  navigationEvents()
1835}
1836
1837// POPULATE A BRANCH TO OBJECT
1838function collectBranchData(ID, TTL) {
1839  var timeToLive
1840  if (TTL > 0) {
1841    timeToLive = TTL - 1
1842  } else {
1843    timeToLive = TTL
1844  }
1845
1846  var branch = $("nav#menu #" + ID + " ul li")
1847  if (branch.length > 0) {
1848    var itemObjects = []
1849
1850    // go through each branch
1851    branch.each(function () {
1852      var branchItemLink
1853      var branchItemText
1854      var branchItemHasChildren
1855      var branchItemChildrenBranch
1856      var branchItemIsSelected =
1857        $(this).hasClass("mm-listitem_selected") ||
1858        ($(this).hasClass("parent") && $(this).hasClass("mm-listitem"))
1859
1860      if (this.childElementCount > 0) {
1861        var branchItem = $(this).find(".mm-listitem__text")
1862
1863        // get link and text
1864        branchItemLink = branchItem.attr("href")
1865        branchItemText = branchItem.text()
1866
1867        // if there's children and the permission to dive deeper
1868        if (this.childElementCount > 1 && timeToLive > 0) {
1869          branchItemHasChildren = true
1870          branchItemChildrenBranch = $(this).find(".mm-btn").attr("aria-owns")
1871
1872          // NOTE: recursive function here for multiple levels
1873          collectBranchData(branchItemChildrenBranch, timeToLive)
1874        } else {
1875          branchItemHasChildren = false
1876          branchItemChildrenBranch = ""
1877        }
1878      }
1879
1880      // if other data needs to be pulled, do it here
1881      var branchItemObject = {
1882        text: branchItemText,
1883        url: branchItemLink,
1884        hasChildren: branchItemHasChildren,
1885        childBranch: branchItemChildrenBranch,
1886        isSelected: branchItemIsSelected,
1887      }
1888
1889      itemObjects.push(branchItemObject)
1890    })
1891
1892    var newBranch = {
1893      items: itemObjects,
1894    }
1895
1896    naviObjectStorage[ID] = newBranch
1897  }
1898}
1899
1900// ADD BRANCHES TO NAVIGATION
1901function addNavigation() {
1902  // site template main navigation
1903  var mainNavigation = $("#banner > nav.main-nav ul li")
1904
1905  // roll through main navigation
1906  mainNavigation.each(function (index) {
1907    $(this).children("a").removeAttr("aria-labelledby") // remove aria-labelledby
1908
1909    if (rootLevelBranches[index] != "") {
1910      if (naviObjectStorage[rootLevelBranches[index]].items.length > 0) {
1911        var branchHtml = ""
1912        branchHtml +=
1913          '<button type="button" class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false"><span class="sr-only">' +
1914          siteLangVars[siteCurrentLang].openMenu +
1915          "</span></button>"
1916        branchHtml += renderNaviBranch(
1917          rootLevelBranches[index],
1918          $(this).attr("id")
1919        )
1920        $(this).addClass("hasChildren")
1921        $(this).append(branchHtml)
1922      }
1923    }
1924  })
1925}
1926
1927// CREATE A BRANCH FROM STORAGE
1928function renderNaviBranch(ID, parentId) {
1929  var html = ""
1930  var idIndex = 1
1931  var ariaLabelledBy =
1932    parentId !== "" ? 'aria-labelledby="' + parentId + '"' : ""
1933  if (naviObjectStorage[ID].items.length > 0) {
1934    html = '<ul class="a11y-nav" ' + ariaLabelledBy + ">"
1935    naviObjectStorage[ID].items.forEach(function (current) {
1936      if (current.hasChildren == true && current.childBranch != "") {
1937        html += '<li class="a11y-nav__item">'
1938        if (current.isSelected == true) {
1939          html +=
1940            '<a id="menuitem-' +
1941            ID +
1942            "-" +
1943            idIndex +
1944            '" href="' +
1945            current.url +
1946            '" class="selected hasChildren" aria-current="page"><span>' +
1947            current.text +
1948            '</span></a><button type="button" class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false"><span class="sr-only">' +
1949            siteLangVars[siteCurrentLang].openMenu +
1950            "</span></button>"
1951          jQuery('#banner > nav.main-nav a[aria-current="page"]').removeAttr(
1952            "aria-current"
1953          )
1954        } else {
1955          html +=
1956            '<a id="menuitem-' +
1957            ID +
1958            "-" +
1959            idIndex +
1960            '" href="' +
1961            current.url +
1962            '" class="hasChildren"><span>' +
1963            current.text +
1964            '</span></a><button type="button" class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false"><span class="sr-only">' +
1965            siteLangVars[siteCurrentLang].openMenu +
1966            "</span></button>"
1967        }
1968        html += renderNaviBranch(current.childBranch, "")
1969        html += "</li>"
1970      } else {
1971        html += '<li class="a11y-nav__item">'
1972        if (current.isSelected == true) {
1973          html +=
1974            '<a id="menuitem-' +
1975            ID +
1976            "-" +
1977            idIndex +
1978            '" href="' +
1979            current.url +
1980            '" class="selected" aria-current="page"><span>' +
1981            current.text +
1982            "</span></a>"
1983          jQuery('#banner > nav.main-nav a[aria-current="page"]').removeAttr(
1984            "aria-current"
1985          )
1986        } else {
1987          html +=
1988            '<a id="menuitem-' +
1989            ID +
1990            "-" +
1991            idIndex +
1992            '" href="' +
1993            current.url +
1994            '"><span>' +
1995            current.text +
1996            "</span></a>"
1997        }
1998        html += "</li>"
1999      }
2000      idIndex++
2001    })
2002    html += "</ul>"
2003  }
2004  return html
2005}
2006
2007// BINDING NAVIGATION DROPDOWN FUNCTIONALITY
2008function navigationEvents() {
2009  // click event for toggleVisibility buttons
2010  jQuery("#banner > nav button.toggleVisibility").unbind()
2011  jQuery("#banner > nav button.toggleVisibility").click(function () {
2012    var elem = jQuery(this) // -> button.toggleVisibility
2013
2014    // assign the variables
2015    var compareRole = elem.parent().parent().parent().attr("role")
2016    var targetElement = elem.parent().siblings()
2017
2018    if (compareRole === undefined) {
2019      var buttonInitialClass = "icon-chevron-down"
2020      var buttonTargetClass = "icon-chevron-up"
2021    } else {
2022      var buttonInitialClass = "icon-chevron-down"
2023      var buttonTargetClass = "icon-chevron-up"
2024    }
2025
2026    jQuery(targetElement).each(function () {
2027      if (
2028        jQuery(this).children("button").length > 0 &&
2029        jQuery(this).children("button").attr("aria-expanded") === "true"
2030      ) {
2031        // this would be the place for extra poking if buttons on deeper levels were different
2032        jQuery(this).removeClass("open")
2033        var targetButton = jQuery(this).children("button")
2034        targetButton.removeClass(buttonTargetClass)
2035        targetButton.addClass(buttonInitialClass)
2036        targetButton.attr("aria-expanded", "false")
2037        targetButton
2038          .children("span.sr-only")
2039          .text(siteLangVars[siteCurrentLang].openMenu)
2040        jQuery(this).children("ul").removeClass("open")
2041      }
2042    })
2043
2044    // apply the correct class
2045    jQuery(elem.next("ul")).addClass("open")
2046
2047    // apply correct data to buttons
2048    if (compareRole === undefined) {
2049      // first level items
2050      if (elem.hasClass("icon-chevron-down")) {
2051        // open
2052        elem.removeClass("icon-chevron-down")
2053        elem.parent().addClass("open")
2054        elem.addClass("icon-chevron-up").attr("aria-expanded", "true")
2055        elem
2056          .children("span.sr-only")
2057          .text(siteLangVars[siteCurrentLang].closeMenu)
2058      } else {
2059        // close
2060        elem.removeClass("icon-chevron-up")
2061        elem.parent().removeClass("open")
2062        elem.next("ul").removeClass("open")
2063        elem.addClass("icon-chevron-down").attr("aria-expanded", "false")
2064        elem
2065          .children("span.sr-only")
2066          .text(siteLangVars[siteCurrentLang].openMenu)
2067      }
2068    } else {
2069      // other levels
2070      if (elem.hasClass("icon-chevron-down")) {
2071        // open
2072        elem.parent().parent().addClass("open")
2073        elem.parent().addClass("open")
2074        elem.removeClass("icon-chevron-down")
2075        elem.addClass("icon-chevron-up").attr("aria-expanded", "true")
2076        elem
2077          .children("span.sr-only")
2078          .text(siteLangVars[siteCurrentLang].closeMenu)
2079      } else {
2080        // close
2081        elem.parent().parent().removeClass("open")
2082        elem.parent().removeClass("open")
2083        elem.next("ul").removeClass("open")
2084        elem.removeClass("icon-chevron-up")
2085        elem.addClass("icon-chevron-down").attr("aria-expanded", "false")
2086        elem
2087          .children("span.sr-only")
2088          .text(siteLangVars[siteCurrentLang].openMenu)
2089      }
2090    }
2091  })
2092
2093  // click anywhere and open menus close
2094  jQuery("body").on("mouseup", function (e) {
2095    if (jQuery("#banner > nav.main-nav > ul > li").find(e.target).length == 0) {
2096      jQuery("#banner > nav.main-nav > ul > li").each(function () {
2097        if (jQuery(this).hasClass("open") == true) {
2098          jQuery(this).children("button.toggleVisibility").click()
2099        }
2100      })
2101    }
2102  })
2103
2104  // esc in main navi closes open menus
2105  jQuery("#banner > nav.main-nav > ul").keyup(function (event) {
2106    var keycode = event.keyCode ? event.keyCode : event.which
2107    if (keycode == 27) {
2108      // 27 = escape button
2109      jQuery("#banner > nav.main-nav > ul > li").each(function () {
2110        if (jQuery(this).hasClass("open") == true) {
2111          jQuery(this).children("button.toggleVisibility").click()
2112        }
2113      })
2114    }
2115  })
2116
2117  // hover on menu and it opens
2118  /* jQuery('#banner > nav.main-nav > ul > li').on('mouseenter', function() {
2119        if(jQuery(this).children().length > 1) {
2120            if(searchIsOpen == false && jQuery(this).hasClass('hasChildren') == true && jQuery(this).hasClass('open') == false) {
2121                jQuery(this).children('button.toggleVisibility').click();
2122            }
2123        }
2124    }); */
2125}
2126
2127/*
2128// PROCESS THE HEADER
2129*/
2130
2131// PROCESS TOP BAR
2132// Switch order of elements (accessibility)
2133var langList = jQuery(
2134  "#heading .header-top-bar .layout-wrapper-wide-container > div:eq(0)"
2135)
2136if (langList.length > 0) {
2137  langList.parent().append(langList.get(0).outerHTML)
2138  langList.remove()
2139}
2140
2141// Other languages array
2142var otherLanguages = [
2143  {
2144    language: "Davvisámegiella",
2145    code: "se-FI",
2146    url: "/se/davvisamegiella",
2147    special: false,
2148  },
2149  {
2150    language: "Anarâškielâ",
2151    code: "se-FI",
2152    url: "/se/anaraskiela",
2153    special: false,
2154  },
2155  {
2156    language: "Nuõrttsääʹmǩiõll",
2157    code: "se-FI",
2158    url: "/se/nuorttsaamkioll",
2159    special: false,
2160  },
2161]
2162
2163// Assemble the other languages menu
2164function languagesAssemble() {
2165  var langHtml = ""
2166  otherLanguages.forEach(function (current) {
2167    if (current.special == true) {
2168      langHtml +=
2169        '<li class="revert-font" lang="' +
2170        current.code +
2171        '"><a href="' +
2172        current.url +
2173        '">' +
2174        current.language +
2175        "</a></li>"
2176    } else {
2177      langHtml +=
2178        '<li lang="' +
2179        current.code +
2180        '"><a href="' +
2181        current.url +
2182        '">' +
2183        current.language +
2184        "</a></li>"
2185    }
2186  })
2187  return langHtml
2188}
2189
2190// Make the new other languages dropdown
2191var newLangList = jQuery(
2192  "#heading .header-top-bar .layout-wrapper-wide-container > .header-top-bar-links-lang .portlet-body > ul"
2193)
2194if (newLangList.length > 0) {
2195  var newLangListHTML =
2196    '<li id="top-bar-other-lang" class="mr-1"><button class="toggleVisibility icon-chevron-down" aria-haspopup="true" aria-expanded="false" lang="se-FI">Saame<span class="sr-only" lang="' +
2197    siteCurrentLang +
2198    '">' +
2199    siteLangVars[siteCurrentLang].openMenu +
2200    "</span></button><ul>" +
2201    languagesAssemble() +
2202    '</ul></li><li><a href="/viittomakieli">Viittomakieli</a></li><li><a href="/sv/teckensprak">Teckenspråk</a></li>'
2203  newLangList.append(newLangListHTML)
2204
2205  // Add button and link events
2206  var otherLangButton = jQuery("#top-bar-other-lang > button")
2207  otherLangButton
2208    .on("mouseup", function () {
2209      otherLangToggle($(this))
2210    })
2211    .on("keyup", function (event) {
2212      var keycode = event.keyCode ? event.keyCode : event.which
2213      // enter pressed or esc pressed and language menu open
2214      if (
2215        keycode == 13 ||
2216        (keycode == 27 && $(this).attr("aria-expanded") == "true")
2217      ) {
2218        otherLangToggle($(this))
2219      }
2220    })
2221}
2222
2223function otherLangToggle(ELEMENT) {
2224  if (ELEMENT.attr("aria-expanded") == "false") {
2225    ELEMENT.parent().addClass("open")
2226    ELEMENT.attr("aria-expanded", true)
2227    ELEMENT.removeClass("icon-chevron-down")
2228    ELEMENT.addClass("icon-chevron-up")
2229    ELEMENT.children("span.sr-only").text(
2230      siteLangVars[siteCurrentLang].closeMenu
2231    )
2232  } else {
2233    ELEMENT.parent().removeClass("open")
2234    ELEMENT.attr("aria-expanded", false)
2235    ELEMENT.removeClass("icon-chevron-up")
2236    ELEMENT.addClass("icon-chevron-down")
2237    ELEMENT.children("span.sr-only").text(
2238      siteLangVars[siteCurrentLang].openMenu
2239    )
2240  }
2241}
2242
2243/*
2244// MISC FUNCTIONS
2245*/
2246
2247// EXTERNAL LINK FUNCTION
2248function addExternalLink(e) {
2249  if (!e.hasAttribute("target") || e.getAttribute("target") === "") {
2250    e.setAttribute("target", "_blank")
2251  }
2252  var newTabSpan = document.createElement("SPAN")
2253  var spanText = document.createTextNode(
2254    Liferay.Language.get("yja-external-link-opens-in-a-new-tab")
2255  )
2256  newTabSpan.appendChild(spanText)
2257  newTabSpan.classList.add("sr-only")
2258  e.appendChild(newTabSpan)
2259  e.classList.add("external-link")
2260}
2261
2262// DOCUMENT LINK FUNCTION
2263function addDocumentLink(e) {
2264  if (!e.hasAttribute("target") || e.getAttribute("target") === "") {
2265    e.setAttribute("target", "_blank")
2266  }
2267  var newTabSpan = document.createElement("SPAN")
2268  var spanText = document.createTextNode(
2269    Liferay.Language.get("yja-document-link-opens-in-a-new-tab")
2270  )
2271  newTabSpan.appendChild(spanText)
2272  newTabSpan.classList.add("sr-only")
2273  e.appendChild(newTabSpan)
2274  e.classList.add("external-link")
2275}
2276
2277// EXTERNAL LINK ADDER
2278document.addEventListener("DOMContentLoaded", function () {
2279  var d = document
2280  var b = location.origin
2281  // Add class to external links
2282  var queriedSelectors = [".journal-content-article", ".yja-document-display"]
2283  Array.prototype.slice.call(queriedSelectors).forEach(function (current) {
2284    var c = d.querySelectorAll(current)
2285    for (var i = 0; i < c.length; i++) {
2286      var a = c[i].querySelectorAll("a")
2287      for (var j = 0; j < a.length; j++) {
2288        var u = a[j].href
2289        if (
2290          u !== "" &&
2291          !u.startsWith(b) &&
2292          !u.startsWith("/") &&
2293          !u.startsWith("#")
2294        ) {
2295          addExternalLink(a[j])
2296        }
2297        if (u !== "" && u.startsWith(b) && u.indexOf("/documents/") > -1) {
2298          addDocumentLink(a[j])
2299        }
2300      }
2301    }
2302  })
2303})
2304
2305				
2306
2307				
2308			
2309		// ]]>
2310	</script>
2310 
2311  
2311<script type="text/javascript">
2312// <![CDATA[
2313(function() {var $ = AUI.$;var _ = AUI._;
2314	var onVote = function (event) {
2315		if (window.Analytics) {
2316			Analytics.send('VOTE', 'Ratings', {
2317				className: event.className,
2318				classPK: event.classPK,
2319				ratingType: event.ratingType,
2320				score: event.score,
2321			});
2322		}
2323	};
2324
2325	var onDestroyPortlet = function () {
2326		Liferay.detach('ratings:vote', onVote);
2327		Liferay.detach('destroyPortlet', onDestroyPortlet);
2328	};
2329
2330	Liferay.on('ratings:vote', onVote);
2331	Liferay.on('destroyPortlet', onDestroyPortlet);
2332})();(function() {var $ = AUI.$;var _ = AUI._;
2333	var onDestroyPortlet = function () {
2334		Liferay.detach('messagePosted', onMessagePosted);
2335		Liferay.detach('destroyPortlet', onDestroyPortlet);
2336	};
2337
2338	Liferay.on('destroyPortlet', onDestroyPortlet);
2339
2340	var onMessagePosted = function (event) {
2341		if (window.Analytics) {
2342			Analytics.send('posted', 'Comment', {
2343				className: event.className,
2344				classPK: event.classPK,
2345				commentId: event.commentId,
2346				text: event.text,
2347			});
2348		}
2349	};
2350
2351	Liferay.on('messagePosted', onMessagePosted);
2352})();
2353	var pathnameRegexp = /\/documents\/(\d+)\/(\d+)\/(.+?)\/([^&]+)/;
2354
2355	function sendAnalyticsEvent(anchor) {
2356		var fileEntryId =
2357			anchor.dataset.analyticsFileEntryId ||
2358			(anchor.parentElement &&
2359				anchor.parentElement.dataset.analyticsFileEntryId);
2360
2361		var title =
2362			anchor.dataset.analyticsFileEntryTitle ||
2363			(anchor.parentElement &&
2364				anchor.parentElement.dataset.analyticsFileEntryTitle);
2365
2366		var getParameterValue = (parameterName) => {
2367			var result = null;
2368
2369			anchor.search
2370				.substr(1)
2371				.split('&')
2372				.forEach((item) => {
2373					var tmp = item.split('=');
2374
2375					if (tmp[0] === parameterName) {
2376						result = decodeURIComponent(tmp[1]);
2377					}
2378				});
2379
2380			return result;
2381		};
2382
2383		var match = pathnameRegexp.exec(anchor.pathname);
2384
2385		if (fileEntryId && match) {
2386			Analytics.send('documentDownloaded', 'Document', {
2387				groupId: match[1],
2388				fileEntryId,
2389				preview: !!window._com_liferay_document_library_analytics_isViewFileEntry,
2390				title: title || decodeURIComponent(match[3].replace(/\+/gi, ' ')),
2391				version: getParameterValue('version'),
2392			});
2393		}
2394	}
2395
2396	function handleDownloadClick(event) {
2397		if (window.Analytics) {
2398			if (event.target.nodeName.toLowerCase() === 'a') {
2399				sendAnalyticsEvent(event.target);
2400			}
2401			else if (
2402				event.target.parentNode &&
2403				event.target.parentNode.nodeName.toLowerCase() === 'a'
2404			) {
2405				sendAnalyticsEvent(event.target.parentNode);
2406			}
2407			else if (
2408				event.target.querySelector('.lexicon-icon-download') ||
2409				event.target.classList.contains('lexicon-icon-download') ||
2410				(event.target.parentNode &&
2411					(event.target.parentNode.classList.contains(
2412						'lexicon-icon-download'
2413					) ||
2414						event.target.parentNode.dataset.action === 'download'))
2415			) {
2416				var selectedFiles = document.querySelectorAll(
2417					'.portlet-document-library .entry-selector:checked'
2418				);
2419
2420				selectedFiles.forEach(({value}) => {
2421					var selectedFile = document.querySelector(
2422						'[data-analytics-file-entry-id="' + value + '"]'
2423					);
2424
2425					sendAnalyticsEvent(selectedFile);
2426				});
2427			}
2428		}
2429	}
2430
2431	Liferay.once('destroyPortlet', () => {
2432		document.body.removeEventListener('click', handleDownloadClick);
2433	});
2434
2435	Liferay.once('portletReady', () => {
2436		document.body.addEventListener('click', handleDownloadClick);
2437	});
2438(function() {var $ = AUI.$;var _ = AUI._;
2439	var onShare = function (data) {
2440		if (window.Analytics) {
2441			Analytics.send('shared', 'SocialBookmarks', {
2442				className: data.className,
2443				classPK: data.classPK,
2444				type: data.type,
2445				url: data.url,
2446			});
2447		}
2448	};
2449
2450	var onDestroyPortlet = function () {
2451		Liferay.detach('socialBookmarks:share', onShare);
2452		Liferay.detach('destroyPortlet', onDestroyPortlet);
2453	};
2454
2455	Liferay.on('socialBookmarks:share', onShare);
2456	Liferay.on('destroyPortlet', onDestroyPortlet);
2457})();
2458	if (window.svg4everybody && Liferay.Data.ICONS_INLINE_SVG) {
2459		svg4everybody(
2460			{
2461				polyfill: true,
2462				validate: function (src, svg, use) {
2463					return !src || !src.startsWith('#');
2464				}
2465			}
2466		);
2467	}
2468
2469	
2470		Liferay.Portlet.register('fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb');
2471	
2472
2473	Liferay.Portlet.onLoad(
2474		{
2475			canEditTitle: false,
2476			columnPos: 0,
2477			isStatic: 'end',
2478			namespacedId: 'p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb_',
2479			portletId: 'fi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb',
2480			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dfi_yja_sitetemplatesettings_web_SiteTemplateSettingsHeader_WAR_fiyjasitetemplatesettingsweb\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2481			refreshURLData: {}
2482		}
2483	);
2484
2485	var nestedPortlet = document.getElementById(
2486		'_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__main-content'
2487	);
2488
2489	if (nestedPortlet != null) {
2490		nestedPortlet.removeAttribute('role');
2491	}
2492
2493	
2494		Liferay.Portlet.register('com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC');
2495	
2496
2497	Liferay.Portlet.onLoad(
2498		{
2499			canEditTitle: false,
2500			columnPos: 3,
2501			isStatic: 'end',
2502			namespacedId: 'p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC_',
2503			portletId: 'com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC',
2504			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d3\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2505			refreshURLData: {}
2506		}
2507	);
2508
2509	var nestedPortlet = document.getElementById(
2510		'_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__main-content'
2511	);
2512
2513	if (nestedPortlet != null) {
2514		nestedPortlet.removeAttribute('role');
2515	}
2516
2517	
2518		Liferay.Portlet.register('com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI');
2519	
2520
2521	Liferay.Portlet.onLoad(
2522		{
2523			canEditTitle: false,
2524			columnPos: 5,
2525			isStatic: 'end',
2526			namespacedId: 'p_p_id_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI_',
2527			portletId: 'com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI',
2528			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d5\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2529			refreshURLData: {}
2530		}
2531	);
2532
2533	
2534		Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB');
2535	
2536
2537	Liferay.Portlet.onLoad(
2538		{
2539			canEditTitle: false,
2540			columnPos: 1,
2541			isStatic: 'end',
2542			namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB_',
2543			portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB',
2544			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_koRj6bvN63cB\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d1\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2545			refreshURLData: {}
2546		}
2547	);
2548(function() {var $ = AUI.$;var _ = AUI._;
2549	var assetEntryId =
2550		'';
2551
2552	if (assetEntryId) {
2553		window.location.hash = assetEntryId;
2554	}
2555})();
2556	
2557		Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z');
2558	
2559
2560	Liferay.Portlet.onLoad(
2561		{
2562			canEditTitle: false,
2563			columnPos: 0,
2564			isStatic: 'end',
2565			namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z_',
2566			portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z',
2567			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_3xWMKnLm126Z\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3d_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_BcWuXC4kWBxI__column-1\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2568			refreshURLData: {}
2569		}
2570	);
2571
2572	
2573		Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My');
2574	
2575
2576	Liferay.Portlet.onLoad(
2577		{
2578			canEditTitle: false,
2579			columnPos: 0,
2580			isStatic: 'end',
2581			namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My_',
2582			portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My',
2583			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_w9ZK3fEAH8My\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2584			refreshURLData: {}
2585		}
2586	);
2587
2588	
2589		Liferay.Portlet.register('fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFo
2589oter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter');
2590	
2591
2592	Liferay.Portlet.onLoad(
2593		{
2594			canEditTitle: false,
2595			columnPos: 0,
2596			isStatic: 'end',
2597			namespacedId: 'p_p_id_fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter_',
2598			portletId: 'fi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter',
2599			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dfi_yja_sitetemplatesettings_web_SiteTemplateSettingsFooter_WAR_fiyjasitetemplatesettingsweb_INSTANCE_sitetemplateFooter\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2600			refreshURLData: {}
2601		}
2602	);
2603(function() {var $ = AUI.$;var _ = AUI._;
2604	var assetEntryId =
2605		'';
2606
2607	if (assetEntryId) {
2608		window.location.hash = assetEntryId;
2609	}
2610})();
2611	
2612		Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK');
2613	
2614
2615	Liferay.Portlet.onLoad(
2616		{
2617			canEditTitle: false,
2618			columnPos: 0,
2619			isStatic: 'end',
2620			namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK_',
2621			portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK',
2622			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_T82Z6tLe5uHK\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3d_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-1\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2623			refreshURLData: {}
2624		}
2625	);
2626
2627	
2628		Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM');
2629	
2630
2631	Liferay.Portlet.onLoad(
2632		{
2633			canEditTitle: false,
2634			columnPos: 2,
2635			isStatic: 'end',
2636			namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM_',
2637			portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM',
2638			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_EnphMe2CM6UM\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d2\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2639			refreshURLData: {}
2640		}
2641	);
2642
2643	
2644		Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK');
2645	
2646
2647	Liferay.Portlet.onLoad(
2648		{
2649			canEditTitle: false,
2650			columnPos: 4,
2651			isStatic: 'end',
2652			namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK_',
2653			portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK',
2654			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_wLasl03GD7EK\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dcolumn-1\x26p_p_col_pos\x3d4\x26p_p_col_count\x3d6\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2655			refreshURLData: {}
2656		}
2657	);
2658
2659	
2660		Liferay.Portlet.register('fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet');
2661	
2662
2663	Liferay.Portlet.onLoad(
2664		{
2665			canEditTitle: false,
2666			columnPos: 0,
2667			isStatic: 'end',
2668			namespacedId: 'p_p_id_fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet_',
2669			portletId: 'fi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet',
2670			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dfi_yja_language_version_tool_web_portlet_LanguageVersionToolSelectionPortlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2671			refreshURLData: {}
2672		}
2673	);
2674(function() {var $ = AUI.$;var _ = AUI._;
2675	var assetEntryId =
2676		'';
2677
2678	if (assetEntryId) {
2679		window.location.hash = assetEntryId;
2680	}
2681})();
2682	
2683		Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ');
2684	
2685
2686	Liferay.Portlet.onLoad(
2687		{
2688			canEditTitle: false,
2689			columnPos: 0,
2690			isStatic: 'end',
2691			namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ_',
2692			portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ',
2693			refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d1428976\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_FzUmd8bupnGJ\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3d_com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet_INSTANCE_B1RYR7syXhqC__column-2\x26p_p_col_pos\x3d0\x26p_p_col_count\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fetusivu',
2694			refreshURLData: {}
2695		}
2696	);
2697Liferay.Loader.require('metal-dom/src/all/dom', 'frontend-js-web/liferay/toast/commands/OpenToast.es', function(metalDomSrcAllDom, frontendJsWebLiferayToastCommandsOpenToastEs) {
2698try {
2699(function() {
2700var dom = metalDomSrcAllDom;
2701var $ = AUI.$;var _ = AUI._;
2702	var focusInPortletHandler = dom.delegate(
2703		document,
2704		'focusin',
2705		'.portlet',
2706		function(event) {
2707			dom.addClasses(dom.closest(event.delegateTarget, '.portlet'), 'open');
2708		}
2709	);
2710
2711	var focusOutPortletHandler = dom.delegate(
2712		document,
2713		'focusout',
2714		'.portlet',
2715		function(event) {
2716			dom.removeClasses(dom.closest(event.delegateTarget, '.portlet'), 'open');
2717		}
2718	);
2719
2720})();
2721(function() {
2722var toastCommands = frontendJsWebLiferayToastCommandsOpenToastEs;
2723var $ = AUI.$;var _ = AUI._;
2724			AUI().use(
2725				'liferay-session',
2726				function() {
2727					Liferay.Session = new Liferay.SessionBase(
2728						{
2729							autoExtend: true,
2730							redirectOnExpire: false,
2731							redirectUrl: 'https\x3a\x2f\x2foikeuskansleri\x2efi\x2f',
2732							sessionLength: 10800,
2733							sessionTimeoutOffset: 70,
2734							warningLength: 0
2735						}
2736					);
2737
2738					
2739				}
2740			);
2741		
2742})();
2743} catch (err) {
2744	console.error(err);
2745}
2746});AUI().use('liferay-menu', 'aui-base', function(A) {(function() {var $ = AUI.$;var _ = AUI._;
2747	if (A.UA.mobile) {
2748		Liferay.Util.addInputCancel();
2749	}
2750})();(function() {var $ = AUI.$;var _ = AUI._;
2751	new Liferay.Menu();
2752
2753	var liferayNotices = Liferay.Data.notices;
2754
2755	for (var i = 0; i < liferayNotices.length; i++) {
2756		Liferay.Util.openToast(liferayNotices[i]);
2757	}
2758
2759})();});
2760// ]]>
2761</script>
2761 
2762  
2762<script src="https://oikeuskansleri.fi/o/yja-site-template-theme/js/main.js?browserId=chrome&amp;languageId=fi_FI&amp;t=1790609464000" type="text/javascript"></script>
2762 
2763  
2763<script type="text/javascript">
2764// YJALR73-1775 replace iterator dropdow-toggle class with LR71 version to prevent visual changes
2765const iteratorDropdown = document.querySelectorAll('.taglib-page-iterator .lfr-pagination-page-selector .dropdown-toggle.btn-secondary');
2766iteratorDropdown.forEach(iter => {
2767    iter.classList.remove('btn-secondary');
2768    if (!iter.classList.contains('btn-default')) {
2769        iter.classList.add('btn-default');
2770    }
2771})
2772</script>
2772 
2773  
2773<script type="text/javascript">
2774	// <![CDATA[
2775		AUI().use(
2776			'aui-base',
2777			function(A) {
2778				var frameElement = window.frameElement;
2779
2780				if (frameElement && frameElement.getAttribute('id') === 'simulationDeviceIframe') {
2781					A.getBody().addClass('lfr-has-simulation-panel');
2782				}
2783			}
2784		);
2785	// ]]>
2786</script>
2786 
2787  
2787<script type="text/javascript">
2788// <![CDATA[
2789Liferay.Loader.require('[email protected]/index', function(frontendJsDropdownSupportWeb1011Index) {
2790try {
2791(function() {
2792var DropdownProvider = frontendJsDropdownSupportWeb1011Index;
2793DropdownProvider.default()
2794})();
2795} catch (err) {
2796	console.error(err);
2797}
2798});
2799// ]]>
2800</script>
2800 
2801  
2801<script type="text/javascript">
2802// <![CDATA[
2803Liferay.Loader.require('[email protected]/index', function(frontendJsTabsSupportWeb1011Index) {
2804try {
2805(function() {
2806var TabsProvider = frontendJsTabsSupportWeb1011Index;
2807TabsProvider.default()
2808})();
2809} catch (err) {
2810	console.error(err);
2811}
2812});
2813// ]]>
2814</script>
2814 
2815  
2815<script type="text/javascript">
2816// <![CDATA[
2817Liferay.Loader.require('[email protected]/index', function(frontendJsCollapseSupportWeb1015Index) {
2818try {
2819(function() {
2820var CollapseProvider = frontendJsCollapseSupportWeb1015Index;
2821CollapseProvider.default()
2822})();
2823} catch (err) {
2824	console.error(err);
2825}
2826});
2827// ]]>
2828</script>
2828 
2829  
2829<script type="text/javascript">
2830// <![CDATA[
2831Liferay.Loader.require('[email protected]/index', function(frontendJsTooltipSupportWeb307Index) {
2832try {
2833(function() {
2834var TooltipSupport = frontendJsTooltipSupportWeb307Index;
2835TooltipSupport.default()
2836})();
2837} catch (err) {
2838	console.error(err);
2839}
2840});
2841// ]]>
2842</script>
2842 
2843  
2843<script type="text/javascript">
2844// <![CDATA[
2845Liferay.Loader.require('[email protected]/index', function(remoteAppSupportWeb108Index) {
2846try {
2847(function() {
2848var RemoteAppSupport = remoteAppSupportWeb108Index;
2849RemoteAppSupport.default()
2850})();
2851} catch (err) {
2852	console.error(err);
2853}
2854});
2855// ]]>
2856</script>
2856 
2857  
2857<script type="text/javascript">
2858// <![CDATA[
2859Liferay.Loader.require('[email protected]/index', function(frontendJsAlertSupportWeb1010Index) {
2860try {
2861(function() {
2862var AlertProvider = frontendJsAlertSupportWeb1010Index;
2863AlertProvider.default()
2864})();
2865} catch (err) {
2866	console.error(err);
2867}
2868});
2869// ]]>
2870</script>
2870 
2871  
2871<script>
2872    function resizeElements() {
2873    var maxHeight = 0;
2874    
2875    $(".link-highlights .text-wrapper").each(function(){
2876       if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
2877    });
2878    
2879    $(".link-highlights .text-wrapper").height(maxHeight);
2880    }
2881    
2882    $(document).ready(function() {
2883      resizeElements();
2884    });
2885    
2886    $(window).resize(function() {
2887      resizeElements();
2888    });
2889    </script>
2889 
2890  
2890<script type="text/javascript">
2891
2892    var fixed = jQuery('.main-nav').position().top;
2893
2894
2895</script>
2895 
2896  
2896<script src="    /documents/1428954/114926852/lang-se.js/7ceb99cf-0362-4d47-5dcc-67cfd47e1940?t=1649330558915
2897"></script>
2897  
2898 </body>
2899</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.