diff --git a/Lab_3/Twidder/server.py b/Lab_3/Twidder/server.py
index d8b132cbeecff3417d820e9a1b25d4e9a0ba1be1..23fe8bb13353b4a7930818aad9e7a8beee445e8f 100644
--- a/Lab_3/Twidder/server.py
+++ b/Lab_3/Twidder/server.py
@@ -1,3 +1,4 @@
+
 """Server"""
 from flask import Flask, jsonify, request, make_response
 from gevent.pywsgi import WSGIServer
@@ -7,8 +8,6 @@ import json
 from flask_sock import Sock
 from gevent import monkey
 monkey.patch_all()
-
-
 #Remember:
 #PUT for updating data, POST for adding new data
 #save token on client and server (lab 3)
@@ -17,28 +16,18 @@ monkey.patch_all()
 # python3 server.py
 # http://127.0.0.1:5000/myServer
 # sqlite3 database.db ".read schema.sql"
-
 #Questions:
 #Why does localhost in URL not work?
-
-
-
 app = Flask(__name__, static_url_path = '/static')#in case flask does not recognize folder
 sock = Sock(app)
-
 app.debug = True
 session = {'token': ("email", "wsObj")}
-
-
-
 @app.route('/')
 def root():
     return app.send_static_file('client.html')
-
 @app.route('/myServer')
 def myServer():
     return app.send_static_file('client.html')
-
 def token_has_error(token):
     """All token standard error checks"""
     if token is None:
@@ -51,7 +40,6 @@ def token_has_error(token):
         #"User not signed in or invalid access token"  
         return True, 401
     return False, 0
-
 def input_has_error(input):
     """All standard input error checks"""
     try:
@@ -63,16 +51,12 @@ def input_has_error(input):
     if len(str) > 50:                        # "Server received too long " + str     
         return True, 400, ""
     return False, 0, str
-
-
 @sock.route('/myServer/api')
 def echo(socket):
     while True:
-
         # Making sure we have a valid socket
         if not socket:
             return
-
         # Making sure message format is OK and store email & token in string
         data = socket.receive()
         try:
@@ -83,24 +67,54 @@ def echo(socket):
             myToken = json.loads(data)["token"]
         except:
             return
-
-        # sign out if I am logged in somewhere else
-        print(session)
-        for token in list(session.keys()):
-            if session[token][0] == myEmail and token != myToken:
-                if session[token][1] != "":
-                    session[token][1].send(json.dumps({"action" : "signOut"}))
-                    session[token][1].close()
-                print("You got kicked out")
-                session.pop(token)
-        print(session)
-
-        # Put socket in global dict so server knows my connection is open
-        session[myToken] = (myEmail, socket)
-        print(session)
-        socket.send(json.dumps({"action" : "signIn"}))
+        try:
+            mode = json.loads(data)["mode"]
+        except:
+            return
+        
+        #When sign_in is called
+        if mode == 0:
+            print("/n")
+            print("Inside mode 0")
+            print("/n")
+            # sign out if I am logged in somewhere else
+            print("/n")
+            print(session)
+            print("/n")
+            for token in list(session.keys()):
+                if session[token][0] == myEmail and token != myToken:
+                    print("after first if")
+                    if session[token][1] != "":
+                        print("after second if")
+                        session[token][1].send(json.dumps({"action" : "signOut"}))
+                        session[token][1].close()
+                    print("You got kicked out")
+                    session.pop(token)
+            print("/n")
+            print(session)
+            print("/n")
+            print("-------------------------------")
+            # Put socket in global dict so server knows my connection is open
+            session[myToken] = (myEmail, socket)
+            print(session)
+            socket.send(json.dumps({"action" : "signIn"}))
+        #When sign_out is called
+        else:
+            # Close my socket
+            print("/n")
+            print("Inside mode 1")
+            print("/n")
+            print(session)
+            print("/n")
+            session[token][1].send(json.dumps({"action" : "signOut"}))
+            session[token][1].close()
+            session.pop(token)
+            print("/n")
+            print(session)
+            print("/n")
+    
+            #set user to not logged in
     
