(function(a) {
    a.fn.extend({
        cfShare:function(b) {
            function h(a) {
                a = a.toString().toLowerCase().replace(/(?:^|\s)\w/g,function(a) {
                    return a.toUpperCase()
                });
                return"cf" + a
            }
            function i() {
                var c;
                a.each(b.shareClients,function() {
                    c = h(this);
                    try {
                        d[c]()
                    } catch(a) {
                        console.log(c + " is not a function")
                    }
                })
            }
            function f(c) {
                b.animate ===  ! 0?e.stop().animate({
                    top:c
                }):e.css({
                    top:a(window).scrollTop() > b.startTop?0:b.startTop
                    ,position:"fixed"
                    ,margin:"0 7px 4px -492px"
                    ,left:"50%"
                })
            }
            function g() {
                if(a(window).width() - b.pageWidth > 135) {
                    var c = '<style type="text/css">#sharebox {background: #fff;position: relative;-moz-border-radius: 5px;border-radius: 5px;text-align: center;}#sharebox .cfshare {left: ' + b.shareLeft + "px;width: " + b.shareWidth + "px;padding: 6px 2px;position: absolute;top: 0;background-color: #FAFAFA;border: 1px solid #E5E5E5; margin-top: " + b.startTop + "px;}#sharebox .cfshare:hover {background-color: " + b.bgColor + ";box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);}.cfBtnFloat {display: block;margin: 0 0 10px;}.cfBtnFloatDownload {display: block;margin: 10px 0 0;}.cfBtnFloatDownload a {background: #DEDEDE;border: 1px solid #FAFAFA;color: #FBFBFB;display: block;font-size: 11px;text-decoration: none;}.cfBtnFloatDownload a:hover {color: #693;}.sepFloat{display: block;height: 10px;}.addthisFrap{display: block; text-align: center; margin: 0 auto; width: 50px;}#cfShareClientsFloat a.addthis_button_tweet{width: 55px;}.at300b,.at300b:hover{opacity: 1;}.addthis_button_facebook_like {margin-top: 12px; margin-left:5px;}</style>";
                    a("div#cfShareStyle").html(c);
                    a("#cfShareClientsFloat:hidden").show();
                    a("#cfShareClientsOriginal:visible").hide();
                    c = d.offset().top;
                    switch(b.fromPosition) {
                        case "top":a(window).scrollTop() > b.startTop?f(a(window).scrollTop() - c + b.topPadding):f(b.startTop - c);
                        break;
                        default:a(window).scrollTop() > c?f(a(window).scrollTop() - c + b.topPadding):f(0)
                    }
                } else e.removeAttr("style")
                ,c='<style type="text/css">#sharebox {background: #fff;position: relative;-moz-border-radius: 5px;border-radius: 5px;margin-bottom: 15px;}#sharebox .cfshare {padding: 6px 2px;background-color: ' + b.bgColor + ";border: 1px solid #E5E5E5;min-height: 20px;}#sharebox .cfshare:hover {background-color: " + b.bgColor + ";box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);}.cfBtnOrig{float: left;}.addthisOrap{margin-right: 10px;}.at300b,.at300b:hover{opacity: 1;}</style>",a("div#cfShareStyle").html(c),a("#cfShareClientsOriginal:hidden").show(),a("#cfShareClientsFloat:visible").hide();
                e.css({
                    overflow:"visible"
                })
            }
            var b = a.extend({
                bgColor:"#fff"
                ,topPadding:0
                ,sharePadding:2
                ,startTop: 80
                ,fromPosition:"original"
                ,pageWidth:980
                , shareWidth:70
                ,shareLeft: - 84
                ,animate: ! 0
                ,addthisId:""
                ,shareClients:[]
            }
            ,b)
            ,d=this
            ,e=d.find(".cfshare");
            e.html('<div id="cfShareClients"><div id="cfShareClientsFloat" style="display: none;"></div><div id="cfShareClientsOriginal" style="display: none;"></div></div><div id="cfShareStyle"></div><div id="cfShareJs"></div>');
            a(window).scroll(function() {
                g()
            });
            a(window).resize(function() {
                g()
            });
            d.cfFacebook = function() {
                a("#cfShareClientsOriginal").append('<a class="addthis_button_facebook_like cfBtnOrig" fb:like:layout="button_count"></a>');
                a("#cfShareClientsFloat").append('<a class="addthis_button_facebook_like cfBtnFloat" fb:like:layout="box_count"></a>')
            };
            d.cfFacebooksend = function() {
                a("#cfShareClientsOriginal").append('<a class="addthis_button_facebook_send cfBtnOrig"></a>');
                a("#cfShareClientsFloat").append('<a class="addthis_button_facebook_send cfBtnFloat"></a>')
            };
            d.cfTwitter = function() {
                a("#cfShareClientsOriginal").append('<a class="addthis_button_tweet cfBtnOrig"></a>');
                a("#cfShareClientsFloat").append('<a class="addthis_button_tweet cfBtnFloat" tw:count="vertical"></a>')
            };
            d.cfGoogleplusone = function() {
                a("#cfShareClientsOriginal").append('<a class="addthis_button_google_plusone cfBtnOrig" g:plusone:size="medium"></a>');
                a("#cfShareClientsFloat").append('<a class="addthis_button_google_plusone cfBtnFloat" g:plusone:size="tall"></a>')
            };
            a("#cfShareJs").append('<script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=' + b.addthisId + '"><\/script>');
            a(document).ready(function() {
                i();
                g()
            });
        }
    })
})(jQuery);

