function TrackSocial(Action)
{
	this.Category="_trackSocial";

	this.Track=function(Action,Label,Value)
	{
		_gaq.push([this.Category,Action,Label,Value]);
	};

	this.GetTwitterURL=function(URL)
	{
		var Query="";

		if(URL)
		{
			Query=URL.split("#");
			if(Query.length==2)
			{
				Query="&"+Query[1];
				Query=Query.split("&url=");
				if(Query.length==2) return unescape(Query[1].split("&")[0]);
			}
		}

		return document.location;
	};

	this.GetVkontakteURL=function(URL)
	{
		var Query="";

		if(URL)
		{
			Query=URL.split("?url=");
			if(Query.length==2) return unescape(Query[1]);
		}

		return document.location;
	};

	this.TrackAll=function()
	{
		this.TrackFacebook();
		this.TrackTwitter();
		this.TrackVkontakte();
	};

	this.TrackFacebook=function()
	{
		var T=this;
		try
		{
			if(FB && FB.Event && FB.Event.subscribe)
			{
				FB.Event.subscribe('edge.create', function(targetUrl) { T.Track('facebook','like',targetUrl); });
				FB.Event.subscribe('edge.remove', function(targetUrl) { T.Track('facebook','unlike',targetUrl); });
			}
		} catch (e) {}
	};

	this.TrackTwitter=function()
	{
		var T=this;
		try
		{
			if(twttr && twttr.events && twttr.events.bind)
			{
				twttr.events.bind('tweet',function(event)
				{
					if(event)
					{
						var targetUrl="";
						if(event.target && event.target.nodeName=="IFRAME")
						{
							targetUrl=T.GetTwitterURL(event.target.src);
						}

						T.Track('twitter','tweet',targetUrl);
					}
				});
			}
		} catch (e) {}
	};

	this.TrackVkontakte=function()
	{
		var T=this;
		try
		{
			if(VK && VK.Share && VK.Share.click) 
			{
				var oldShareClick=VK.Share.click;
				VK.Share.click=function(index,el)
				{
					T.Track('vkontakte','like',T.GetVkontakteURL(el.href));
					return oldShareClick.call( VK.Share, index, el );
				};
			}
		} catch (e) {}
	}

	this["Track"+Action]();
}
