summaryrefslogtreecommitdiff
path: root/static/js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js')
-rwxr-xr-xstatic/js/register.js62
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