/**
 * 產生分享連結的bar,預設三個網站(facebook, plurk, twitter)
 * @author OU
 * @since 2010-05-19
 *  
 * 範例
 * $('#pushbar').pushbar();
 * 若各個網站要給的 url 或 title 不是本頁的 
 * $('#pushbar').pushbar({facebook:{url:'xxx',title:'xxx'},plurk:{url:'xxx',title:'xxx'}}); 
 * $('#pushbar').pushbar(null, 'url', 'title');
 * $('#pushbar').pushbar({facebook:{url:'xxx',title:'xxx'}}, 'url', 'title');
 * 增加另一個網站
 * $('#pushbar').pushbar({msn:{alt:'xxx', imgsrc:'xxx', linkstr:'xxx'}});      
 */
(function($) {
    $.fn.pushbar = function (options, url, title) {
        var self = this;
        var url = url || location.href; //自訂或本頁的url
        var title = title || $('meta[name=title]').attr('content') || document.title; //自訂或 meta title 或 head title
        //預設的設定
        var settings = {
            facebook : {
                alt : '在 facebook 上分享', 
                imgsrc : '/templet/images/icon_facebook.gif',
                linkstr : 'http://www.facebook.com/sharer.php?u=@url@&t=@title@'
            },
            plurk : {
                alt : '噗到 plurk', 
                imgsrc : '/templet/images/icon_plurk.gif',
                linkstr : 'http://www.plurk.com/?qualifier=shares&status=@url@ (@title@)'
            },
            twitter : {
                alt : '推到 twitter', 
                imgsrc : '/templet/images/icon_twitter.gif',
                linkstr : 'http://twitter.com/home?status=@title@ @url@'
            }
        };
        var tbar = '';
        //若 options 參數有設定則跟預設的設定結合
        if(options) {
            for (var name in options) {
                if (typeof settings[name] == 'undefined') {
                    settings[name] = {};
                }
                $.extend(settings[name], options[name]);
            }
        };
        for (var name in settings) {
            var obj = settings[name];
            var t = obj.title || title; //若有自訂 title 則以自訂的為主
            var u = obj.url || url; //若有自訂 url 則以自訂的為主
            tbar += '<a href="' + obj.linkstr.replace('@title@', encodeURIComponent(t)).replace('@url@', encodeURIComponent(u)) + '"';
            tbar += ' target="_blank"><img src="' + obj.imgsrc + '" alt="' + obj.alt + '" style="border:0;margin:0px 3px"></a>'
        }
        self.append(tbar);
    };
})(jQuery);

