var _ga = _ga || {};

var _gaq = _gaq || [];

_ga.trackSocial = function(opt_pageUrl, opt_trackerName) {
    _ga.trackFacebook(opt_pageUrl, opt_trackerName);
    _ga.trackTwitter(opt_pageUrl, opt_trackerName);
};


_ga.trackFacebook = function(opt_pageUrl, opt_trackerName) {
    var trackerName = _ga.buildTrackerName_(opt_trackerName);
    try {
        if (FB && FB.Event && FB.Event.subscribe) {
            FB.Event.subscribe('edge.create', function(targetUrl) {
            _gaq.push([trackerName + '_trackSocial', 'facebook', 'like',
            targetUrl, opt_pageUrl]);
            });
            FB.Event.subscribe('edge.remove', function(targetUrl) {
            _gaq.push([trackerName + '_trackSocial', 'facebook', 'unlike',
                 targetUrl, opt_pageUrl]);
            });
        }
    } catch (e) {}
};


_ga.buildTrackerName_ = function(opt_trackerName) {
    return opt_trackerName ? opt_trackerName + '.' : '';
};


_ga.trackTwitter = function(opt_pageUrl, opt_trackerName) {
    var trackerName = _ga.buildTrackerName_(opt_trackerName);
    try {
        if (twttr && twttr.events && twttr.events.bind) {
            twttr.events.bind('tweet', function(event) {
                if (event) {
                    var targetUrl; // Default value is undefined.
                    if (event.target && event.target.nodeName == 'IFRAME') {
                        targetUrl = _ga.extractParamFromUri_(event.target.src, 'url');
                    }
                    _gaq.push([trackerName + '_trackSocial', 'twitter', 'tweet',
                        targetUrl, opt_pageUrl]);
                }
            });
        }
    } catch (e) {}
};


_ga.extractParamFromUri_ = function(uri, paramName) {
    if (!uri) {
        return;
    }
    var uri = uri.split('#')[0];  // Remove anchor.
    var parts = uri.split('?');  // Check for query params.
    if (parts.length == 1) {
        return;
    }
    var query = decodeURI(parts[1]);

    // Find url param.
    paramName += '=';
    var params = query.split('&');
    for (var i = 0, param; param = params[i]; ++i) {
        if (param.indexOf(paramName) === 0) {
            return unescape(param.split('=')[1]);
        }
    }
    return;
};
;
(function(){
  var twitterWidgets = document.createElement('script');
  twitterWidgets.type = 'text/javascript';
  twitterWidgets.async = true;
  twitterWidgets.src = 'http://platform.twitter.com/widgets.js';

  // Setup a callback to track once the script loads.
  twitterWidgets.onload = _ga.trackTwitter;

  document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
})();
;
window.fbAsyncInit = function() {
  FB.init({
    appId      : 'YOUR_APP_ID', // App ID
    channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    oauth      : true, // enable OAuth 2.0
    xfbml      : true  // parse XFBML
  });

  // Additional initialization code here
  _ga.trackFacebook();
};

// Load the SDK Asynchronously
(function(d){
   var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/ja_JP/all.js";
   d.getElementsByTagName('head')[0].appendChild(js);
}(document));
;
window.___gcfg = {lang: 'ja'};

(function() {
  var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  po.src = 'https://apis.google.com/js/plusone.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
;

