$(document).ready( function( ) {
FB.Event.subscribe('edge.create',function(targetUrl){
	_gaq.push(['_trackSocial','Facebook','Like',targetUrl]);
});
FB.Event.subscribe('edge.remove',function(targetUrl){
	_gaq.push(['_trackSocial','Facebook','UnLike',targetUrl]);
});
FB.Event.subscribe('message.send',function(targetUrl) {
	_gaq.push(['_trackSocial','Facebook','Send',targetUrl]);
});

// From: http://code.google.com/apis/analytics/docs/tracking/gaTrackingSocial.html
function extractParamFromUri(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]);
    }
  }
}

twttr.events.bind('tweet', function(event) {
	var targetUrl;
	if (event.target && event.target.nodeName == 'IFRAME') {
		targetUrl = extractParamFromUri(event.target.src,'url');
	}
	_gaq.push(['_trackSocial','Twitter','Tweet',targetUrl]);
});

twttr.events.bind('follow', function(event) {
	_gaq.push(['_trackSocial','Twitter','Follow',event.data.screen_name]);
});

function plusone_vote( obj ) {
	_gaq.push(['_trackEvent','plusone',obj.state]);
}
});
