diff --git a/css/style.css b/css/style.css
index d7a4b83141a26120d1f65e14bb114a42522a35ef..38a8717b7df7f8cf9f2183afeb456bfa05daf897 100644
--- a/css/style.css
+++ b/css/style.css
@@ -68,11 +68,11 @@
     transition: 0.5s;
 }
 
-#dialog {
+#fileSelect {
     display: none;
 }
 
-#clickOpen {
+#onClick {
     font-family: monospace;
     font-size: larger;
     background-color: orangered;
diff --git a/index.html b/index.html
index 194d26b6be85815e8f09c2c402526c28d570c17d..cb65adf1926e1a157d3e09b6d259a0d3be3b4530 100644
--- a/index.html
+++ b/index.html
@@ -46,8 +46,8 @@
             </div>
 
             <div style="margin-left: 10px; margin-top: 5px; margin-bottom: 5px;">
-                <input type="file" none="dialog" id="dialog" multiple>
-                <button id="clickOpen" onclick="clickMe()">Click here to open new layers</button>
+                <input type="file" none="dialog" id="fileSelect" multiple>
+                <button id="onClick" accept=".zip" onclick="clickMe()">Click here to open new layers</button>
             </div>
 
             <div style="margin-left: 10px; font-size: 18px; height: 50vh;">
@@ -56,86 +56,84 @@
         </div>
         
         <div id="map" style="position: relative; z-index: 1; height: 80vh;">
-            <div id="drop_zone">
-                <div style="display: flex; flex-grow: 2; flex-direction: column;">
-                    <div style="height: 72vh;">
-                        <div id="bufferBox" class="box">
-                            <div class="box3">
-                                <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Buffer</h1>
-                                
-                                <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('bufferBox')"
-                                xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
-                                    <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
-                                </svg>
-                            </div>
-                        </div>
-
-                        <div id="intersectionBox" class="box">
-                            <div class="box3">
-                                <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Intersection</h1>
-                                
-                                <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('intersectionBox')"
-                                xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
-                                    <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
-                                </svg>
-                            </div>
-                        </div>
-
-                        <div id="unionBox" class="box">
-                            <div class="box3">
-                                <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Union</h1>
-                                
-                                <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('unionBox')"
-                                xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
-                                    <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
-                                </svg>
-                            </div>
+            <div style="display: flex; flex-grow: 2; flex-direction: column;">
+                <div style="height: 72vh;">
+                    <div id="bufferBox" class="box">
+                        <div class="box3">
+                            <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Buffer</h1>
+                            
+                            <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('bufferBox')"
+                            xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
+                                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
+                            </svg>
                         </div>
+                    </div>
 
-                        <div id="differenceBox" class="box">
-                            <div class="box3">
-                                <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Difference</h1>
-                                
-                                <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('differenceBox')"
-                                xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
-                                    <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
-                                </svg>
-                            </div>
+                    <div id="intersectionBox" class="box">
+                        <div class="box3">
+                            <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Intersection</h1>
+                            
+                            <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('intersectionBox')"
+                            xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
+                                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
+                            </svg>
                         </div>
+                    </div>
 
-                        <div id="tutorialBox" class="box">
-                            <div class="box3">
-                                <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Tutorial</h1>
-                                
-                                <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('tutorialBox')"
-                                xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
-                                    <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
-                                </svg>
-                            </div>
+                    <div id="unionBox" class="box">
+                        <div class="box3">
+                            <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Union</h1>
                             
-                            <p style="margin: 2vw; padding: 5px; background-color: white; border-color: black;
-                            border-width: 2px; color: black; height: 18vh; width: 35vw; text-align: left;">
-                                Legg til piler på hver side av 'Tutorial' for å navigere rundt blant de ulike tutorialene.
-                            </p>
+                            <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('unionBox')"
+                            xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
+                                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
+                            </svg>
                         </div>
                     </div>
 
-                    <div class="box2">
-                        <div style="padding-left: 2vw;">
-                            <svg style="cursor: pointer; border: none; position: absolute; color: orangered; z-index: 999;" onclick="openNav()"
-                            xmlns="http://www.w3.org/2000/svg" width="6vh" height="6vh" fill="currentColor" class="bi bi-plus-circle-fill" viewBox="0 0 16 16">
-                                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z"/>
+                    <div id="differenceBox" class="box">
+                        <div class="box3">
+                            <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Difference</h1>
+                            
+                            <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('differenceBox')"
+                            xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
+                                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
                             </svg>
                         </div>
+                    </div>
 
-                        <div style="width: 95vw;"></div>
-                        
-                        <div style="padding-right: 2vw;">
-                            <svg style="cursor: pointer; border: none; position: relative; color: orangered; z-index: 999;" onclick="openBox('tutorialBox')"
-                            xmlns="http://www.w3.org/2000/svg" width="6vh" height="6v" fill="currentColor" class="bi bi-question-circle-fill" viewBox="0 0 16 16">
-                                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z"/>
+                    <div id="tutorialBox" class="box">
+                        <div class="box3">
+                            <h1 style="font-size: 4vh; text-align: center; width: 36vw;">Tutorial</h1>
+                            
+                            <svg style="cursor: pointer; padding-top: 15px;" onclick="closeBox('tutorialBox')"
+                            xmlns="http://www.w3.org/2000/svg" width="3vw" height="3vw" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
+                                <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
                             </svg>
                         </div>
