$(document).ready(function() {
    $('.hovercard').click(function(e) {
        e.preventDefault();
        return false;
    });

    twttr.anywhere(function(T) {
        T('.hovercard').hovercards({
            linkify: false,
            username: function(node) {
                return node.parentNode.getAttribute('rel');
            }
        });
    });

    $('.social.twitter').click(function(e) {
        e.preventDefault();
        var box = $('.tweetBox');
        var external = box.find('.external');

        if (external.is(':empty')) {
            twttr.anywhere(function(T) {
                var defaultContent = box.find('h4').attr('rel');
                var width = parseInt(box.attr('rel'));
                var height = 40;
                if ($.browser.msie) {
                    height = 50;
                }

                if (T.isConnected()) {
                    width = width - 50;
                    var twitterUser = T.currentUser;
                    var twitterAvatar = '<img class="avatar" src="' + twitterUser.data('profile_image_url') + '" height="50px" />';
                    external.before(twitterAvatar);
                }

                T('.tweetBox .external').tweetBox({
                    defaultContent: defaultContent,
                    label: '&nbsp;',
                    width: width,
                    height: height,
                    onTweet: function(plain, rendered) {
                        box.slideUp('slow', function() {
                            box.prev('.message.success').fadeIn('slow');
                        });
                    },
                    complete: function(tweetBox) {
                        var iframe = box.find('iframe');
                        var existingStyle = iframe.contents().find('#tweet-box').attr('style');
                        var alteredHeight = '';
                        if ($.browser.msie) {
                            alteredHeight = 'height: 40px;';
                        }
                        iframe.contents().find('#tweet-box').attr('style', existingStyle + ' border-radius: 0;' + alteredHeight).focus();
                        iframe.contents().find('#tweeting-button').attr('style', 'cursor: pointer;');
                        box.find('h4').fadeIn('slow');
                    }
                });
            });
        } else if (box.is(':hidden')) {
            box.prev('.message.success').fadeOut('slow', function() {
                box.find('iframe').contents().find('#tweet-box').focus();
                box.fadeIn('slow');
            });
        } else {
            box.slideUp('slow');
        }
        return false;
    });
});