diff options
Diffstat (limited to 'static/js')
| -rwxr-xr-x | static/js/register.js | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/static/js/register.js b/static/js/register.js new file mode 100755 index 0000000..89a37fa --- /dev/null +++ b/static/js/register.js @@ -0,0 +1,62 @@ +function validateNick(n) { + if (n.length <= 2) { + return "BAD_NICK_LENGTH"; + } +} + +function submitRegistration() { + var nick = $('#nickInput').val(); + var email = $('#emailInput').val(); + var password = $('#passwordInput').val() || ""; + var hash = hex_sha1(nick + '$' + password + '$dumpfm'); + + if (nick.length < 3) { + alert("Nicks must be at least 3 characters long."); + return; + } else if (password.length < 5) { + alert("Password must be at least 5 characters long."); + return; + } + + var onSuccess = function() { + location.href = "/"; + }; + + var onError = function(resp) { + var respText = resp.responseText ? resp.responseText.trim() : false; + if (respText == 'NICK_TAKEN') { + alert("That nick is already taken! Please choose another."); + } else if (respText == 'NICK_INVALID_CHARS') { + alert("Nicks can only contain letters and numbers."); + } else { + alert("Unable to register!"); + } + }; + + $.ajax({ + type: 'GET', + timeout: 5000, + url: 'submit-registration', + data: {'nick': nick, 'email': email, 'hash': hash }, + cache: false, + dataType: 'json', + success: onSuccess, + error: onError + + }); +} + +function initRegister() { + $('#submit').click(submitRegistration); +} + +function handleMsgError(resp) { + var respText = resp.responseText ? resp.responseText.trim() : false; + if (respText == 'UNKNOWN_USER') { + alert("Can't send message! Please login."); + } else if (respText) { + alert("Cannot send message! (" + respText + ")"); + } else { + alert("Cannot send message!"); + } +}
\ No newline at end of file |
