diff options
Diffstat (limited to 'js')
| -rw-r--r-- | js/user.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/user.js b/js/user.js new file mode 100644 index 0000000..de95274 --- /dev/null +++ b/js/user.js @@ -0,0 +1,36 @@ +var user = new function(){} +user.init = function(){ + user.username = user.getCookie() + $("#username").val(user.username) + user.bind() +} +user.bind = function(){ + $("#username").on("input", user.save) +} +user.sanitize = function(){ + return $("#username").val().replace(/[^-_ a-zA-Z0-9]/g,"") +} +user.getCookie = function () { + var username = localStorage.getItem("im.name") || ""; + if (document.cookie && ! username.length) { + var cookies = document.cookie.split(";") + for (i in cookies) { + var cookie = cookies[i].split("=") + if (cookie[0].indexOf("imname") !== -1) { + if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length) { + return cookie[1] + } + } + } + } + return username +} +user.save = function(){ + var username = user.sanitize() + if (username != user.username) user.setCookie(username); +} +user.setCookie = function(username){ + console.log("setting to " + username) + document.cookie = "imname="+username+";path=/;domain=.asdf.us;max-age=1086400" + localStorage.setItem("im.name", username); +} |
