summaryrefslogtreecommitdiff
path: root/static/register.js
blob: 89a37fad4da6c8388f3836158469108f1581971d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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!");
    }
}