-
 @app.route("/myServer/sign_in", methods=['POST'])
 def sign_in():
     """Sign in user"""
@@ -110,21 +124,17 @@ def sign_in():
     if tmp[0]:
         return jsonify({}), tmp[1]
     email = tmp[2]
-
     # Validate Password
     tmp = input_has_error('password')
     if tmp[0]:
         return jsonify({}), tmp[1] 
     password = tmp[2]    
-
     # Do the user have an account?
     rows = database_helper.find_user(email)
     if rows is None or rows == []:
         return jsonify({}), 404  #"No user found by your email" 
-
     if password != rows[1]:
         return jsonify({}), 401 #"Incorrect password")          
-
     # Generate a random token 
     token = str(uuid.uuid4())
     session[token] = (email, "")
@@ -134,18 +144,14 @@ def sign_in():
     response.headers.add("Access-Control-Allow-Origin", "*")
     response.headers["Authorization"] = token
     return response, 204
-
-
 @app.route("/myServer/sign_up", methods=['POST'])
 def sign_up():
     """Sign up a user"""
-
     tmp = input_has_error('email')
     if tmp[0]:
-        print(tmp[1])
+   #     print(tmp[1])
         return jsonify({}), tmp[1]
     email = tmp[2]
-
     # Checking that the user does not already exist
     if database_helper.find_user(email) is not None:
         return jsonify({}), 409   #"Error: User already exists"     
@@ -176,14 +182,11 @@ def sign_up():
     if tmp[0]:
         return jsonify({}), tmp[1]
     country = tmp[2]
-
     # Attempts to insert the user data to the database
     if database_helper.create_user(email, password, firstname, familyname, gender, city, country):
         return jsonify({}), 204 #"Server inserted user data into database"
     else:
         return jsonify({}), 500 #"General Error: Server failed to insert user data into database" 
-
-
 @app.route("/myServer/sign_out", methods=['POST'])
 def sign_out():
     """Sign out user"""
@@ -194,118 +197,97 @@ def sign_out():
     if tmp[0]:
         return jsonify({}), tmp[1]
     
-    # Close my socket
-    print(session)
-    try:
-        session[token][1].close()
-    except:
-        pass # samma sak som ingenting
-    print(session)
-
-    # set user to not logged in
-    session.pop(token)
-
+    #--------------------------------------
+    # # Close my socket
+    # print(session)
+    # try:
+    #     session[token][1].close()
+    # except:
+    #     pass # samma sak som ingenting
+    # print(session)
+    
+    
+    # #set user to not logged in
+    # session.pop(token)
+    #--------------------------------------
     return jsonify({}), 204 # "Successfully signed out")
-
-
 @app.route("/myServer/change_password", methods=['PUT'])
 def change_password():
     """Change password for the current user"""
     token = request.headers["Authorization"]
-
     # Validate Token 
     tmp = token_has_error(token)
     if tmp[0]:
-        print("validate token")
+        #print("validate token")
         return jsonify({}), tmp[1]
-
     # Validate Old Password
     tmp = input_has_error('old_password')
     if tmp[0]:
-        print("validate old password")
+        #print("validate old password")
         return jsonify({}), tmp[1]
     old_password = tmp[2]
-
     # Validate New Password
     tmp = input_has_error('new_password')
     if tmp[0]:
-        print("validate new password")
+        #print("validate new password")
         return jsonify({}), tmp[1]
     new_password = tmp[2]
-
     # Extracting theemail of the current user
     email = session[token][0]
-
     # Validation of the old password and attemption to change it to the new one
     if old_password == database_helper.find_user(email)[1]: #checks if old_password is correct
         status = database_helper.update_user(new_password, email)
         if status: 
-            print("Password changed")
+           # print("Password changed")
             return jsonify({}), 204  # "Password has been changed!"  
         else:
             return jsonify({}), 500 # "Password has not been changed"
     else:
         return jsonify({}), 400 # "Old password is incorrect"
-
-
 @app.route("/myServer/getDataByToken", methods=['GET'])
 def get_user_data_by_token():
     """Verify current user through token and attemp to return the data of the user"""
     token = request.headers["Authorization"]
