$(document).ready(function() {


    $('#nominate_user').keyup(updateNominateMessageCount);
    $('#nominate_message').keyup(updateNominateMessageCount);
    $('#nominate_category').change(updateNominateMessageCount);

    $('#nominate_form').submit(function () {
        var user = $($('.twitter_username', this)[0]).val();
        var password = $($('.twitter_password', this)[0]).val();
        
        var status = buildNominateMessage();
        
        var remember = $('.twitter_remember', this)[0].checked;
    
        var errors = new Array();
        var hasError = false;
        
        var form = this;

        $($('.success_message', this)[0]).hide();
        
        
        if (!readCookie( 'twp_sess' ))
        {
            
            if (!user)
            {
                errors['twitter_username_error'] = 'Please enter your Twitter user name.';
                hasError = true;
            }
            
            if (!password)
            {
                errors['twitter_password_error'] = 'Please enter your Twitter password.';
                hasError = true;
            }

        }
        
        if (!status)
        {
            errors['status_error'] = 'Please enter a status.';
            hasError = true;
        }
        
        if (hasError)
        {
            setTwitterFormErrors(this, errors)
            return false;
        }
        else
        {
            var data={
                twitter_username: user,
                twitter_password: password, 
                status: status, 
                twitter_remember: remember
            };
            $.post('/twitter_post/', data, function (result) {
                switch(result.statusCode)
                {
                    case 200:
                    //Successful tweet
                        if(remember)
                        {
                            createCookie('twp_sess', result.sessionId, 60)
                        }
                        else
                        {
                            createCookie('twp_sess', result.sessionId)
                        }
                        
                        $('.twitter_login').hide();
                        $($('.success_message', form)[0]).html(result.status);
                        $($('.error', form)[0]).hide();                        
                        $($('.success_message', form)[0]).show();                        
                    break;
                    case 401:
                        $('.twitter_login').show();
                        setTwitterFormErrors(form, result.errors);                        
                    break;
                    default:
                    break;
                }
            }, 'json');
            return false;
        }
    
    });

updateNominateMessageCount();

});

function updateNominateMessageCount()
{
        var message = buildNominateMessage();
        
        var length = 140 - message.length;
        //console.log(length);
        
        $('#nominate_form .message_count').html(length);

        if(length <= 0)
        {
            return false;
        }
}

function buildNominateMessage()
{
    var options = document.getElementById('nominate_category').options;
    var selectedIndex = document.getElementById('nominate_category').selectedIndex;
    
    var option = options[selectedIndex];

    var message = '@' + $('#nominate_twitter_user').val() + ', I nominate @' + $('#nominate_user').val() + ' for #' + $(option).html() + ' ' + $('#nominate_message').val();

    return message;
}

