Ettervern og psykososial støtte
Vi bistår virksomheter med oppfølging etter alvorlige hendelser, kriser og belastende situasjoner. Målet er å ivareta ansatte, styrke organisasjonens motstandsdyktighet og bidra til en trygg tilbakeføring til normal drift.
Omsorg, læring og gjenoppretting
God håndtering stopper ikke når hendelsen er over. Vi støtter ledere og medarbeidere i arbeidet med ivaretakelse, evaluering og læring, slik at organisasjonen kan komme styrket videre.
Bistanden kan omfatte
- Psykososial oppfølging av ansatte og ledere
- Rådgivning om ivaretakelse etter alvorlige hendelser
- Debrief og erfaringsinnhenting
- Evaluering og læringsprosesser
- Oppfølging av berørte arbeidsmiljøer
- Støtte til kommunikasjon og ledelse
- Planlegging av tilbakeføring til normal drift
- Identifisering og oppfølging av forbedringstiltak
Hva får virksomheten?
Virksomheten får støtte til å ivareta mennesker, håndtere konsekvenser og omsette erfaringer til forbedring. Resultatet er en tryggere tilbakeføring til normal drift, styrket beredskapskultur og økt organisatorisk robusthet.
← Tilbake til Beredskap, kurs og øvelser
Kontakt oss
Send inn skjemaet under, så tar vi kontakt med deg. (function () { var form = document.getElementById('kontaktskjema'); if (!form) return; // --- Utfylt-markering --- function updateFilled(el) { if (!el || el.type === 'checkbox' || el.type === 'radio' || el.type === 'hidden') return; var v = (el.value || '').toString(); var valid = typeof el.checkValidity === 'function' ? el.checkValidity() : true; if (v.trim() !== '' && valid) el.classList.add('is-filled'); else el.classList.remove('is-filled'); } function updateFieldsetFilled(fs) { if (!fs) return; var inputs = fs.querySelectorAll('input[type=checkbox], input[type=radio]'); var any = false; for (var i = 0; i < inputs.length; i++) { if (inputs[i].checked) { any = true; break; } } if (any) fs.classList.add('is-filled'); else fs.classList.remove('is-filled'); } function updateCheckFilled(cb) { var wrap = cb.closest('.form-check'); if (!wrap) return; if (cb.checked) wrap.classList.add('is-filled'); else wrap.classList.remove('is-filled'); } var fields = form.querySelectorAll('input, select, textarea'); for (var i = 0; i < fields.length; i++) { (function (f) { // Søkefeltet er ikke et skjemafelt som skal merkes som utfylt – // den grønne tilstanden styres kun av om et firma er valgt fra dropdownen. if (f.id === 'firmasoek') return; if (f.type === 'radio' || f.type === 'checkbox') { f.addEventListener('change', function () { var fs = f.closest('fieldset'); if (fs) updateFieldsetFilled(fs); if (!fs) updateCheckFilled(f); // lone checkbox (personvern) }); } else { f.addEventListener('input', function () { updateFilled(f); }); f.addEventListener('change', function () { updateFilled(f); }); } })(fields[i]); } // --- Navnesøk mot Brønnøysundregistrene via internt API --- var sokInput = document.getElementById('firmasoek'); var sokBoks = document.querySelector('.firma-soek'); var sokClear = document.getElementById('firmasoek-clear'); var dropdown = document.getElementById('firmasoek-dropdown'); var firmaStatus = document.getElementById('firma-status'); var orgnrInput = document.getElementById('orgnr'); var firmanavnInput = document.getElementById('firmanavn'); var adresseInput = document.getElementById('adresse'); var postnrInput = document.getElementById('postnr'); var stedInput = document.getElementById('kommune'); var firmaFelter = document.getElementById('firmafelter'); var kontaktFelter = document.getElementById('kontaktfelter'); var firmaSoekBlokk = document.getElementById('firmasoek-blokk'); var privatpersonCheck = document.getElementById('privatperson'); var henvendelsestype = document.getElementById('henvendelsestype'); var kontaktpersonInput = document.getElementById('kontaktperson'); var telefonInput = document.getElementById('telefon'); var epostInput = document.getElementById('epost'); var meldingInput = document.getElementById('melding'); var autoFilled = {}; // husker hva vi sist auto-fylte, så vi ikke overskriver manuelle endringer var debounceTimer = null; var aktivIndeks = -1; var sisteTreff = []; function setStatus(text, color) { if (!firmaStatus) return; firmaStatus.textContent = text || ''; firmaStatus.style.color = color || ''; } function maybeAutoFill(el, nyVerdi) { if (!el || !nyVerdi) return; var current = (el.value || '').toString(); if (current === '' || current === autoFilled[el.id]) { el.value = nyVerdi; autoFilled[el.id] = nyVerdi; updateFilled(el); } } function maybeAutoSelect(sel, nyVerdi) { if (!sel || !nyVerdi) return; var current = (sel.value || '').toString(); if (current === '' || current === autoFilled[sel.id]) { sel.value = nyVerdi; autoFilled[sel.id] = nyVerdi; updateFilled(sel); } } function escapeHtml(s) { return (s || '').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); } function highlight(text, term) { var safe = escapeHtml(text); if (!term) return safe; var safeTerm = escapeHtml(term); var lower = safe.toLowerCase(); var termLower = safeTerm.toLowerCase(); var idx = lower.indexOf(termLower); if (idx < 0) return safe; return safe.substring(0, idx) + '' + safe.substring(idx, idx + safeTerm.length) + '' + safe.substring(idx + safeTerm.length); } function skjulDropdown() { dropdown.hidden = true; dropdown.innerHTML = ''; aktivIndeks = -1; } function visDropdown() { if (!sisteTreff.length) { skjulDropdown(); return; } dropdown.hidden = false; } function settAktiv(nyIdx) { var items = dropdown.querySelectorAll('li[data-idx]'); if (!items.length) return; if (nyIdx < 0) nyIdx=items.length - 1; if (nyIdx>= items.length) nyIdx = 0; for (var i = 0; i < items.length; i++) items[i].classList.remove('active'); items[nyIdx].classList.add('active'); items[nyIdx].scrollIntoView({ block: 'nearest' }); aktivIndeks = nyIdx; } function settFormDisabled(disabled) { var alle = form.querySelectorAll('input, select, textarea, button'); for (var i = 0; i < alle.length; i++) { var f = alle[i]; if (f.id === 'firmasoek' || f.id === 'firmasoek-clear' || f.id === 'privatperson') continue; if (f.type === 'hidden') continue; f.disabled = disabled; } } function rensFyltFraForrigeValg() { // Tøm felter som ble auto-fylt av forrige valg, slik at nytt valg kan fylle dem ['firmanavn', 'adresse', 'postnr', 'kommune'].forEach(function (id) { var el = document.getElementById(id); if (!el) return; if (el.value && el.value === autoFilled[id]) { el.value = ''; delete autoFilled[id]; updateFilled(el); } }); if (orgnrInput) { orgnrInput.value = ''; } } function velgFirma(enhet) { if (!enhet) return; settFormDisabled(false); rensFyltFraForrigeValg(); if (orgnrInput) orgnrInput.value = enhet.orgnr || ''; if (enhet.navn) maybeAutoFill(firmanavnInput, enhet.navn); var a = enhet.forretningsadresse; if (a) { if (a.linjer && a.linjer.length) maybeAutoFill(adresseInput, a.linjer.join(', ')); if (a.postnummer) maybeAutoFill(postnrInput, a.postnummer); // Fyll «Sted» automatisk med poststed (evt. kommune som reserve) var sted = a.poststed || a.kommune; if (sted) { // Normaliser til pen kapitalisering (Brreg leverer ofte STORE BOKSTAVER) sted = sted.toString().toLowerCase().replace(/(^|[\s\-])([a-zæøå])/g, function (m, p1, p2) { return p1 + p2.toUpperCase(); }); maybeAutoFill(stedInput, sted); } } if (firmaFelter) firmaFelter.hidden = false; if (kontaktFelter) kontaktFelter.hidden = false; sokInput.value = enhet.navn || ''; sokInput.setAttribute('readonly', 'readonly'); sokInput.blur(); if (sokBoks) sokBoks.classList.add('valgt'); if (sokClear) sokClear.hidden = false; setStatus('Valgt: ' + enhet.navn + ' · orgnr. ' + enhet.orgnr + (a && a.poststed ? ' · ' + a.poststed : ''), '#00a870'); skjulDropdown(); sisteTreff = []; } function fjernValg() { rensFyltFraForrigeValg(); if (firmaFelter) firmaFelter.hidden = true; // Skjul kontaktfeltene igjen bare hvis vi IKKE er i privatperson-modus if (kontaktFelter && !(privatpersonCheck && privatpersonCheck.checked)) { kontaktFelter.hidden = true; } sokInput.value = ''; sokInput.removeAttribute('readonly'); if (sokBoks) sokBoks.classList.remove('valgt'); if (sokClear) sokClear.hidden = true; sisteTreff = []; skjulDropdown(); settFormDisabled(true); setStatus('Velg et firma så fyller vi ut firmanavn, adresse og orgnr automatisk.', ''); sokInput.focus(); } function renderDropdown(treff, term) { dropdown.innerHTML = ''; sisteTreff = treff || []; if (!sisteTreff.length) { var empty = document.createElement('li'); empty.className = 'empty'; empty.textContent = 'Ingen treff. Skriv inn firmanavnet manuelt hvis du ikke finner det.'; dropdown.appendChild(empty); dropdown.hidden = false; return; } for (var i = 0; i < sisteTreff.length; i++) { (function (idx, e) { var li = document.createElement('li'); li.setAttribute('data-idx', String(idx)); li.setAttribute('role', 'option'); var dato = e.stiftelsesdato || e.registrertDato; var aar = dato ? (', stiftet ' + dato.substring(0, 4)) : ''; var poststed = (e.forretningsadresse && e.forretningsadresse.poststed) ? e.forretningsadresse.poststed : ''; li.innerHTML = '' + highlight(e.navn, term) + '' + ' orgnr. ' + escapeHtml(e.orgnr) + '' + '' + escapeHtml(e.organisasjonsform || '') + aar + (poststed ? ' · ' + escapeHtml(poststed) : '') + ''; li.addEventListener('mousedown', function (ev) { ev.preventDefault(); // hindre blur før click velgFirma(e); }); dropdown.appendChild(li); })(i, sisteTreff[i]); } dropdown.hidden = false; } function soek(term) { setStatus('Søker…', '#666'); fetch('~/API/BrregSoek?navn=' + encodeURIComponent(term), { headers: { 'Accept': 'application/json' } }) .then(function (r) { return r.json(); }) .then(function (data) { var treff = (data && data.treff) ? data.treff : []; renderDropdown(treff, term); setStatus(treff.length ? (treff.length + ' treff – velg ett for å fylle ut skjemaet') : 'Ingen treff', treff.length ? '' : '#6b7280'); }) .catch(function () { setStatus('Kunne ikke søke nå – prøv igjen senere.', '#b00'); }); } if (sokInput) { sokInput.addEventListener('input', function () { if (sokInput.hasAttribute('readonly')) return; var term = (sokInput.value || '').trim(); if (debounceTimer) clearTimeout(debounceTimer); if (term.length < 2) { skjulDropdown(); setStatus('Velg et firma så fyller vi ut firmanavn, adresse og orgnr automatisk.', ''); return; } debounceTimer=setTimeout(function () { soek(term); }, 300); }); sokInput.addEventListener('focus', function () { if (sokInput.hasAttribute('readonly')) return; if (sisteTreff.length) visDropdown(); }); sokInput.addEventListener('blur', function () { setTimeout(skjulDropdown, 200); }); sokInput.addEventListener('keydown', function (e) { if (sokInput.hasAttribute('readonly')) return; if (dropdown.hidden) return; if (e.key === 'ArrowDown') { e.preventDefault(); settAktiv(aktivIndeks + 1); } else if (e.key === 'ArrowUp') { e.preventDefault(); settAktiv(aktivIndeks - 1); } else if (e.key === 'Enter') { var idx=aktivIndeks>= 0 ? aktivIndeks : 0; if (sisteTreff[idx]) { e.preventDefault(); velgFirma(sisteTreff[idx]); } } else if (e.key === 'Escape') { skjulDropdown(); } }); } if (sokClear) { sokClear.addEventListener('click', fjernValg); } // --- Privatperson / bedrift-veksling --- var firmaPakrevdFelter = [firmanavnInput, adresseInput, postnrInput, stedInput]; function settPrivatperson(erPrivat) { if (henvendelsestype) henvendelsestype.value = erPrivat ? 'Privatperson' : 'Bedrift'; if (erPrivat) { // Skjul alt som har med firma å gjøre if (firmaSoekBlokk) firmaSoekBlokk.hidden = true; if (firmaFelter) firmaFelter.hidden = true; // Fjern «required» og tøm firma-feltene så de ikke blokkerer innsending firmaPakrevdFelter.forEach(function (el) { if (!el) return; el.removeAttribute('required'); el.value = ''; el.disabled = true; updateFilled(el); }); if (orgnrInput) orgnrInput.value = ''; autoFilled = {}; // Vis og aktiver kontaktfeltene + melding for privatperson if (kontaktFelter) kontaktFelter.hidden = false; [kontaktpersonInput, telefonInput, epostInput, meldingInput].forEach(function (el) { if (el) el.disabled = false; }); // Personvern-samtykke må fortsatt kunne krysses av var pv = document.getElementById('personvern'); if (pv) pv.disabled = false; var sendBtn = form.querySelector('button[type=submit]'); if (sendBtn) sendBtn.disabled = false; } else { // Tilbake til bedrift-flyt if (firmaSoekBlokk) firmaSoekBlokk.hidden = false; // Sett «required» tilbake på firma-feltene firmaPakrevdFelter.forEach(function (el) { if (el) el.setAttribute('required', 'required'); }); // Nullstill firmasøk og skjul felter til firma velges på nytt fjernValg(); } } if (privatpersonCheck) { privatpersonCheck.addEventListener('change', function () { settPrivatperson(privatpersonCheck.checked); }); } // Initialtilstand: alt bortsett fra søkefeltet er disablet til et firma er valgt. settFormDisabled(true); })();