(function(win, doc) {

	var gaTracking = (function() {
		return {
			trackEvent: function(category, action, label, value) {
				try {
					_gaq.push(['_trackEvent', category, action, label, value])
				} catch(error) {
					alert(error);
				}
			}
		}
	})();

	var gatracking_category = win.trackingCategory || "Click";
	var filetypes = /(.+)\.(pdf|zip|mp3|mp4|csv)/;


	if (win.jQuery) {

		$.extend($.expr[':'],  {
			external: function(obj) {
				return (!obj.href.match(/^mailto\:/) && (obj.hostname) && (obj.hostname != location.hostname));
			},

			mailto: function(obj) {
				return obj.href.match(/^mailto\:/);
			},

			download: function(obj) {
				return obj.href.match(filetypes);
			}
		})


		$(function() {
			
			$("a:external").click(function(){
				gaTracking.trackEvent(gatracking_category, "Link Esterno", $(this).attr("href"));
			})
			
			$("a:mailto").click(function(){
				gaTracking.trackEvent(gatracking_category, "Link Mail", $(this).attr("href"));
			})
			
			$("a:download").click(function(){
				gaTracking.trackEvent(gatracking_category, "Link Download", $(this).attr("href"));
			})
			
		});
		
	}

})(window, document);

