var sb_sec = get_timestamp();
var sb_name;
var sb_updates;

function get_timestamp() {
    return parseInt(new Date().getTime() / 1000);
}

function shoutbox_save() {
    if (sb_sec > (get_timestamp() - spam_protection)) {
        alert("Please wait at least " + spam_protection + " seconds before you shout again.");
        sb_sec = get_timestamp();
        
        return false;
    }
    sb_sec = get_timestamp();
    $.post('ajax.php', {
        action: 'post',
        name: sb_name,
        message: $('#shoutbox_message').val()
    }, function() {});
}

function shoutbox_update() {
    $.get('ajax.php', {
        action: 'update',
        last: $('#shoutbox_box div:last').attr('id')
    }, function() {
        if ($('#shoutbox_box div').length > 500) {
            location.reload();
        }
    }, 'script');
    
    return true;
}

function shoutbox_bot(name) {
    sb_name = name;
    $.post('ajax.php', {
        action: 'bot',
        name: sb_name
    }, function() {
        shoutbox_update();
    });
}

function shoutbox_loader() {
    $.get('ajax.php', {
        action: 'loader'
    }, function(data) {
        $('#shoutbox_loader').fadeOut('slow', function() {
            $('#shoutbox_box_wrapper').html(data);
            sb_updates = window.setInterval('shoutbox_update()', refresh);
            $('#shoutbox_box_inner').animate({opacity: '1.0'}, 'slow');
            $('#shoutbox_message_counter').css('left', ($('#shoutbox_message').offset().left + $('#shoutbox_message').width() - 208)).css('top', ($('#shoutbox_message').offset().top + 21));
            $('#shoutbox_message').focus().charcounter().bind('focus', function() {
                if ($(this).val() == "\n") {
                    $(this).val('');
                }
            }).bind('keypress', function (e) {
                if (e.which == 13 && e.shiftKey == false && $.trim($(this).val()) != '') {
                    shoutbox_save($(this).val());
                    e.preventDefault();
                    $(this).val('');
                }
            });
            $('#shoutbox_submit').live('click', function() {
                shoutbox_save();
                $('#shoutbox_message').val('');
                
                return false;
            });
            $(window).bind('resize', function() {
                $('#shoutbox_message_counter').css('left', ($('#shoutbox_message').offset().left + $('#shoutbox_message').width() - 208)).css('top', ($('#shoutbox_message').offset().top + 21));
            });
        });
    });
}

$(document).ready(function() {
    if ($.browser.msie && $.browser.version <= 6) {
        $('img[src$=.png]').ifixpng();
    }
    $('#shoutbox_form').live('submit', function() {
        shoutbox_save();
        $('#shoutbox_message').val('');
        
        return false;
    });
    
    $('#shoutbox_name').default_value('Nickname').keypress(function (e) {
        if (e.which == 13 && $(this).val() != '' && $(this).val() != 'Bot') {
            shoutbox_bot($(this).val());
            $(this).animate({width: '0px', opacity: '0'}, 'slow').hide();
            $('#shoutbox_enter_name').fadeOut('slow').remove();
            $('#shoutbox_loader').fadeIn('slow');
            shoutbox_loader();
        }
    });
    $('#shoutbox_name_submit').live('click', function () {
        if ($('#shoutbox_name').val() != '' && $('#shoutbox_name').val() != 'Bot') {
            shoutbox_bot($('#shoutbox_name').val());
            $(this).animate({width: '0px', opacity: '0'}, 'slow').hide();
            $('#shoutbox_enter_name').fadeOut('slow').remove();
            $('#shoutbox_loader').fadeIn('slow');
            shoutbox_loader();
        }
    });
});
