var default_username_msg = "Only letters, numbers, and '_'.";

function show_message(element, color, message) {
    $(element).style.color = color;
    $(element).innerHTML = message;
}

function namecheck_success(transport) {    
    response = transport.responseText || 'black;' + default_username_msg;
    
    sep = response.indexOf(';');
    if (sep == -1) {
        namecheck_error(transport);
        return;
    }
    
    show_message('username_msg', response.substr(0, sep), response.substr(sep+1));
}

function namecheck_error(transport) {
    show_message('username_msg', 'black', default_username_msg);
}

function check_username(element, value) {
if ($('user_username').value.length < 3) {
    namecheck_error(null);
    return;
}

params = $('user_form').serialize(true);
new Ajax.Request('/user/checkname',
                 {
                    asynchronous: true,
                    parameters: params,
                    onSuccess: namecheck_success,
                    onFailure: namecheck_error
                 });
}