var twiple_url = {
    init: function () {
        $('.tab ul li a').each(function () {
            $(this).click(function () {
                $('.tab ul li').each(function () {
                    $(this).removeClass('current');
                });
                $(this).parent().addClass('current');

                var id = $(this).parent().attr('id');
                if (id == 'tab-hatena') {
                    twiple_url.hatena();
                } else if (id == 'tab-livedoorclip') {
                    twiple_url.livedoorclip();
                } else if (id == 'tab-buzzurl') {
                    twiple_url.buzzurl();
                } else {
                    twiple_url.tweets();
                }
            });
        });
        
    },
    tweets: function () {
        $('#hatena').hide();
        $('#livedoorclip').hide();
        $('#buzzurl').hide();
        $('#tweets').show();
    },
    hatena: function () {
        $('#tweets').hide();
        $('#livedoorclip').hide();
        $('#buzzurl').hide();
        $('#hatena').html('ロード中です...<img src="' + base_url + 'img/ajax-loader.gif" alt="" />');
        $('#hatena').show();
        jQuery.getJSON('http://b.hatena.ne.jp/entry/json/?url=' + entry.url + '&callback=?', function(data) {
            if (data == null) {
                $('#hatena').html('見つかりませんでした。');
                return;
            }

            var html = '';
            for (var i = 0; i < data.bookmarks.length; i++) {
                html += '<div class="item hatenab">';
                html += '<div class="icon"><a href="http://b.hatena.ne.jp/' + data.bookmarks[i].user + '" target="_blank"><img src="http://www.hatena.ne.jp/users/' + data.bookmarks[i].user.substr(0, 2) + '/' + data.bookmarks[i].user + '/profile.gif" alt="" /></a></div>';
                html += '<div class="name"><a href="http://b.hatena.ne.jp/' + data.bookmarks[i].user + '" target="_blank">' + data.bookmarks[i].user + '</a> <span class="service">はてなブックマーク</span></div>';
                html += '<div class="content"><span class="text">';
                html += data.bookmarks[i].tags.join(', ') + ' ';
                html += data.bookmarks[i].comment + '</span> ';
                html += '<span class="date">(' + data.bookmarks[i].timestamp + ')</span></div></div>';
            }
            $('#hatena').html(html);
        });
    },
    livedoorclip: function () {
        $('#tweets').hide();
        $('#hatena').hide();
        $('#buzzurl').hide();
        $('#livedoorclip').html('ロード中です...<img src="' + base_url + 'img/ajax-loader.gif" alt="" />');
        $('#livedoorclip').show();
        jQuery.getJSON('http://api.clip.livedoor.com/json/comments?link=' + entry.url + '&callback=?', function(data) {
            if (data.Comments == null) {
                $('#livedoorclip').html('見つかりませんでした。');
                return;
            }

            var html = '';
            for (var i = 0; i < data.Comments.length; i++) {
                html += '<div class="item livedoorclip">';
                html += '<div class="icon"><a href="http://clip.livedoor.com/clips/' + data.Comments[i].livedoor_id + '" target="_blank"><img src="http://image.profile.livedoor.jp/icon/' + data.Comments[i].livedoor_id + '_16.gif" alt="" /></a></div>';
                html += '<div class="name"><a href="http://clip.livedoor.com/clips/' + data.Comments[i].livedoor_id + '" target="_blank">' + data.Comments[i].livedoor_id + '</a> <span class="service">livedoor クリップ</span></div>';
                html += '<div class="content"><span class="text">';
                html += data.Comments[i].tags.join(', ') + ' ';
                html += data.Comments[i].notes + '</span> ';
                var date = new Date();
                date.setTime(data.Comments[i].created_on * 1000);
                html += '<span class="date">(' + date.getFullYear()  + '/' + (date.getMonth() + 1) + '/' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + ')</span></div></div>';
            }
            $('#livedoorclip').html(html);
        });
    },
    buzzurl: function () {
        $('#tweets').hide();
        $('#hatena').hide();
        $('#livedoorclip').hide();
        $('#buzzurl').html('ロード中です...<img src="' + base_url + 'img/ajax-loader.gif" alt="" />');
        $('#buzzurl').show();
        jQuery.getJSON('http://api.buzzurl.jp/api/posts/get/v1/json/?url=' + entry.url_encode + '&cb=?', function(data) {            if (data == null || data[0] == null) {
                $('#buzzurl').html('見つかりませんでした。');
                return;
            }

            data = data[0];

            var html = '';
            for (var i = 0; i < data.posts.length; i++) {
                html += '<div class="item buzzurl">';
                html += '<div class="icon"><a href="http://buzzurl.jp/user/' + data.posts[i].user_name + '" target="_blank"><img src="http://cdn.buzzurl.jp/user/' + data.posts[i].user_name + '/photo/small" alt="" /></a></div>';
                html += '<div class="name"><a href="http://buzzurl.jp/user/' + data.posts[i].user_name + '" target="_blank">' + data.posts[i].user_name + '</a> <span class="service">Buzzurl</span></div>';
                html += '<div class="content"><span class="text">';
                if (data.posts[i].keywords != null) html += data.posts[i].keywords + ' ';
                if (data.posts[i].comment != null) html += data.posts[i].comment;
                html += '</span> ';
                html += '<span class="date">(' + data.posts[i].date + ')</span></div></div>';
            }
            $('#buzzurl').html(html);
        });

    }
}

$(document).ready(function () {
    twiple_url.init();
    $('p.tweetit > a[rel=boxy]').boxy({
        title: entry.title2 + 'を投稿',
        closeText: '[閉じる]',
        behaviours: function (content) {
            var b = this;
            content.find('a').each(function () {
                $(this).click(function () {
                    if ($(this).attr('href') == '') return;
                    var boxy = Boxy.get(this);
                    boxy.setContent('Loading...<img src="' + base_url + 'img/ajax-loader.gif" alt="" />');
                    jQuery.ajax({
                        url: $(this).attr('href'),
                        type: 'GET',
                        dataType: 'html',
                        cache: false,
                        success: function (html) {
                            boxy.setContent(html);
                        }
                    });
                    return false;
                });
            });
            content.find('form').submit(function () {
                var boxy = Boxy.get(this);
                boxy.setContent('Loading...<img src="' + base_url + 'img/ajax-loader.gif" alt="" />');
                jQuery.ajax({
                    url: $(this).attr('action'),
                    type: $(this).attr('method'),
                    data: content.find('form').serialize(),
                    dataType: 'html',
                    cache: false,
                    success: function (html) {
                        boxy.setContent(html);
                    }
                });
                return false;
            });
        }
    });
});
