$(document).ready(function () {

	$('a[href]').live('click', function(e) {
		var $a = $(this);
		var href = $a.attr('href');
		var logger = false; // set to true for firebug debugging (will not track events)
		var track = false;
		var trailer = false;
		
		// array of downloadable extensions
		var dlExt = ["mov","m4v","flv","mp3","wmv","wav","jpg","gif","png","doc","xls","zip","pdf","sit","sitx","tgz"] 
		
		var ext = href.split("?")[0]; // remove query strings
		ext = ext.split(".");
		ext = ext[ext.length - 1]; // find the extension
		
		// is link trailer?
		var classes = $a.attr("class").split(" ");

        for (var i = 0; i < classes.length; i++){
			if ( classes[i].substr(0,7) == "trailer" ){
				trailer = true;
				break;
			}
        } 		
		if(trailer) {
			var category = 'videoswap'; 
			var gaEvent = 'click'; 
			var label = href;
			track = true;		
		}
		// external link?
		else if(((href.match(/^http/)) && (!href.match(document.domain))) || $a.attr('rel') === 'external') { 
			// if so, register an outgoing event
			var category = 'outgoing'; 
			var gaEvent = 'click'; 
			var label = href;
			track = true;
			
	  	}
		// downloadable link?
	  	else if($.inArray(ext,dlExt) > -1) {
			var category = 'file'; 
			var gaEvent = 'click'; 
			var label = href;
			track = true;
		}
		else { 
			// nothing to track
		}
		
	  	if(_gaq && track) {
			if(logger) {
				console.log(ext, category, gaEvent, href);
				e.preventDefault();
			}
			else {
	  			_gaq.push(['_trackEvent', category, gaEvent, href]);
			}
		}
	  
	});
	
	
});

