(function($) {
	jQuery(document).ready(function() {
		updateFBCount();
		updateTwitterCount();
		updateGoogleCount();
	});
	function updateFBCount() {
		var fbUrls='',lnk,href,fblinks=[];
		$('a.share-facebook').each(function(idx) {
			var p = getQueryParams(this.href);
			if ( p.u ) {
				$(this).find('span.c span').each( function(){
					if ( !fblinks[p.u] )
						fblinks[p.u]=[];
					fblinks[p.u].push(this);
				}); 				
				
			}
		});
		fbUrls='';
		for ( lnk in fblinks ) {
			if (!fblinks.hasOwnProperty(lnk)) continue;
			if ( fbUrls)
				fbUrls += ',';
			fbUrls += encodeURIComponent(lnk);
		}
		if ( fbUrls )
		{
			 $.ajax({
				 url: "http://api.facebook.com/restserver.php?"+'v=1.0&method=links.getStats&format=json&urls='+fbUrls, 
				 dataType: "jsonp",
				 success: function (data, textStatus, XMLHttpRequest) {
					 if ( data && data.length )
					 	for ( var i=0; i < data.length;i++ )
					 	{
					 		var item = data[i];
					 		var a = fblinks[item.url];
					 		if ( a && item.total_count){
					 			$.each(a,function( ){
					 				$(this).text(item.total_count);
					 			});
					 		}
					 	}
				 },
				 error: function (XMLHttpRequest) {
				 }
			 });
		}		
	}
	function updateTwitterCount() {
		var lnk,href,fblinks=[];
		$('a.share-twitter').each(function() {
			
			var p = getQueryParams(this.href);
			if ( p.url ) {
				$(this).find('span.c span').each( function(){
					if ( !fblinks[p.url] )
						fblinks[p.url]=[];
					fblinks[p.url].push(this);
				}); 				
			}
		});
		for ( lnk in fblinks ) {
			if (!fblinks.hasOwnProperty(lnk)) continue;
			 $.ajax({
				 url: 'http://urls.api.twitter.com/1/urls/count.json?url='+lnk, 
				 dataType: "jsonp",
				 mainLnk:lnk,
				 success: function (data, textStatus, XMLHttpRequest) {
					 if ( data && data.count )
				 		var a = fblinks[this.mainLnk];
				 		if ( a ){
				 			$.each(a,function( ){
				 				$(this).text(data.count);
				 			});
				 		}
				 },
				 error: function (XMLHttpRequest) {
				 }
			 });
		}		
	}
	function updateGoogleCount() {
		var lnk,href,fblinks=[];
		$('a.share-google').each(function() {
			var p = getQueryParams(this.href);
			if ( p.url ) {
				$(this).find('span.c span').each( function(){
					if ( !fblinks[p.url] )
						fblinks[p.url]=[];
					fblinks[p.url].push(this);
				}); 				
			}
		});
		for ( lnk in fblinks ) {
			if (!fblinks.hasOwnProperty(lnk)) continue;
			 $.ajax({
				 url: 'http://urls.api.twitter.com/1/urls/count.json?url='+lnk, 
				 dataType: "jsonp",
				 mainLnk:lnk,
				 success: function (data, textStatus, XMLHttpRequest) {
					 if ( data && data.count )
				 		var a = fblinks[this.mainLnk];
				 		if ( a ){
				 			$.each(a,function( ){
				 				$(this).text(data.count);
				 			});
				 		}
				 },
				 error: function (XMLHttpRequest) {
				 }
			 });
		}		
	}
	
	function getQueryParams(qs) {
		var params = {};
		qs = qs.split("?");
		if ( !qs || qs.length < 2 )
			return params;
		qs = qs[1].split( '&' );
		for ( var i=0; i<qs.length; i++ ) {
		      var name = qs[i].split('=')[0];
		      var value = qs[i].split('=')[1];
		      params[name] = value;
		}		
		return params;
	}
	
		
})(jQuery);
