diff --git a/web/assets/js/login.js b/web/assets/js/login.js new file mode 100644 index 00000000..80d1b8d5 --- /dev/null +++ b/web/assets/js/login.js @@ -0,0 +1,49 @@ + +function readBody(xhr) { + var data; + if (!xhr.responseType || xhr.responseType === "text") { + data = xhr.responseText; + } else if (xhr.responseType === "document") { + data = xhr.responseXML; + } else { + data = xhr.response; + } + return data; +} + + +function doLogin() { + var url = "sapphire-api/lobby/login"; + var params = "{\"username\":\"" + document.getElementsByName('username')[0].value + "\",\"pass\":\"" + document.getElementsByName('password')[0].value + "\"}"; + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + try { + var response = readBody(xhr); + var parsed = JSON.parse(response); + window.external.Boot(parsed.sId, parsed.lobbyHost, parsed.frontierHost); + } catch(err) { + document.getElementById("Error").innerHTML = "Login failed."; + } + } + } + + xhr.send(params); +} + + +function keypressing(e) { + if (!e) e = window.event; + var keyCode = e.keyCode || e.which; + if (keyCode == '13'){ + doLogin(); + return false; + } +} + +document.getElementsByName('password')[0].addEventListener('keypress', function(event) { + return keypressing(event); +}); +document.getElementById('submitButton').addEventListener('click', doLogin);