+                        
+                        <p style="margin: 2vw; padding: 5px; background-color: white; border-color: black;
+                        border-width: 2px; color: black; height: 18vh; width: 35vw; text-align: left;">
+                            Legg til piler på hver side av 'Tutorial' for å navigere rundt blant de ulike tutorialene.
+                        </p>
+                    </div>
+                </div>
+
+                <div class="box2">
+                    <div style="padding-left: 2vw;">
+                        <svg style="cursor: pointer; border: none; position: absolute; color: orangered; z-index: 999;" onclick="openNav()"
+                        xmlns="http://www.w3.org/2000/svg" width="6vh" height="6vh" fill="currentColor" class="bi bi-plus-circle-fill" viewBox="0 0 16 16">
+                            <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z"/>
+                        </svg>
+                    </div>
+
+                    <div style="width: 95vw;"></div>
+                    
+                    <div style="padding-right: 2vw;">
+                        <svg style="cursor: pointer; border: none; position: relative; color: orangered; z-index: 999;" onclick="openBox('tutorialBox')"
+                        xmlns="http://www.w3.org/2000/svg" width="6vh" height="6v" fill="currentColor" class="bi bi-question-circle-fill" viewBox="0 0 16 16">
+                            <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z"/>
+                        </svg>
                     </div>
                 </div>
             </div>
@@ -144,8 +142,10 @@
         <script src="javascript/map.js"></script>
         <script src="javascript/sidebar&boxes.js"></script>
         <script src="javascript/openFileFromExplorer.js"></script>
-
+        
+        <script src="javascript/index.js"></script>
         <script src="https://unpkg.com/shpjs@latest/dist/shp.js"></script>
+        <script src="https://unpkg.com/shapefile@0.6"></script>
 
     </body>
 </html>
diff --git a/javascript/index.js b/javascript/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..8ef2133d5e688e60054129ffcd7889ae81ab355a
--- /dev/null
+++ b/javascript/index.js
@@ -0,0 +1,63 @@
+/*
+Kode hentet fra: https://github.com/ducduy10k/Read-data-from-file---Mapbox/blob/main/index.js
+*/
+
+function handleReadFile() {
+  let file = document.getElementById("fileSelect").files[0];
+  if (file) {
+    let ext = getExtension(file.name);
+    switch (ext) {
+      case "zip":
+        document.getElementById("layers").innerHTML = "Ja";
+        readDataFromShpZipFile(file);
+        break;
+      default:
+        alert("Invalid file ");
+    }
+  }
+}
+
+function getExtension(filename) {
+  var parts = filename.split(".");
+  return parts[parts.length - 1];
+}
+
+document.getElementById("fileSelect").addEventListener("change", handleReadFile());
+
+function readDataFromShpZipFile(file) {
+  const reader = new FileReader();
+  //document.getElementById("layers").innerHTML = "Ja";
+  reader.onload = (event) => {
+    shp(reader.result).then(function (fc) {
+      if (fc.features.length > 0) {
+        onHightLight(fc);
+      }
+    });
+  };
+  reader.readAsArrayBuffer(file);
+}
+
+function onHightLight(data) {
+  clearLayerFeature();
+  map.addSource("source-hightlight", {
+    type: "geojson",
+    data: data,
+  });
+  map.addLayer({
+    id: "layer-hightlight",
+    type: "line",
+    source: "source-hightlight",
+    layout: {},
+    paint: {
+      "line-color": "red",
+      "line-width": 2,
+    },
+  });
+}
+
+function clearLayerFeature() {
+  if (map.getLayer("layer-hightlight")) {
+    map.removeLayer("layer-hightlight");
+    map.removeSource("source-hightlight");
+  }
+}
\ No newline at end of file
diff --git a/javascript/openFileFromExplorer.js b/javascript/openFileFromExplorer.js
index 7afb68130253fc63f7414374cc332e4c277077bc..f54b865d1b1d8e6a9fc7b401fdcbe8a6f89e38d2 100644
--- a/javascript/openFileFromExplorer.js
+++ b/javascript/openFileFromExplorer.js
@@ -1,16 +1,6 @@
-const clickOpen = document.getElementById("clickOpen"); // Knappen vi gir funksjonalitet
-const dialog = document.getElementById("dialog"); // Input-feltet vi har skjult, men som lagrer dataen som velges
+const clickOpen = document.getElementById("onClick"); // Knappen vi gir funksjonalitet
+const dialog = document.getElementById("fileSelect"); // Input-feltet vi har skjult, men som lagrer dataen som velges
 
 function clickMe() {
     dialog.click();
 }
-
-dialog.addEventListener("input", () => {
-    if (dialog.files.length) {
-        for (i = 0; i < dialog.files.length; i++) {
-            var file = shp(dialog.files[i].name);
-            L.geoJSON().addData(file).addTo(map);
-            document.getElementById("layers").innerHTML += "Hei!";
-        }
-    }
-});