var checkUsername = function()
{
    field = $('register_username_text');
    field2 = $('register_username2_text');
    
    var u1 = field.getValue();
    var u2 = field2.getValue();
    
    msgbox = $('username_check_message');
    
    
    if(u1 == '' || u2 == '')
    {
        return;
    }
    else if(u1 != '' && u2 != '' && u1 != u2)
    {
        msgbox.show()
            .update(new Element('div', { 'class': 'error_msg' }).update('The e-mail addresses you entered do not match'));
        return;
    }
    
    new Ajax.Request('/brokers/register/emailcheck.nn', {
        parameters: {
            email: field.getValue().strip()
        },
        method: 'get',
        onComplete: function(t)
        {
            var doc = t.responseXML.documentElement;
            var result = xmlElementToJs(doc);
            
            var status = doc.getAttribute("status").toString();
            
            if(status == 'FAILED')
            {
                $('register_username_text').addClassName('badfield');  
                msgbox
                    .show()
                    .update(new Element('div', { 'class': 'error_msg' }).update(result.message));
            }
            else
            {
                field.removeClassName('badfield');
                
                if(result.result == 'WHITELISTED')
                {
                    msgbox.hide()
                        .update();
                    $('registerPhoneInfo').hide().select('input').invoke('setValue', '');
                }
                else
                {
                    msgbox.show()
                        .update(new Element('div', { 'class': 'info_msg' }).update(result.message));
                    $('registerPhoneInfo').show().down('input').focus();
                }
            }
        }
    
    });
}

if($('register_username_text').getValue() != '')
{
    checkUsername(); 
}

