/* MetDigital Event Tracking (Met Digital Google Custom API) */
var MetDigitalEventTracking = {

	//Track percentage of video played by user.
	VideoPlayedPercentage: function(player, operaTitle, upc, trackID, percentPlayed){
		var args = {
			object: player, 
			action: percentPlayed, 
			label: [operaTitle,upc,trackID].join(',')
		}
		MetDigitalEventTracking._trackEvent(args);
	},
	
	// Track user activating "pause" option in player.
	VideoPaused: function(player, operaTitle, upc, trackID){
		var args = {
			object: player, 
			action: 'paused', 
			label: [operaTitle,upc,trackID].join(',')
		}
		MetDigitalEventTracking._trackEvent(args);
	},
	
	// Track user selecting to buy tickets. 
	LinkClicked: function(player, operaTitle, upc, linkTitle){
		var args = {
			object: player, 
			action: linkTitle,
			label: [operaTitle,upc].join(',')
		}
		MetDigitalEventTracking._trackEvent(args);	
	},
	
	// Track user selecting to zoom.
	FullScreen: function(player, operaTitle, upc){
		var args = {
			object: player, 
			action: 'fullscreen', 
			label: [operaTitle,upc].join(',')
		}
		MetDigitalEventTracking._trackEvent(args);	
	},
		
	// Track user submitting send to a friend form.
	SendToAFriend: function(player, operaTitle, upc, trackID){
		var args = {
			object: player, 
			action: 'sendtoafriend', 
			label: [operaTitle,upc,trackID].join(',')
		}
		MetDigitalEventTracking._trackEvent(args);	
	},
	
	// private
	_trackEvent: function(oArgs) {
		var _source = oArgs.source || document.location.pathname+document.location.search+document.location.hash;
		var _media = oArgs.media || 'js';		// flash, js, etc.
		var _object = oArgs.object || '';		// type of player
		var _action = oArgs.action || ''; 		// what is happening
		var _label = oArgs.label || '';			// what is being viewed
		//var _value = oArgs.value || '';
		//var _target = oArgs.target || '';
		
		// Project specific params
		//var _opera = oArgs.opera || '';
		//var _upc = oArgs.upc || '';
		//var _trackid = oArgs.trackid || '';
		//var _usertype = oArgs.usertype || '';
		
		// POPTODO: Customize sReport string formatting and params per Met Digital needs
		
		// metDigital GA tracking call (source, media, object, action, label, opera, upc, trackid, usertype)
		//var sReport = encodeURI('[source='+_source+'],[media='+_media+'],[object='+_object+'],[action='+_action+'],[label='+_label+'],[opera='+_opera+'],[upc='+_upc+'],[trackid='+_trackid+'],[usertype='+_usertype+']');
		var sReport = encodeURI('/_event/object='+_object+'/action='+_action+'/label='+_label);
	
		try{
			urchinTracker(sReport);
			// Only uncomment during debugging
			//console.log("urchinTracker being called with: %s", sReport);
			//console.dir(oArgs);
		}
		catch(e){}
	}
}

// Sample tracking call
// MetDigitalEventTracking.VideoPlayedPercentage('flash', 'my opera', 'my upc', 'track99', 25);

// prevent errors from console calls to browsers that don't provide firebug's debugging console.
if (!window.console || !console.firebug)
{
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

    window.console = {};
    for (var i = 0; i < names.length; ++i)
        window.console[names[i]] = function() {}
}