-
     # Validate token
     if token not in session:
         return jsonify({}), 401  # "User not signed in or invalid access token"
-
     # Extracting the email of the current user
     email = session[token][0]
     return get_user_data_by_email(email)
-
-
 @app.route("/myServer/getDataByEmail/<email>", methods=['GET'])
 def get_user_data_by_email(email):
     """Get user data by email"""
     token = request.headers["Authorization"]
-
     # Validate Token 
     tmp =  token_has_error(token)
     if tmp[0]:
         return jsonify({}), tmp[1]
-
     # Validate email
     if email is None:
         return True, 400   
     if len(email) > 50:   
         return True, 400
-
     # Attempting to find the data of the current user in the database
     data = database_helper.find_user(email)
     if data is None or data == []:
         return jsonify({}), 404 #"No user found by your destination email"
-
     formated_data = {"email": data[0], "firstname": data[2], "familyname": data[3], "gender": data[4], "city": data[5], "country": data[6]}
     return jsonify({"data" : formated_data}), 200 # "Data successfully sent to you!"
-
-
 @app.route("/myServer/getUserMessageByToken", methods=['GET'])
 def get_user_messages_by_token():
     """Get user's message wall thought the token of the user"""
     token = request.headers["Authorization"]
-
     # Validate Token 
     tmp = token_has_error(token)
     if tmp[0]:
         return jsonify({}), tmp[1]
-
     # Extracting the email of the current user 
     email = session[token][0]
     return get_user_messages_by_email(email)
-
 @app.route("/myServer/getMessagesByEmail/<req_email>", methods=['GET'])
 def get_user_messages_by_email(req_email):
     """Get user's message wall thought the email of the user"""
     token = request.headers["Authorization"]
-
     # Validate Token 
     tmp = token_has_error(token)
     if tmp[0]:
@@ -316,36 +298,28 @@ def get_user_messages_by_email(req_email):
         return True, 400   
     if len(req_email) > 50:   
         return True, 400
-
     # Find requested user in the data base
     rows = database_helper.find_user(req_email) 
-
     # Error check
     if rows is None or rows == []:     
         return jsonify({}), 404 #"No user found by your destination email"
-
     # Insert post-info into array
     rows = database_helper.get_post(req_email)
     result = []
     for row in rows:
          result.append({"email": row[0], "person_who_posted": row[1], "message": row[2]})
-
     # Notify user if the wall is empty or not, and if not, return the all messages
     if result == []:
         return jsonify({}), 204 #"user's wall had no messages to collect"
     return jsonify({"data" : result}), 200 # User posts has been displayed"
-
-
 @app.route("/myServer/post", methods=['POST'])
 def post_message():
     """Post a message on sombody's wall"""
-
     # Find out sender's email
     token = request.headers["Authorization"] 
     tmp = token_has_error(token)
     if tmp[0]:
         return jsonify({}), tmp[1]
-
     # Extracting the email of the current user
     my_email = session[token][0]
     
@@ -354,24 +328,19 @@ def post_message():
     if tmp[0]:
         return jsonify({}), tmp[1]
     destination_email = tmp[2]
-
     # Finding out if the user exist, who we wanna write a message to
     rows = database_helper.find_user(destination_email) 
     if rows is None or rows == []:
         return jsonify({}), 404 #"No user found by your destination email"
-
     # Verify message that we want to post
     tmp = input_has_error('message')
     if tmp[0]:
         return jsonify({}), tmp[1]
     message = tmp[2]
-
     # Calling and error checking function
     if not database_helper.create_post(my_email, destination_email, message):
         return jsonify({}), 500 #"Server failed to post message to database"
     return jsonify({}), 204 #"Succeeded to post message")
-
-
 if __name__ == '__main__':
     # app.run(port=5000, debug=True)
     app.debug = True
diff --git a/Lab_3/Twidder/static/client.js b/Lab_3/Twidder/static/client.js
index a4995c8c8e36ea8091923a9d74a35ceb0cb90c13..e4000ec28e63d95551b59a3815e210ffda7ce0b3 100644
--- a/Lab_3/Twidder/static/client.js
+++ b/Lab_3/Twidder/static/client.js
@@ -1,3 +1,4 @@
+
 // Global variables
 var minPassLength = 2;
 var windowDiv;
