(function($){
	$(document).ready(function(){
		  
		FB.Event.subscribe('edge.create', function(response) {
			_gaq.push(['_trackSocial', 'pisco-mistral', 'like', response]);
			_gaq.push(['_trackEvent', 'pisco-mistral','Facebook','Like']);
		});
		FB.Event.subscribe('edge.remove', function(response) {
			_gaq.push(['_trackSocial', 'pisco-mistral', 'unlike', response]);
			_gaq.push(['_trackEvent', 'pisco-mistral','Facebook','Unlike']);
		});
		  
		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 = extractParamFromUri(event.target.src, 'url');
							_gaq.push(['_trackSocial', 'pisco-mistral', 'tweet', targetUrl]);
							_gaq.push(['_trackEvent', 'pisco-mistral','Twitter','Tweet']);
						}
					}
				});
			
			}
		} catch (e) {
			console.log(e);
		}
	});
	  
	function dump(arr,level) {
		var dumped_text = "";
		if(!level) level = 0;

		//The padding given at the beginning of the line.
		var level_padding = "";
		for(var j=0;j<level+1;j++) level_padding += "    ";

		if(typeof(arr) == 'object') { //Array/Hashes/Objects
			for(var item in arr) {
				var value = arr[item];
 
				if(typeof(value) == 'object') { //If it is an array,
					dumped_text += level_padding + "'" + item + "' ...\n";
					dumped_text += dump(value,level+1);
				} else {
					dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
				}
			}
		} else { //Stings/Chars/Numbers etc.
			dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
		}
		return dumped_text;
	}
	  
	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]);
			}
		}
	}
})(jQuery);
