  
(function($) {
    $.fn.klsocial = function( options ) {
        var number_format = function(number, decimals, dec_point, thousands_sep) {
            number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
            var n = !isFinite(+number) ? 0 : +number,
                prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
                sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
                dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
                s = '',
                toFixedFix = function (n, prec) {
                    var k = Math.pow(10, prec);
                    return '' + Math.round(n * k) / k;
                };
            // Fix for IE parseFloat(0.55).toFixed(0) = 0;
            s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
            if (s[0].length > 3) {
                s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
            }
            if ((s[1] || '').length < prec) {
                s[1] = s[1] || '';
                s[1] += new Array(prec - s[1].length + 1).join('0');
            }
            return s.join(dec);
        };
        
        var format_num = function(i) {
            if ( i >  1000000 )
                return number_format(i / 1000000, 0, '.', ',') + 'M';
            else if ( i > 1000 )
                return number_format(i / 1000, 0, '.', ',') + 'K';
            return number_format(i, 0, '.', ',');
        };

        var settings = {
            'twitter_user':'kapanlagicom',
            'url':location.href,
            'comment_count':0,
            'comment_run':'newsalert',
            'tabs_width':'',
            'like_width':'',
            'lintas_share':'',
            'teks' : document.title
        };
    
        var body = document.getElementsByTagName('body')[0];
        var head = document.getElementsByTagName('head')[0];
        
        return this.each(function() {
            if ( options ) {
                $.extend( settings, options );
            }
            
            var url = settings.url;
            var twitter_user = settings.twitter_user;
            var comment_count = settings.comment_count;
            var comment_run = settings.comment_run;
            var tabs_width = settings.tabs_width;
            var lintas_share = settings.lintas_share;
            var like_width = settings.like_width;
            var teks = settings.teks;
            
            var $this = $(this);
            
            var extend_width = '';
            if (tabs_width != '') {
                total = tabs_width.replace(/[^0-9]/g, "");
                tabs_width = (total - 50);
                extend_width = ' style="width:'+tabs_width+'px;"';
            }
            else
            {
                tabs_width = (500 - 50);
                extend_width = ' style="width:'+tabs_width+'px;"';
            }

            var extend_like_width = '';
            if (like_width != '') {
                total = like_width.replace(/[^0-9]/g, "");
                like_width = (total - 70);
                extend_like_width = ' style="width:'+like_width+'px;"';
            }
            else
            {
                like_width = (190 - 70);
                extend_like_width = ' style="width:'+like_width+'px;"';
            }
            
            var is_comment_show = '<a href="#" id="social_comment" class="comment"><span id="comment_count">' + comment_count + '</span></a>';
            if (comment_count == '-1') {
                is_comment_show = '';
            }
            
            $('#kl-social-tabs').before('<div style="float:left; width:70px;"><!-- Place this tag in your head or just before your close body tag --><script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script><!-- Place this tag where you want the +1 button to render --><g:plusone size="medium" href="'+encodeURIComponent(url)+'"></g:plusone></div>');
            
            document.getElementById("kl-social-tabs").style.marginLeft= "50px";
            
            $this.html('<div class="kl-social-tabs"'+extend_width+'>' + 
            '<div class="fblike"'+extend_like_width+'><iframe id="fblikeid" src="http://www.facebook.com/plugins/like.php?locale=en_US&href=' + encodeURIComponent(url) + '&amp;layout=button_count&amp;show_faces=false&amp;show_faces=false&amp;width=255&amp;action=like&amp;font&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:255px; height:35px;" allowTransparency="true"></iframe></div>' + 
            '<a href="http://us.kapanlagi.com/twitter/follow2.php?who='+encodeURIComponent(twitter_user)+'" id="follow" class="follow"><span id="follow_count">+</span></a>' + 
            '<a href="http://twitter.com/share?text='+ teks +'&url=' + encodeURIComponent(url) + '&via=' + twitter_user + '" class="tweet"><span id="tweet_count"></span></a>' + 
            '<a href="http://facebook.com/sharer.php?u=' + encodeURIComponent(url) + '" class="fbshare"><span id="fbshare_count"></span></a>' + 
            is_comment_show +
            // '<a href="" class="email">email</a><a href="" class="print">print</a>'+
            '<br/></div>');
            
            var appsocialtabs_callback = 'KLSocialTabs';
            window[appsocialtabs_callback] = function (data) {
                if (socialResult.loaded == 0) {
                    $('#follow_count').html(format_num(data.follower));
                    $('#tweet_count').html(format_num(data.ttweet));
                    $('#fbshare_count').html(format_num(data.fbshare));
                }
            }
            
            var socialResult = {'follower':-1, 'tweet':-1, 'fbshare':-1, 'loaded':0}
            var socialUpdater = function() {
                if ( socialResult.tweet >= 0 &&  socialResult.fbshare >= 0 && socialResult.loaded == 2 ) {
                    $.get('http://a.kapanlagi.com/socialtabs/?a=update&u=' + encodeURIComponent(url) + '&f=' + socialResult.follower + '&t='+socialResult.tweet + '&s=' + socialResult.fbshare, 
                        function (mydata) {
                            if ( window.console ) console.log( [mydata] );
                        });
                    return;
                };
                
                setTimeout(socialUpdater, 200);
            };
            
            setTimeout(socialUpdater, 200);
            
            var script = document.createElement('script');
            script.setAttribute('type', 'text/javascript');
            script.setAttribute('src', 'http://a.kapanlagi.com/socialtabs/?u=' + encodeURIComponent(url) + '&uKLSocialTabs=' + appsocialtabs_callback +'&w='+encodeURIComponent(twitter_user));
            script.setAttribute('async', 'true');
            head.appendChild(script);

            var tweet_callback = 'sctweetcb';
            window[tweet_callback] = function (data) {
                $('#tweet_count').html('<b>'+format_num(data.count)+'</b>');
                socialResult['tweet'] = data.count;
            }
            
            script = document.createElement('script');
            script.setAttribute('type', 'text/javascript');
            script.setAttribute('src', 'http://urls.api.twitter.com/1/urls/count.json?url=' + encodeURIComponent(url) + '&callback=' + tweet_callback);
            script.setAttribute('async', 'true');
            script.onload = function() { socialResult['loaded']++; }
            body.appendChild(script);
            
            var fbshare_callback = 'scsharecb';
            window[fbshare_callback] = function (data) {
                $('#fbshare_count').html('<b>'+format_num(data[0].share_count)+'</b>');
                socialResult['fbshare'] = data[0].share_count;
            }
            script = document.createElement('script');
            script.setAttribute('type', 'text/javascript');
            script.setAttribute('src', 'http://api.facebook.com/restserver.php?method=links.getStats&urls=' + encodeURIComponent(url) + '&format=json&callback=' + fbshare_callback);
            script.setAttribute('async', 'true');
            script.onload = function() { socialResult['loaded']++; }
            body.appendChild(script);
            
            $('#social_comment').click(function() {
                var targetOffset = $('#'+ comment_run).offset().top - 230;
                $('html,body').animate({scrollTop: targetOffset}, 'fast', 'linear');
            });
            
            $('.follow').click(function() {
                window.open($(this).attr('href'), 'twfollow', 'location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=500');
                return false;
            });
            
            $('.tweet').click(function() {
                window.open($(this).attr('href'), 'twshare', 'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=500');
                return false;
            });
            
            $('.fbshare').click(function() {
                window.open($(this).attr('href'), 'twshare', 'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=500');
                return false;
            });
            
            if(lintas_share==''){
            setTimeout(function () {
                var pages = 'http://widget.lintas.me/?c=widget&style=right&m=checkURL&url='+ encodeURIComponent(url) +'&title='+ encodeURIComponent(teks);
                $('#kl-social-tabs').after('<div style="position:absolute; margin-top: -21px;"><div id="wdgt-lintasme" style="margin:0;padding:0;" ><iframe src="'+pages+'" width="115" height="25" scrolling=no frameborder="0" style="margin:0; padding:0; border:0;"></iframe></div></div>');
            }, 1000);
            }
            
        });
    }
})( jQuery );



//document.write('<div style="position:absolute; margin-top: -21px;">');
//    document.write('<scr'+'ipt src="http://www.lintas.me/assets/scripts/widget_v2.js" type="text/jav'+'asc'+'ript"></sc'+'ript>');
//    document.write('<sc'+'ript type="text/javascript">lintasme.init("right"); </s'+'cript>');
//    document.write('</div>');
