summaryrefslogtreecommitdiff
path: root/static/js/register.js
blob: c87eadce4db864cada5241d5d2c14381ea5e13ba (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
63
64
65
66
67
68
69
70
71
72
73
74
75
function validateNick(n) {
    if (n.length <= 2) {
	return "BAD_NICK_LENGTH";
    }
}

// HOPE NO HACKERS ARE READING THIS :o
var ValidCodes = ['WAXWANYE23',
		    'HOTDUMPING5000','RHIZOME','VIP666','HEATNAP','anamanaguchi',];

function submitRegistration() {
    var nick = $('#nickInput').val();
    var email = $('#emailInput').val();
    var password = $('#passwordInput').val() || "";
    var code = $('#codeInput').val();

    if (nick.length < 3 || nick.length > 12) {
	alert("Nicks must be between 3 and 12 characters long.");
	return;
    } else if (password.length < 5) {
	alert("Password must be at least 5 characters long.");
	return;
    }

    if ($.inArray(code.toUpperCase(), ValidCodes) == -1) {
	alert("Bad registration code! Try again dude...." );
	return;
    }

    var hash = hex_sha1(nick + '$' + password + '$dumpfm');
    var onSuccess = function() {
	 if (typeof pageTracker !== 'undefined') {
          pageTracker._trackEvent('User', 'Register', nick);
        }
        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: 'POST',
        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!");
    }
}