@@ -6,45 +7,62 @@ var profileDiv;
 var url = 'http://' + document.domain + ':5000/myServer/';
 var curr_page = "";
 var socket;
-
 // source "/Users/lorenzo/OneDrive - Linköpings universitet/Skola/DI3B/TDDD97/virtualenv/bin/activate"
-
-
-function connectWithSocket() {
+function allowDrop(event) {
+    event.preventDefault();
+}
+function drag(event) {
+    event.dataTransfer.setData("text/plain", event.target.innerHTML);
+}
+function dropHome(event) {
+    event.preventDefault();
+    let data = event.dataTransfer.getData("text/plain");
+    // Replaces parts of the string. "g" gör att alla accurences av substringen byts ut
+    let newStr = data.replace(/<br>/g, "\n");
+    // newStr = tmp.replace(/   /g, '');
+    document.getElementById("homeTextarea").innerHTML = newStr;
+}
+function dropBrowse(event) {
+    event.preventDefault();
+    let data = event.dataTransfer.getData("text/plain");
+    // Replaces parts of the string. "g" gör att alla accurences av substringen byts ut
+    let newStr = data.replace(/<br>/g, "\n");
+    // newStr = tmp.replace(/   /g, '');
+    document.getElementById("browseTextarea").innerHTML = newStr;
+}
+// Socket
+function connectWithSocket(mode) {
     let token = localStorage.getItem("currentUser");
-            
     // Changes the view to profile view and loads user info
     displayView();
     setUserDetails("home");
-
-
     // Establish web socket
     socket = new WebSocket('ws://' + document.domain + ':5000/myServer/api');
-
     socket.onopen = function (event) {
         let myEmail = localStorage.getItem("homeEmail");
-
+        if (mode == 0) {//Once sign_in is called
+            console.log("Inside connectWithSocket mode 0")
+            this.send(JSON.stringify({ token: token, email: myEmail, mode: mode }));
+        }
+        else {//Once sign_out is called
+            console.log("Inside connectWithSocket mode 1")
+            this.send(JSON.stringify({ token: token, email: myEmail, mode: mode }));
+        }
         // Todo - ändra så att token skickas i header istället
-        this.send(JSON.stringify({token: token, email: myEmail}));
         console.log("Nu har jag skickat");
     }
-
     socket.onmessage = function (event) {
         let response = JSON.parse(event.data);
-
-        console.log("Nu fick jag svar"); 
+        console.log("Nu fick jag svar");
         switch (response["action"]) {
             case "signOut":
-
                 // If old socket open, close it.
                 socket.close();
                 console.log(response);
-
                 // Reset token in the localStorage
                 localStorage.setItem("currentUser", "");
                 localStorage.setItem("homeEmail", "");
                 localStorage.setItem("browseEmail", "");
-
                 // Changes the view to welcome view
                 displayView();
                 document.getElementById("error").innerHTML = "Signed Out, you signed in elsewhere";
@@ -53,50 +71,46 @@ function connectWithSocket() {
                 console.log(response);
                 console.log("ja är signed in");
                 break;
-        } 
+        }
     }
 }
-
-
 // - - - - - Init Request Objects - - - - - //
-
 // Sign In Request Object
 var signInRequest = new XMLHttpRequest();
-signInRequest.onreadystatechange = function() {
+signInRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
-
         let errorMessage = document.getElementById("error");
         if (this.status == 204) {
-            let token = this.getResponseHeader("Authorization")
+            let token = this.getResponseHeader("Authorization");
             localStorage.setItem("currentUser", token);
-            connectWithSocket();
+            console.log("Inside SignInRequest")
+            connectWithSocket(0);
         }
         else if (this.status == 400) {
-            errorMessage.innerHTML = "Error 400: Incorrect format"; 
+            errorMessage.innerHTML = "Error 400: Incorrect format";
         }
         else if (this.status == 404) {
-            errorMessage.innerHTML = "Error 404: No user with that email exists"; 
+            errorMessage.innerHTML = "Error 404: No user with that email exists";
         }
         else if (this.status == 401) {
-            errorMessage.innerHTML = "Error 401: Incorrect password"; 
+            errorMessage.innerHTML = "Error 401: Incorrect password";
         }
         else {
-            errorMessage.innerHTML = "Unknown error"; 
-        } 
+            errorMessage.innerHTML = "Unknown error";
+        }
     }
 };
