diff options
Diffstat (limited to 'src/ws/view.js')
-rw-r--r-- | src/ws/view.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ws/view.js b/src/ws/view.js index b8ef19a..bdc5149 100644 --- a/src/ws/view.js +++ b/src/ws/view.js @@ -436,3 +436,58 @@ function changeState(e) break; } } + +function getCookie(cname) +{ + var name = cname + "="; + var decodedCookie = decodeURIComponent(document.cookie); + var ca = decodedCookie.split(';'); + for(var i = 0; i <ca.length; i++) + { + var c = ca[i]; + while (c.charAt(0) == ' ') + { + c = c.substring(1); + } + if (c.indexOf(name) == 0) + { + return c.substring(name.length, c.length); + } + } + return null; +} + +document.addEventListener("loggedInEvent", loggedInEventHandler, false); +function loggedInEventHandler(e) +{ + var loginOverlay = document.getElementById("login_overlay"); + loginOverlay.style.display = "none"; +} + +document.addEventListener("loggedOutEvent", loggedOutEventHandler, false); +function loggedOutEventHandler(e) +{ + var username = getCookie("username"); + var password = getCookie("password"); + if(username != null && password != null) + { + login(username, password); + return; + } + + var loginOverlay = document.getElementById("login_overlay"); + loginOverlay.style.display = "inherit"; +} + +function processLogin() +{ + var username = document.getElementById("username"); + var password = document.getElementById("password"); + var remember = document.getElementById("remember"); + if(remember.value == "on") + { + document.cookie = "username="+username.value+"; expires=Fri, 31 Dec 9999 23:59:59 GMT"; + document.cookie = "password="+password.value+"; expires=Fri, 31 Dec 9999 23:59:59 GMT"; + } + login(username.value, password.value); +} |