Generated by Rank Math SEO, this is an llms.txt file designed to help LLMs better understand and index this website. # Fibra: Fibra är ditt öppna stadsnät i Västerås, Hallstahammar och Strängnäs. Välj fritt bland många leverantörer av snabbt bredband, TV och telefoni i samma nät ## Sitemaps [XML Sitemap](https://fibra.se/sitemap_index.xml): Includes all crawlable and indexable pages. ## Listing Items/Components - [Listar: Smarta komponenter](https://fibra.se/?jet-engine=listar-smarta-komponenter): Testrubrik - [Listar: Driftinformation / Sidhuvud](https://fibra.se/?jet-engine=driftinformation-sidhuvud-2): Läs mer - [Listar: Driftinformation](https://fibra.se/?jet-engine=driftinformation-supportsida-2): Status: Rapporterad - [Listar: Driftinformation / Planerade](https://fibra.se/?jet-engine=listar-driftinformation-planerade): Planerat datum: - [Listar: Nyheter](https://fibra.se/?jet-engine=listar-nyheter): Läs mer - [FAQ kategorier lista](https://fibra.se/?jet-engine=faq-kategorier-lista): Fiber är inte bara det hetaste på marknaden just nu, utan också ett långsiktigt alternativ. - [Frågor och svar lista](https://fibra.se/?jet-engine=fragor-och-svar-lista): Länk till detta svar Länk till detta svar - [Driftinformation – Supportsida](https://fibra.se/?jet-engine=driftinformation-supportsida): Läs mer - [Driftinformation – sidhuvud](https://fibra.se/?jet-engine=driftinformation-sidhuvud): Läs mer → - [Driftinformation](https://fibra.se/?jet-engine=driftinformation) ## Frågor och svar - [Vad är nätavgift för fiber i nätet via Fibra?](https://fibra.se/fragor-och-svar/vad-r-ntavgift-fr-fiber/): Nätavgiften för stadsnätet via Fibra går till underhåll, felsökning, drift och uppgradering av fibernätet. Avgiften ser till att du har ett stabilt, robust, framtidssäkert och snabbt fibernät att nyttja. - [Hur går byte av användarnod till?](https://fibra.se/fragor-och-svar/hur-gar-byte-av-anvandarnod-till/): Allt fler enheter i våra hem är uppkopplad mot internet och vi använder digitala tjänster i stort sett dagligen. Via Fibra kan du få tillgång till internethastigheter på upp till 1000 Mbit/s. Är ni flera i familjen som surfar, streamar eller spelar onlinespel samtidigt? Då är ni kanske i behov av en hög internethastighet. - [Hur gör jag om jag vill byta leverantör för mina abonnemang i nätet via Fibra?](https://fibra.se/fragor-och-svar/hur-gor-jag-om-jag-vill-byta-leverantor-for-mina-abonnemang-i-natet-via-fibra/): Inom det öppna nätet via Fibra finns en mängd olika bredbandsleverantörer att välja bland. Du hittar alla leverantörer och abonnemang här >. - [Vad ska jag som fastighetsägare göra för att ansluta till fibernätet via Fibra?](https://fibra.se/fragor-och-svar/vad-ska-jag-som-fastighetsagare-gora/): Undersök din möjlighet att ansluta din fastighet till Fibras fibernätverk som alternativ. Väl i Fibras nät kan de boende sedan teckna ett abonnemang av tv, internet och/eller telefoni. Då Fibra är ett öppet nät finns möjligheten att välja bland ett stort utbud av leverantörer, vilket ger de boende större valfrihet. Undersök möjligheterna till anslutning och abonnemang här > genom att knappa in en adress. - [Vad ska jag som företagare göra för att ansluta fiber via Fibra?](https://fibra.se/fragor-och-svar/vad-ska-jag-som-foretagare-gora/): Gå in på https://fibra.se/efteranslutning/ och skriv in din adress eller fastighetsbeteckning i sökfältet. Då får du svar på om du kan ansluta ditt företag till stadsnätet och vad det kostar. I vissa fall krävs det mer utredning för att undersöka om just ditt företag kan anslutas till stadsnätet, detta får du svar på när du gör din sökning och du kan i nästa steg skicka in en förfrågan till oss. - [Vad ska jag som privatperson göra för att ansluta till fibernätet via Fibra?](https://fibra.se/fragor-och-svar/vad-ska-jag-som-privatperson-gora/): Om du idag har fast telefoni eller bredband via kopparnätet har du kanske möjlighet att ansluta ditt boende till Fibras fibernätverk som alternativ. Väl i Fibras nät kan du sedan teckna ett abonnemang av tv, internet och/eller telefoni. Då Fibra är ett öppet nät finns möjligheten att välja bland ett stort utbud av leverantörer. Undersök dina möjligheter till fiber och abonnemang här > genom att knappa in din adress. - [Varför ska jag ansluta mig till fibernätet via Fibra?](https://fibra.se/fragor-och-svar/varfor-ska-jag-ansluta-mig-till-fibernatet/): Det finns flera olika anledningar till att ansluta sig till det fibernätet Nedan är några Att få tillgång till ett snabbt och stabilt bredband innebär att man får tillgång till exempelvis samhällstjänster, tv och streamad underhållning via internet, när du vill. Fastighetens värde ökar ofta. Fastigheter som inte har fiber kan vara mer svårsålda, inte bara villor utan även fritidshus. Styrning av smarta hem. Den tekniska utvecklingen går snabbt framåt och med fiber är du förberedd att klara de nya kraven.   Kontakta kundcenter - vi finns här för dig! Om du inte finner svaret på din fråga är det bara att ringa eller mejla oss. Du når oss på telefon 0771-375 375 eller via vårt kontaktformulär > Här hittar du våra öppettider >. - [Hur kan jag få bättre bredbandshastighet i fibernätet via Fibra?](https://fibra.se/fragor-och-svar/sahar-utokar-du-din-hastighet/): Har du mätt din hastighet? Om så är fallet, kontrollera att mätningen är gjord när du är direktkopplad från en dator till användarnoden eller det passiva uttaget. OBS! om du gör mätningen när du ansluter till ett trådlöst nätverk så ger det oftast inte samma hastighet som när du är direktkopplad. - [Hur vill du få din faktura?](https://fibra.se/fragor-och-svar/hur-vill-du-fa-din-faktura/): Vi rekommenderar alla våra kunder att välja bort pappersfakturan. Vi erbjuder e-faktura, sms och mejlfaktura. Kombinerat med autogiro underlättar det dina betalningar till oss, det är kostnadsfritt, säkert och bekvämt. - [Var hittar jag min senaste faktura?](https://fibra.se/fragor-och-svar/var-hittar-jag-min-senaste-faktura/): Logga in på Mitt Mälarenergi > (kräver Bank-ID). - [Vad gör jag om bredband, tv eller telefoni via Fibra inte fungerar?](https://fibra.se/fragor-och-svar/information-om-min-internet-tv-och-telefonitjanst/): Obs! Denna guide gäller dig som har beställt en bredband-, tv- eller telefonitjänst från en av våra tjänsteleverantörer.Gör alltid en egen felsökning innan du kontaktar tjänsteleverantören för att undvika teknikerkostnader som tillkommer när du får ett besök av en tekniker ifrån tjänsteleverantören och/eller från Fibra som inser att din router är trasig och felet inte ligger i nätet eller i tjänsten. - [Felsökningsguide av användarnod/passivt uttag](https://fibra.se/fragor-och-svar/felsokningsguide-av-anvandarnod-guide-for-dig-utan-inkopplad-wifi-router/): Obs. Denna guide gäller dig som INTE har en wifi-router kopplad till din användarnod/fiberuttag. - [Varför ska jag välja att ansluta fiber via Fibra?](https://fibra.se/fragor-och-svar/varfor-ska-jag-valja-fiber/): Jo, fiber överför snabbt och stabilt data, det vill säga din internetuppkoppling blir snabb! Fiber är  ett långsiktigt alternativ! Det ger en framtidssäker infrastruktur och eftersom fibern ligger i marken är den väldigt driftsäker. Med fiber kan vi idag inte se några egentliga begränsningar i kapacitet. Intresserad av att veta mer? Kontakta kundcenter!   Kontakta kundcenter - vi finns här för dig! Om du inte finner svaret på din fråga är det bara att ringa eller mejla oss. Du når oss på telefon 0771-375 375 eller via vårt kontaktformulär > Här hittar du våra öppettider >. - [Hur gör jag en felanmälan av tv, internet och telefoni via Fibra?](https://fibra.se/fragor-och-svar/hur-gor-jag-en-felanmalan/): Vi har en kontinuerlig kontakt med tjänsteleverantörerna vid en felanmälan. - [Jag har haft sönder min användarnod till fibernätet via Fibra. Hur går jag tillväga nu?](https://fibra.se/fragor-och-svar/jag-har-haft-sonder-min-anvandarnod-hur-gar-jag-tillvaga/): Kontakta vårt kundcenter så ser vi till att skapa en felanmälan. En tekniker ifrån oss kommer eventuellt att besöka dig för vidare hjälp på plats mot en kostnad. Hur mycket du kommer att debiteras beror på vad som behöver bytas ut eller lagas, - [Jag behöver en ny strömadapter till användarnoden för fibernätet via Fibra](https://fibra.se/fragor-och-svar/vad-gor-jag-om-jag-behover-en-ny-stromadapter-till-anvandarnoden/): Inga problem alls! En ny strömadapter köper du direkt via oss. Här hittar du vårt beställningsformulär >. Ibland vid åskoväder kan strömadaptern skadas. Du kan enkelt beställa en ny på länken ovan. - [Jag har felanmält bredband eller tv i nätet via Fibra, när kommer den igång?](https://fibra.se/fragor-och-svar/jag-har-felanmalt-min-tjanst-nar-kommer-den-igang/): Misstänker du avbrott på fibern eller annat fel på din hårdvara, så kan en tekniker kontakta dig för tidsbokning och felsöka på plats. Vi håller en dialog med din tjänsteleverantör och uppdaterar ärendet med din felanmälan kontinuerligt. Alla frågor kring status samt tidsplan får du gärna ta med din tjänsteleverantör direkt. Lycka till med din felanmälan, vi gör vårt bästa för att lösa ärendet så snabbt så möjligt. - [Hur kommer jag igång med WiFi av bredband via Fibra?](https://fibra.se/fragor-och-svar/hur-kommer-jag-igang-med-wifi/): Grattis, du har nu kommit igång med WiFi och kan surfa på nätet trådlöst på dina enheter. - [Hur ska jag koppla in TV till fibernätet via Fibra?](https://fibra.se/fragor-och-svar/hur-ska-jag-koppla-in-tv/): För att få bredbandstv ska du koppla en nätverkskabel direkt från inkommande till din tv-box. Undvik att koppla via en router. - [Vad är ett nätverk?](https://fibra.se/fragor-och-svar/vad-ar-ett-natverk/): Ett nätverk är i grund och botten en samling av enheter eller datorer som är kopplade till varandra så att de kan dela information och resurser. Det kan vara både fysiskt, där enheterna är anslutna med kablar, eller trådlöst, där de använder trådlös teknik som Wi-Fi för att kommunicera. Nätverk kan vara små och lokala, som hemnätverk, eller stora och globala, som internet. - [Vad är skillnaden på router och switch?](https://fibra.se/fragor-och-svar/vad-ar-skillnaden-pa-router-och-switch/): En router och en switch är två olika nätverksenheter som används för att underlätta datatransport inom nätverk, men de har olika funktioner och användningsområden: - [Vad är det för olika roller i stadsnätet via Fibra?](https://fibra.se/fragor-och-svar/vad-ar-det-for-olika-roller-i-stadsnatet/): I ett öppet stadsnät finns tre roller: nätägare, kommunikationsoperatör samt tjänsteleverantör. - [Vad innebär öppet stadsnät?](https://fibra.se/fragor-och-svar/vad-innebar-oppet-stadsnat/): Fibra är ett öppet stadsnät, det betyder att du kan teckna ett abonnemang av tv, internet eller telefoni hos en mängd olika tjänsteleverantörer. Det ger dig större valfrihet och till exempel kontroll av dina abonnemangskostnader. För mer information om vad öppenheten i begreppet "öppet nät" betyder, se svenska stadsnätsföreningens öppenhetsdeklaration. - [Hur ser anslutningsprocessen för villa ut?](https://fibra.se/fragor-och-svar/hur-ser-anslutningsprocessen-for-villa-ut/): Se informationsfilmen > som berättar om tidsplan, placering av nod, ingrävningspunkt för fiber med mer. Kontakta oss om någon fråga eller fundering dyker upp! - [Var hittar jag driftinformation?](https://fibra.se/fragor-och-svar/var-hittar-jag-driftinformation/): På vår hemsida under fliken "Support & driftinfo" finns en sida som heter "Driftinfo och felanmälan". Här kan du hitta pågående och planerade driftärenden. Klicka här för att se driftärenden > - [Felsökning – innan kontakt med min tjänsteleverantör](https://fibra.se/fragor-och-svar/hur-gor-jag-en-forsta-felsokning-innan-jag-kontaktar-min-tjansteleverantor/): Nedan finner du två guider att nyttja innan du kontaktar din tjänsteleverantör. - [Hur kan jag felsöka vid dålig hastighet på internet?](https://fibra.se/fragor-och-svar/hur-kan-jag-felsoka-vid-lag-hastighet-2/): Med bredbandskollen kan du se hur snabbt ditt internet är. Om du inte får ditt förväntade resultat så kontakta din bredbandsleverantör. - [Felsökningsguide av användarnod eller passivt uttag (guide för dig med inkopplad wifi-router)](https://fibra.se/fragor-och-svar/felsokningsguide-av-anvandarnod-guide-for-dig-med-inkopplad-wifi-router/): Denna guide gäller dig som har en wifi-router kopplad till din användarnod/passivt uttag. Se dessa kopplingar illustrerade nedan. - [Vad är en router?](https://fibra.se/fragor-och-svar/vad-ar-en-router/): Den kopplar samman flera enheter, som datorer, smartphones och smarta hem-prylar, och ser till att data skickas rätt mellan dem och internet. Tänk på den som en korsning där routern bestämmer vilken väg datatrafiken ska ta. - [Vilka begränsningar har 4G om jag väljer att surfa via mobiltelefonen?](https://fibra.se/fragor-och-svar/vilka-begransningar-har-4g-om-jag-valjer-att-surfa-via-mobiltelefonen/): Idag är det många enheter som slåss om utrymme; mobiler, bärbara datorer, larm, GPS:er med mera. Det förekommer förstås också varierad täckning. Ofta är din datamängd begränsad och du tvingas betala mer om du vill fortsätta surfa. - [Vad ska jag använda uttagsnummer till?](https://fibra.se/fragor-och-svar/vad-ska-jag-anvanda-uttagsnummer-till/): Felsökning och beställning Ditt uttagsnummer hittar du klistrad på din användarnod/fiberuttag. Uttagsnumret är  ett unikt nummer för din fiberanslutning till din bostad. Numret kan både bestå av siffror och bokstäver. Till exempel 6096-AA01301A2333. Vid köp av nytt abonnemang brukar tjänsteleverantörerna efterfråga ditt uttagsnummer och genom det kan dom säkerhetsställa att tjänsten aktiveras på rätt port. Ett uttagsnummer efterfrågas också vid till exempel felsökningar. Kontakta kundcenter - vi finns här för dig! Om du inte finner svaret på din fråga är det bara att ringa eller mejla oss. Du når oss på telefon 0771-375 375 eller via vårt kontaktformulär > Här hittar du våra öppettider >. - [Hur bygger jag ett hemmanätverk?](https://fibra.se/fragor-och-svar/hur-bygger-jag-ett-hemmanatverk/): Vi kopplar upp mer och mer saker i hemmet mot nätet, det betyder också att hemmanätverken blir mer avancerade och komplexa ju mer enheter vi ansluter. Du kan skapa ett enkelt hemmanätverk genom att ansluta en router till din användarnod eller stadsnätsuttag, som du sedan kopplar upp dina enheter mot. Det går också att ansluta din dator direkt till användarnoden. - [Vad är en bredbandswitch?](https://fibra.se/fragor-och-svar/vad-ar-en-bredbandswitch/): En användarnod installerar vi när vi ansluter fiber till en bostad eller ett företag. Till användarnoden kommer all inkommande fiber som sedan fördelas till vidare tjänsterna du har beställt dator, router eller till annan utrustning du har hemma. Genom de olika portarna får du möjlighet att koppla upp flera enheter och du har då möjlighet att se på IPTV, surfa på nätet och ha hemlarmet på samtidigt. Bra att veta! En användarnod har ingen router funktion. En router kopplas mot användarnoden för att få möjlighet till ett trådlöst nätverk. Tveka inte att kontakta oss om du har frågor eller funderingar. - [Var hittar jag mitt uttagsnummer?](https://fibra.se/fragor-och-svar/vart-hittar-jag-mitt-uttagsnummer/): Om du är nyansluten får du alltid hem ett välkomstbrev med information om ditt uttagsnummer per post. Uttagsnummer ska du annars hitta på användarnoden/fiberuttaget, på en klisterlapp. Saknar du ett uttagsnummer på din användarnod/fiberuttag för du gärna kontakta oss via vårt kundcenter så skickar vi ut en ny klisterlapp till dig, per post! - [Hur gör jag om jag bara har ett uttag i väggen?](https://fibra.se/fragor-och-svar/hur-gor-jag-om-jag-bara-har-ett-uttag-i-vaggen/): Vissa anslutningar har ingen användarnod, endast ett uttag i väggen. I dag har man oftast fler än endast en tjänst i nätet och även flera enheter kopplade som router, dator, larm eller IPTV. Om du endast har ett uttag i väggen är det omöjligt att använda alla tjänster samtidigt. Då behöver du en användarnod eller tjänstefördelare. En sådan går att köpa via oss. Kontakta vårt kundcenter så hjälper vi till med en beställning. - [Hur kan jag felsöka vid låg hastighet?](https://fibra.se/fragor-och-svar/hur-kan-jag-felsoka-vid-lag-hastighet/): Tänk på att när du felsöker behöver du alltid direktkoppla din utrustning direkt mot vår fiberuttag/användarnod. Med detta menas att eventuell router måste kopplas bort. Då får du en rättvis mätning. Du kan alltid mäta på http://www.bredbandskollen.se/ Visar mätningen att du har för låg hastighet än vad du betalar för behöver du felanmäla detta hos din tjänsteleverantör för en ordentlig felsökning av din anslutning. - [Vad betyder de olika lamporna som lyser på användarnoden?](https://fibra.se/fragor-och-svar/vad-betyder-dom-olika-lamporna-som-lyser-pa-anvandarnoden/): Om du har en användarnod av märket CTS och av version HES 3106 (vår senaste) finner du en förklaring till vad dom olika lamporna förmedlar nedan. - [Vad är en användarnod?](https://fibra.se/fragor-och-svar/vad-ar-en-anvandarnod/): Användarnod är den dosa som omvandlar ljussignaler från fibern till digital information som din dator, TV och telefon kan ta emot. Det är alltså till din användarnod som du kopplar den utrustning du vill använda för dina olika tjänster. Användarnod kan även kallas för tjänstefördelare, fiberlåda, switch eller fibernod. Kärt barn har många namn. - [Är Fibra på gång med IPv6?](https://fibra.se/fragor-och-svar/ar-fibra-pa-gang-med-ipv6/): IPv6 är under utveckling hos oss på Fibra och vi kommer att informera våra kunder när vi har spikat ett datum för produktion. - [Vilken router ska jag använda?](https://fibra.se/fragor-och-svar/vilken-router-ska-jag-anvanda/): Att välja rätt router kan kännas som en djungel, men det behöver inte vara så svårt. Vi rekommenderar att kontakta din tjänsteleverantör eller besöka din lokala elektronikbutik för konsultation. - [Hur gör jag om jag vill flytta mina tjänster?](https://fibra.se/fragor-och-svar/hur-gor-jag-om-jag-vill-flytta-mina-tjanster/): Önskar du flytta dina tjänster till din nya bostad som också har en stadsnätsanslutning via Fibra så behöver du uttagsnumret till användarnoden eller stadsnätsuttaget till hands. - [Gällande BRF eller SMF, måste alla i föreningen använda samma tjänsteleverantör?](https://fibra.se/fragor-och-svar/gallande-brf-eller-smf-maste-alla-i-foreningen-anvanda-samma-tjansteleverantor/): Det som är så bra är att Fibra är ett öppet stadsnät, detta innebär att varje enskild hyresgäst eller bostadsrättsinnehavare har möjlighet att fritt välja vilken leverantör som ska leverera abonnemanget till hushållet. - [Vad innebär ett gruppavtal via Fibra?](https://fibra.se/fragor-och-svar/vad-innebar-en-gruppavtal/): Ett gruppavtal är ett sätt för fastighetsägare av flerfamiljshus att få ner kostnaderna på internet, tv och telefoni för sina boende. Tillsammans med våra tjänsteleverantörer kan vi erbjuda en rad olika möjligheter att gruppanslutna din fastighet, utifrån önskemål och behov. Detta innebär att alla hushåll i fastigheten har möjligheten att gå under ett och samma avtal. - [Vad är det för skillnad på Öppen TV, TV och Kabel-TV?](https://fibra.se/fragor-och-svar/vad-ar-det-for-skillnad-pa-oppen-tv-tv-och-kabel-tv/): Med öppen TV kan du kombinera kanaler och paket från flera leverantörer. Du beställer en box och ett grundpaket via leverantören Serverado eller Kalejdo och sedan kan du kombinera paket och kanaler från flera andra leverantörer fast använda en och samma box. - [Är min bostad ansluten till Fibras stadsnät så att jag kan beställa abonnemang?](https://fibra.se/fragor-och-svar/ar-min-bostad-ansluten-till-fibras-stadsnat-sa-att-jag-kan-bestalla-abonnemang/): Kolla här om du har eller kan få fiber från Fibra i din fastighet genom att skriva in din adress och få svar direkt. I det öppna nätet via Fibra finns 100-talet abonnemang och 20-talet leverantörer - Här> hittar du alla abonnemang. - [Jag hyr en företagslokal som har en anslutning till nätet, hur vet jag vilka tjänster jag kan använda?](https://fibra.se/fragor-och-svar/jag-hyr-en-foretagslokal-som-har-en-anslutning-till-natet-hur-vet-jag-vilka-tjanster-jag-kan-anvanda/): Besök tjänsteguiden för information om vilka abonnemang du kan beställa. Klicka här > för att komma till tjänsteguidens företagssida. Har du frågor eller funderingar kring abonnemang kontaktar du leverantören direkt. Vill du ansluta ditt företag till fibernätet är du välkommen att kontakta oss på telefon nummer 0771-400415 och ange knappval nummer 1 så hjälper vi gärna till. - [Vår förening är intresserad av gruppavtal, kan ni hjälpa till?](https://fibra.se/fragor-och-svar/var-forening-ar-intresserad-av-kollektiva-tjanster-kan-ni-hjalpa-till/): Kontakta kundcenter så hjälper vi er föreningen och informerar om abonnemang, priser med mera. - [Hur fungerar IPTV?](https://fibra.se/fragor-och-svar/hur-fungerar-iptv/): Din TV ansluts till en digitalbox via valfri port på användarnoden. Digitalboxen får du från din tjänsteleverantör när du beställer en TV-tjänst. Ett alternativ är att kopplar din digitalbox till en trådlös router men anslutningen till TV:n fungerar allra bäst via en kabel. Ett tips är att alltid koppla TV tjänsten direkt mot stadsnätsuttaget eller användarnoden. - [Jag behöver flytta på min användarnod (även kallad tjänstefördelare, fiberlåda, switch eller fibernod), hur gör jag?](https://fibra.se/fragor-och-svar/jag-behover-flytta-pa-min-anvandarnod-aven-kallad-tjanstefordelare-fiberlada-switch-eller-fibernod-hur-gor-jag/): Innan du till exempel ska renovera, måla om eller tapetsera och vill flytta på din användarnod, kan även kallas för tjänstefördelare, fiberlåda, switch eller fibernod, kontakta alltid en behörig fiberinstallatör för konsultation. - [Jag vill se mina fakturor](https://fibra.se/fragor-och-svar/jag-vill-se-mina-fakturor/): Enklaste sättet att se dina fakturor är att logga in på Mitt Mälarenergi. Fibra är ett dotterbolag till Mälarenergi och all fakturering sker pga. detta via dem. Mitt Mälarenergi hittar du här nedan. ## Driftinformation - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-38/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-406/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 3 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Strängnäs](https://fibra.se/driftinformation/driftstorning-strangnas-80/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 3 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Strängnäs](https://fibra.se/driftinformation/driftstorning-strangnas-79/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 3 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-37/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-405/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 5 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-404/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 10 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-403/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning postnummer 731 92](https://fibra.se/driftinformation/driftstorning-postnummer-731-92-2/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning postnummer 735 35](https://fibra.se/driftinformation/driftstorning-postnummer-735-35/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning postnummer 731 92](https://fibra.se/driftinformation/driftstorning-postnummer-731-92/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning postnummer 730 50](https://fibra.se/driftinformation/driftstorning-postnummer-730-50/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Ransta](https://fibra.se/driftinformation/driftstorning-ransta-5/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 4 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning berörda adresser](https://fibra.se/driftinformation/driftstorning-berorda-adresser/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-36/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2245 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning](https://fibra.se/driftinformation/driftstorning-vasteras-402/) - [Driftstörning Ransta](https://fibra.se/driftinformation/driftstorning-ransta-4/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 4 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Ransta](https://fibra.se/driftinformation/driftstorning-ransta-3/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 4 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Ransta](https://fibra.se/driftinformation/driftstorning-ransta-2/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 4 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-35/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 5 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-34/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Mariefred](https://fibra.se/driftinformation/driftstorning-mariefred-40/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 40 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-33/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-401/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || ''; etaEl.textContent = acf.current_status === 'lost' ? 'Åtgärdat' : (etaTime || 'Info saknas'); } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Strängnäs](https://fibra.se/driftinformation/driftstorning-strangnas-78/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 3 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Mariefred](https://fibra.se/driftinformation/driftstorning-mariefred-39/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-32/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Okänd](https://fibra.se/driftinformation/driftstorning-okand-14/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 23 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-31/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 10 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Mariefred](https://fibra.se/driftinformation/driftstorning-mariefred-38/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 4 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Okänd](https://fibra.se/driftinformation/driftstorning-okand-13/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-30/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-29/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 22 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-400/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-399/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 4 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-398/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 24 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Hallstahammar](https://fibra.se/driftinformation/driftstorning-hallstahammar-28/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 23 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Mariefred](https://fibra.se/driftinformation/driftstorning-mariefred-37/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 12 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Strängnäs](https://fibra.se/driftinformation/driftstorning-strangnas-77/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Mariefred](https://fibra.se/driftinformation/driftstorning-mariefred-36/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 40 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-397/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-396/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-395/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 9 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-394/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Strängnäs](https://fibra.se/driftinformation/driftstorning-strangnas-76/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 3 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Strängnäs](https://fibra.se/driftinformation/driftstorning-strangnas-75/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 2 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-393/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 3 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-392/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-391/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); - [Driftstörning Västerås](https://fibra.se/driftinformation/driftstorning-vasteras-390/): function filterAddresses() { var input = document.getElementById("addressSearch"); var filter = input.value.toLowerCase(); var rows = document.getElementsByClassName("address-row"); var noResultsRow = document.getElementById("noResultsRow"); var count = 0; for (var i = 0; i -1 || zipcode.indexOf(filter) > -1) { rows.style.display = ""; rows.classList.remove("no-match"); count++; } else { rows.style.display = "none"; rows.classList.add("no-match"); } } if (count === 0 && filter !== "") { noResultsRow.style.display = ""; } else { noResultsRow.style.display = "none"; } var results = document.getElementById("searchResults"); if (filter === "") { results.innerHTML = ""; } else { results.innerHTML = "Visar " + count + " av 1 adresser"; } document.getElementById("totalCount").innerText = count; } (function () { function initLiveUpdate() { var postId = 0; var classList = document.body.className; var match = classList.match(/postid-(\d+)/) || classList.match(/post-(\d+)/); if (match) { postId = match; } else { var article = document.querySelector('article'); if (article) { var m = article.id.match(/post-(\d+)/); if (m) { postId = m; } } } if (!postId) { return; } function fetchLiveData() { fetch('/wp-json/wp/v2/driftinformation/' + postId + '?_=' + Date.now()) .then(function (r) { return r.json(); }) .then(function (post) { if (!post.acf) { return; } var acf = post.acf; var etaEl = document.getElementById('dynamic-eta'); if (etaEl) { var etaTime = acf.eta_time || acf.uppskattad_atgardstid || acf.klartid || ''; etaEl.textContent = etaTime || 'Ej faststalld'; } var descEl = document.getElementById('dynamic-desc'); if (descEl) { descEl.textContent = acf.status_description || acf.statusbeskrivning || ''; } var timeRapporterad = document.getElementById('time-rapporterad'); var rapporteradTime = acf.tidsstampel_rapporterad || acf.tidpunkt_rapporterad || ''; if (timeRapporterad && rapporteradTime) { timeRapporterad.textContent = rapporteradTime; } var timeFels = document.getElementById('time-felsokning'); var felsokningTime = acf.tidsstampel_felsokning || acf.tidpunkt_felsokning || acf.tidpunkt_felsokning || ''; if (timeFels && felsokningTime) { timeFels.textContent = felsokningTime; } var timeRep = document.getElementById('time-reparation'); var reparationTime = acf.tidsstampel_pagaende || acf.tidpunkt_pagaende || acf.tidpunkt_pagaende || ''; if (timeRep && reparationTime) { timeRep.textContent = reparationTime; } var timeLost = document.getElementById('time-lost'); var lostTime = acf.tidsstampel_lost || acf.tidpunkt_lost || acf.tidstampel_lost || acf.tidstampel_lost || ''; if (timeLost && lostTime) { timeLost.textContent = lostTime; } var status = acf.current_status || acf.status || ''; updateTimelineVisuals(status); }) .catch(function () { return; }); } function updateTimelineVisuals(statusVal) { var s = (statusVal || '').toLowerCase(); var fill = document.getElementById('timeline-fill'); var steps = { rapporterad: document.getElementById('step-rapporterad'), felsokning: document.getElementById('step-felsokning'), reparation: document.getElementById('step-reparation'), lost: document.getElementById('step-lost') }; if (!fill || !steps.rapporterad) { return; } Object.keys(steps).forEach(function (key) { var el = steps; if (!el) { return; } el.className = 'step'; var circle = el.querySelector('.step-circle'); if (!circle) { return; } if (key === 'felsokning') { circle.textContent = '2'; } else if (key === 'reparation') { circle.textContent = '3'; } }); var rapporteradCircle = steps.rapporterad.querySelector('.step-circle'); if (rapporteradCircle) { rapporteradCircle.textContent = '✓'; } if (s.indexOf('rapporterad') > -1) { fill.style.width = '25%'; steps.rapporterad.className = 'step active'; } else if (s.indexOf('fels') > -1 || s.indexOf('sokning') > -1 || s.indexOf('sökning') > -1) { fill.style.width = '50%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step active'; } else if (s.indexOf('reparation') > -1 || s.indexOf('pagaende') > -1 || s.indexOf('pågående') > -1) { fill.style.width = '75%'; steps.rapporterad.className = 'step done'; steps.felsokning.className = 'step done'; steps.reparation.className = 'step active'; } else if (s.indexOf('lost') > -1 || s.indexOf('löst') > -1 || s.indexOf('klar') > -1) { fill.style.width = '100%'; Object.keys(steps).forEach(function (key) { if (steps) { steps.className = 'step done'; } }); } } fetchLiveData(); setInterval(fetchLiveData, 15000); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initLiveUpdate); } else { initLiveUpdate(); } })(); # Fibra AB > Fibra är ett kommunalt stadsnät i Västerås, Hallstahammar och Strängnäs. Bolaget äger och driver öppen fiberinfrastruktur — kunder väljer fritt bland flera tjänsteleverantörer för bredband, TV och telefoni. Fibra är ett dotterbolag till Mälarenergi. ## Anslutning - [Villa](https://fibra.se/villa/): Fiberanslutning för privatpersoner och villaägare. - [BRF och Samfälligheter](https://fibra.se/brf-smf/): Gruppanslutning för bostadsrättsföreningar och samfälligheter. - [Flerfamiljshus](https://fibra.se/flerfamiljshus/): Fiberanslutning för fastighetsägare med flerbostadshus. - [Företag](https://fibra.se/foretag/): Fiberanslutning för företag och verksamheter. - [Fiberkollen](https://fibra.se/fiberkollen/): Kontrollera om din adress kan anslutas till Fibras nät. ## Tjänster och Abonnemang - [Abonnemang](https://fibra.se/abonnemang/): Välj tjänsteleverantör för bredband, TV och telefoni i det öppna nätet. - [Kom igång](https://fibra.se/kommaigang/): Guide för nya kunder — installation och tjänsteval. - [Hastighetsguide](https://fibra.se/hastighetsguide/): Hjälp att välja rätt bredbandshastighet. ## Support - [Kundcenter](https://fibra.se/kundcenter/): Kontakt och öppettider. Tel: 0771-375 375. - [Driftinformation](https://fibra.se/drift/): Aktuella och planerade driftstörningar i Västerås, Hallstahammar, Strängnäs och Mariefred. - [Frågor och svar](https://fibra.se/fragor-och-svar/): FAQ om fiber, utrustning, felsökning, faktura och abonnemang. ## Om Fibra - [Vi är Fibra](https://fibra.se/vi-ar-fibra/): Företagsbeskrivning, ägarstruktur och verksamhetsområden. - [För tjänsteleverantörer](https://fibra.se/leverera-tjanster/): Information för operatörer som vill leverera tjänster i nätet. - [Nyheter](https://fibra.se/nyheter/): Aktuell information från Fibra.