-
 // Sign Out Request Object
 var signOutRequest = new XMLHttpRequest();
-signOutRequest.onreadystatechange = function() {
+signOutRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
+        // Reset token in the localStorage
+        localStorage.setItem("currentUser", "");
+        localStorage.setItem("homeEmail", "");
+        localStorage.setItem("browseEmail", "");
+        console.log("Inside signOutRequest")
         if (this.status == 204) {
-
-            // Reset token in the localStorage
-            localStorage.setItem("currentUser", "");
-            localStorage.setItem("homeEmail", "");
-            localStorage.setItem("browseEmail", "");
-
+            connectWithSocket(1);
             // Changes the view to welcome view
             displayView();
         }
@@ -107,15 +121,13 @@ signOutRequest.onreadystatechange = function() {
         else {
             console.log("Unknown error");
             displayView();
-        } 
+        }
     }
 };
-
 // Sign Up Request Object
 var signUpRequest = new XMLHttpRequest();
 signUpRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
-
         let errorMessage = document.getElementById("error");
         if (this.status == 204) {
             errorMessage.innerHTML = "You have signed up";
@@ -128,18 +140,16 @@ signUpRequest.onreadystatechange = function () {
         }
         else if (this.status == 500) {
             errorMessage.innerHTML = "Error 500: Error at server side";
-            }
+        }
         else {
             errorMessage.innerHTML = "Unknown error";
         }
     }
 };
-
 // Change Password Request Object
 var ChangePassRequest = new XMLHttpRequest();
 ChangePassRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
-
         let errorMessage = document.getElementById("match_error");
         if (this.status == 204) {
             errorMessage.innerHTML = "Password has been changed!";
@@ -148,26 +158,23 @@ ChangePassRequest.onreadystatechange = function () {
             errorMessage.innerHTML = "Error 400: Old password is incorrect or Old/New password has wrong format"
         }
         else if (this.status == 401) {
-            errorMessage.innerHTML = "Error 401: You are not logged in"
+            errorMessage.innerHTML = "Error 401: You are not logged in";
         }
         else if (this.status == 500) {
             errorMessage.innerHTML = "Error 500: Error at server side";
         }
         else {
-            errorMessage.innerHTML = "Unknown error"
+            errorMessage.innerHTML = "Unknown error";
         }
         errorMessage.style.display = "block";
     }
 };
-
 // Get user data by token Request Object
 var dataByTokenRequest = new XMLHttpRequest();
-dataByTokenRequest.onreadystatechange = function() {
+dataByTokenRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
         if (this.status == 200) {
-            
             let userDataArray = JSON.parse(this.responseText);
-
             // Putting the user data we retrieved from server to the corresponding html table
             let userTable = document.getElementById("homeUserInfo");
             userTable.rows[0].cells[1].innerHTML = userDataArray["data"].email;
@@ -176,7 +183,6 @@ dataByTokenRequest.onreadystatechange = function() {
             userTable.rows[3].cells[1].innerHTML = userDataArray["data"].gender;
             userTable.rows[4].cells[1].innerHTML = userDataArray["data"].city;
             userTable.rows[5].cells[1].innerHTML = userDataArray["data"].country;
-
             localStorage.setItem("homeEmail", userDataArray["data"].email);
             reloadWall("home");
         }
@@ -194,17 +200,13 @@ dataByTokenRequest.onreadystatechange = function() {
         }
     }
 };
-
 // Get user data by email Request Object
 var dataByEmailRequest = new XMLHttpRequest();
-dataByEmailRequest.onreadystatechange = function() {
+dataByEmailRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
-
         let errorMessage = document.getElementById("searchMessage");
         if (this.status == 200) {
-           
             let userDataArray = JSON.parse(this.responseText);
-
             // Putting the user data we retrieved from server to the corresponding html table
             let userTable = document.getElementById("browseUserInfo");
             userTable.rows[0].cells[1].innerHTML = userDataArray["data"].email;
@@ -213,38 +215,33 @@ dataByEmailRequest.onreadystatechange = function() {
             userTable.rows[3].cells[1].innerHTML = userDataArray["data"].gender;
             userTable.rows[4].cells[1].innerHTML = userDataArray["data"].city;
             userTable.rows[5].cells[1].innerHTML = userDataArray["data"].country;
-
             localStorage.setItem("browseEmail", userDataArray["data"].email);
             errorMessage.iinnerHTML = ""
             reloadWall("browse");
         }
         else {
             if (this.status == 401) {
-                errorMessage.innerHTML = "Error 401: You are not loged in"; 
+                errorMessage.innerHTML = "Error 401: You are not loged in";
             }
             else if (this.status == 400) {
-                errorMessage.innerHTML = "Error 400: Incorrect format"; 
+                errorMessage.innerHTML = "Error 400: Incorrect format";
             }
             else if (this.status == 404) {
-                errorMessage.innerHTML = "Error 404: No user with that email exists"; 
+                errorMessage.innerHTML = "Error 404: No user with that email exists";
             }
             else {
-                errorMessage.innerHTML = "Unknown error"; 
-            } 
+                errorMessage.innerHTML = "Unknown error";
+            }
             localStorage.setItem("browseEmail", "");
         }
     }
 };
-
 // Get Messages By Token Request Object
 var messagesByTokenRequest = new XMLHttpRequest();
-messagesByTokenRequest.onreadystatechange = function() {
+messagesByTokenRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
-
         if (this.status == 200) {
-           
             let currentWall = JSON.parse(this.responseText);
-
             // Formating the text before putting to wall
             let complete = "";
             for (let i = 0; i < currentWall.data.length; i++) {
@@ -266,26 +263,21 @@ messagesByTokenRequest.onreadystatechange = function() {
         }
         else {
             console.log("Unknown error");
-        } 
+        }
     }
 };
-
 // Get Messages By Email Request Object
 var messagesByEmailRequest = new XMLHttpRequest();
-messagesByEmailRequest.onreadystatechange = function() {
+messagesByEmailRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
-
         if (this.status == 200) {
-           
             let currentWall = JSON.parse(this.responseText);
-
             // Fromating the text before putting to wall
             let complete = "";
             for (let i = 0; i < currentWall.data.length; i++) {
                 complete += currentWall.data[i].person_who_posted + ':   ' + currentWall.data[i].message + "</br>";
             }
             document.getElementById('browsePostedMessagesDiv').innerHTML = complete;
-
         }
         else if (this.status == 204) {
             console.log("Success, but no messages to receive");
@@ -301,17 +293,15 @@ messagesByEmailRequest.onreadystatechange = function() {
         }
         else {
             console.log("Unknown error");
-        } 
+        }
     }
 };
-
 // Post Message Request Object
 var postMessageRequest = new XMLHttpRequest();
 postMessageRequest.onreadystatechange = function () {
     if (this.readyState == 4) {
-
         let errorMessage = document.getElementById('searchMessage');
-        if (this.status == 204) {   
+        if (this.status == 204) {
             console.log('Message posted!')
             errorMessage.innerHTML = "";
             if (curr_page != null && curr_page != "")
@@ -334,28 +324,20 @@ postMessageRequest.onreadystatechange = function () {
         }
     }
 };
-
-
 // - - - - - Init functions - - - - - //
-
 // Function for displaying the right view
-displayView = function(){
+displayView = function () {
     if (localStorage.getItem("currentUser") == "")
         windowDiv.innerHTML = welcomeDiv.innerHTML;
     else
         windowDiv.innerHTML = profileDiv.innerHTML;
 };
-
-
 // - - - - - The function when page loads - - - - - //
-
 window.onload = function () {
-
     // Delete when done - används för att hoppa tillbaka till rtt view under utveckling
     // localStorage.setItem("currentUser", "");
     // localStorage.setItem("homeEmail", "");
     // localStorage.setItem("browseEmail", "");
-
     // All key/value pairs stored in out localStorage
     // If first time? check this:
     if (localStorage.getItem("homeEmail") == null)
@@ -364,56 +346,46 @@ window.onload = function () {
         localStorage.setItem("browseEmail", "");
     if (localStorage.getItem("currentUser") == null)
         localStorage.setItem("currentUser", "");
-    
     // Initialize div objects (global variables)
     welcomeDiv = document.getElementById("welcomeview");
     profileDiv = document.getElementById("profileview");
     windowDiv = document.getElementById("windowDiv");
-    
     if (localStorage.getItem("currentUser") != "") {//if logged in
-        connectWithSocket();
+        connectWithSocket(0);
     }
     else {
         // Set correct view depending on if someone is signed in or not
         displayView();
     }
 };
-
-
 // Function for setting user details, either for yourself or for some other user
 function setUserDetails(who) {
-
     // "who" could be either home or browse, this way know which info we are displaying and where
     let token = localStorage.getItem("currentUser");
-    if (token != null && token != "" ){
+    if (token != null && token != "") {
         let userTable = document.getElementById(who + "UserInfo");
         let email = localStorage.getItem(who + "Email");
-
         // Display my own info
         if (who == 'home') {
             // Send request to server about receiving the info
             dataByTokenRequest.open("GET", url + "getDataByToken", true);
             dataByTokenRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-            dataByTokenRequest.setRequestHeader("Authorization", token)
+            dataByTokenRequest.setRequestHeader("Authorization", token);
             dataByTokenRequest.send();
         }
-
         // Display the info about the searched user
         else if (who == 'browse' && email != null && email != "") {
             // Send request to server about receiving the info
             dataByEmailRequest.open("GET", url + "getDataByEmail/" + email, true);
             dataByEmailRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-            dataByEmailRequest.setRequestHeader("Authorization", token)
+            dataByEmailRequest.setRequestHeader("Authorization", token);
             dataByEmailRequest.send();
         }
     }
     return false;
 }
-
 // - - - - - Sign Up/In/Out - - - - - //
-
 function sign_up() {
-
     let form = document.getElementById("signup_form");
     let errorMess = document.getElementById("signUpError");
     let user = {
@@ -426,15 +398,12 @@ function sign_up() {
         password: form[6].value,
         repeat_password: form[7].value
     };
-
-
     // Error checks
     if (user.password.length < minPassLength)
         errorMess.innerHTML = "Password's length is too short";
     else if (user.password != user.repeat_password)
         errorMess.innerHTML = "Passwords does not match";
     else {
-
         // Sending sign_ou request to "server"
         signUpRequest.open("POST", url + "sign_up", true);
         signUpRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
@@ -442,44 +411,33 @@ function sign_up() {
     }
     return false;
 }
-
 function sign_in() {
     let form = document.getElementById("sign_in_form");
     let email = form[0].value;
     let password = form[1].value;
     let errorMess = document.getElementById("error");
-  
     // Error checks
     if (password.length < minPassLength)
         errorMess.innerHTML = "Password's length is too short";
     else {
-
         // Sending sign_in request to "server"
         signInRequest.open("POST", url + "sign_in", true);
         signInRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-        signInRequest.send(JSON.stringify({email: email,password: password}));
+        signInRequest.send(JSON.stringify({ email: email, password: password }));
     }
     return false;
 }
-
-function sign_out(){
+function sign_out() {
     let token = localStorage.getItem("currentUser");
-
     // Sending sign_out request to "server"
     signOutRequest.open("POST", url + "sign_out", true);
     signOutRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-    signOutRequest.setRequestHeader("Authorization", token)
+    signOutRequest.setRequestHeader("Authorization", token);
     signOutRequest.send();
-
     return false;
 }
-
-
-
 // - - - - - Changing tabs - - - - - //
-
 function showPage(ourEvent, name) {
-
     // - - Fixing the tabs - - //
     // Unselect all
     let tabcontent = document.getElementById("tabDiv");
@@ -489,8 +447,6 @@ function showPage(ourEvent, name) {
     // Select only the one we want
     let div = ourEvent.target;
     div.style.backgroundColor = "lightgreen";
-
-
     // - - Fixing the content - - //
     // Unselect all
     let allPages = document.getElementsByClassName("tabcontent");
@@ -500,22 +456,16 @@ function showPage(ourEvent, name) {
     // Select only the one we want
     let selected_tab = document.getElementById(name);
     selected_tab.style.display = "block";
-
     return false;
 }
-
-
-
 // - - - - - Changing Password - - - - - //
-
 //Function for changing password
-function change_password(ourEvent){
+function change_password(ourEvent) {
     let old_pass = document.getElementById("old_password").value;
     let new_pass = document.getElementById("new_password").value;
     let confirm_pass = document.getElementById("confirm_pass").value;
     let token = localStorage.getItem("currentUser");
     let error_text = document.getElementById("match_error");
-
     // New password have to be entered twice, otherwise throw error
     if (new_pass.length < minPassLength) {
         error_text.innerHTML = "New password too short";
@@ -526,82 +476,68 @@ function change_password(ourEvent){
     else {
         ChangePassRequest.open("PUT", url + "change_password", true);
         ChangePassRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-        ChangePassRequest.setRequestHeader("Authorization", token)
-        ChangePassRequest.send(JSON.stringify({old_password:old_pass, new_password:new_pass}));
+        ChangePassRequest.setRequestHeader("Authorization", token);
+        ChangePassRequest.send(JSON.stringify({ old_password: old_pass, new_password: new_pass }));
     }
     return false;
 }
-
 // - - - - - Changing the wall - - - - - //
-
 // Submit text button
-function updateWall(who){
+function updateWall(who) {
     // "who" could be either home or browse, this way know which wall to write on 
     let messageToWall = document.getElementById(who + 'Textarea').value;
     let errorMessage = document.getElementById('searchMessage');
     let token = localStorage.getItem("currentUser");
     let email = localStorage.getItem(who + "Email");
     curr_page = who;
-
     if (email != null && email != "" && token != null && token != "") {
-
         // Send user's message to the server
         postMessageRequest.open("POST", url + "post", true);
         postMessageRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-        postMessageRequest.setRequestHeader("Authorization", token)
+        postMessageRequest.setRequestHeader("Authorization", token);
         postMessageRequest.send(JSON.stringify({ email: email, message: messageToWall }));
-
         errorMessage.innerHTML = "";
     }
-    else{
+    else {
         errorMessage.innerHTML = "No user selected to write to";
     }
-
     // Clear the text area the user just wrote in
     document.getElementById(who + 'Textarea').value = "";
     return false;
 }
-
 // Reload button
 function reloadWall(who) {
     // "who" could be either home or browse, this way know which wall to load to 
     let token = localStorage.getItem("currentUser");
     let email = localStorage.getItem(who + "Email");
-
     // If wanting messages from my own wall
     if (who == 'home') {
         // Send request to server about receiving the info
         messagesByTokenRequest.open("GET", url + "getUserMessageByToken", true);
         messagesByTokenRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-        messagesByTokenRequest.setRequestHeader("Authorization", token)
+        messagesByTokenRequest.setRequestHeader("Authorization", token);
         messagesByTokenRequest.send();
     }
-
     // If wanting messages from another's wall
     else if (who == 'browse' && email != null && email != "") {
         // Send request to server about receiving the info
         messagesByEmailRequest.open("GET", url + "getMessagesByEmail/" + email, true);
         messagesByEmailRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
-        messagesByEmailRequest.setRequestHeader("Authorization", token)
+        messagesByEmailRequest.setRequestHeader("Authorization", token);
         messagesByEmailRequest.send();
-    }    
-
+    }
     return false;
 }
-
 // Changing another's wall
-function searchAnotherUser(event){
+function searchAnotherUser(event) {
     let token = localStorage.getItem("currentUser");
-
     // Reseting the error messages
     document.getElementById('searchMessage').innerHTML = "";
-
-    if(token != "") {
-
+    if (token != "") {
         // Store the searched email in localStorage so that it can be reached in "setUserDetails()"
         let email = event.target["searchInput"].value;
         localStorage.setItem("browseEmail", email);
         setUserDetails("browse");
     }
     return false;
-}
\ No newline at end of file
+}