function trackFluTracker(thisObj){
    _gaq.push(['_trackEvent', 'Download', 'FluTracker']);

    var s_linkTrackVarsTemp = s.linkTrackVars;
    var s_linkTrackEventsTemp = s.linkTrackEvents;
    s.linkTrackVars='events,prop16,eVar16';
    s.linkTrackEvents='event8';
    s.events='event8';
    s.prop16=s.eVar16= s.channel + ":Flu Tracker";
    s.tl(thisObj,'o',s.pageName+'|Flu Tracker');
    s.linkTrackVars = s_linkTrackVarsTemp;
    s.linkTrackEvents = s_linkTrackEventsTemp;
    clearOmniVar();
}

function trackCouponCode(couponCode, thisObj) {
	var downloadName = "Pat-Ten-Coupon";
	if(s.pageName.indexOf("hcp")!=-1) {
		downloadName = "HCP-Ten-Coupon";
	}
	s.eVar15=s.prop15=downloadName;
	s.eVar43=s.prop43=couponCode;			
	s.events=s.apl(s.events,"event7",",",1);            
	                                                         
	s.linkTrackVars="events,prop15,eVar15,prop43,eVar43";			
	s.linkTrackEvents="event7";

	s.tl(thisObj,'o','Coupon Code Tracker');	
}

//Omniture click handler and form code 

/*
 * Download -  should be inserted in the onclick of downloaded items(pdf, mov,mpg, etc.)  Note that this function
 * should only be used if the automatic tracking in the s_code is not functional or disabled.
 * Example: s.prop15=s.eVar15=s.channel+':'+'unbranded_fullfillment_brochure.pdf';
 */

function trackDownload(filename) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop15,eVar15';
	s.linkTrackEvents = 'event7';
	s.channel = s.siteName + ':' + s.indication + ':' + s.siteAudience;
	s.prop15 = s.eVar15 = s.channel + ':' + filename;
	s.events = 'event7';
	s.tl(this, 'd', s.pageName + '|' + filename);
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/* Spotlight Click - should be placed in the onclick of the CTA on the spotlight */

function trackSpotlight(msg) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop6,eVar6,';
	s.linkTrackEvents = 'event17';
	if(msg == 'pcg') {
		var text = "tamos consumer spotlight";
		s.prop6 = s.eVar6 = text;
	} else if(msg == 'hcp') {
		var text = "tamos hcp spotlight";
		s.prop6 = s.eVar6 =  text;
	}
	s.events = 'event17';
	s.tl(this, 'o', s.pageName);
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	s.events = '';
	clearOmniVar();
}

/* Print Page Clicked - should be placed in the onclick of the print page link */

function trackPrint() {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events';
	s.linkTrackEvents = 'event10';
	s.events = 'event10';
	s.tl(this, 'o', s.pageName + '|printpage');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/*
 * Email This Page Clicked - should be placed in the onclick of the email this
 * page link at the top of a page, not on the submit on the page after it is
 * clicked
 */

function trackEmail() {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events';
	s.linkTrackEvents = 'event11';
	s.events = 'event11';
	s.tl(this, 'o', s.pageName + '|emailpage');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/*
 * Change Font Size - size should be small, medium or large, depending on which
 * button is clicked.
 */

function trackFontSize(size) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,eVar21';
	s.linkTrackEvents = 'event13';
	s.eVar21 = size;
	s.events = 'event13';
	s.tl(this, 'o', s.pageName + '|changefontsize');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/*
 * Track Enroll - Should be used when enrollment involves answering assessment
 * questions. If fewer than 6 questions are used, pass an empty string to extra
 * questions. If user opts-out of joining an email mailing list, pass an empty
 * string to mailinglist.
 */

function trackEnroll(form, mailinglist, q1, q2, q3, q4, q5, q6) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop11,eVar11,prop13,eVar13,prop22,eVar22,prop23,eVar23,prop24,eVar24,prop25,eVar25,prop26,eVar26,prop27,eVar27';
	s.linkTrackEvents = 'event2,event3,event12';
	s.channel = s.siteName + ':' + s.indication + ':' + s.siteAudience;
	s.prop11 = s.eVar11 = s.channel + ':enroll_' + form;
	s.prop22 = s.eVar22 = q1.toLowerCase();
	s.prop23 = s.eVar23 = q2.toLowerCase();
	s.prop24 = s.eVar24 = q3.toLowerCase();
	s.prop25 = s.eVar25 = q4.toLowerCase();
	s.prop26 = s.eVar26 = q5.toLowerCase();
	s.prop27 = s.eVar27 = q6.toLowerCase();
	s.events = 'event2,event12';
	if (mailinglist != '') {
		s.prop13 = s.eVar13 = s.channel + ':' + mailinglist;
		s.events = s.events + ',event3';
	}
	s.tl(this, 'o', s.pageName + '|enroll_' + form);
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/*
 * Track Update Profile - Used to update the information on a previously
 * enrolled user
 */

function trackUpdateProfile(form, mailinglist, q1, q2, q3, q4, q5, q6) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop11,eVar11,prop13,eVar13,prop22,eVar22,prop23,eVar23,prop24,eVar24,prop25,eVar25,prop26,eVar26,prop27,eVar27';
	s.linkTrackEvents = 'event3,event5,event12';
	s.channel = s.siteName + ':' + s.indication + ':' + s.siteAudience;
	s.prop11 = s.eVar11 = s.channel + ':update_' + form;
	s.prop12 = s.eVar12 = 'updateprofile';
	s.prop22 = s.eVar22 = q1.toLowerCase();
	s.prop23 = s.eVar23 = q2.toLowerCase();
	s.prop24 = s.eVar24 = q3.toLowerCase();
	s.prop25 = s.eVar25 = q4.toLowerCase();
	s.prop26 = s.eVar26 = q5.toLowerCase();
	s.prop27 = s.eVar27 = q6.toLowerCase();
	s.events = 'event5,event12';
	if (mailinglist != '') {
		s.prop13 = s.eVar13 = s.channel + ':' + mailinglist;
		s.events = s.events + ',event3';
	}
	s.tl(this, 'o', s.pageName + '|update_' + form);
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/*
 * Track Form Error - Should be used to track all errors that occur when a user
 * tries to submit a form
 */

function trackFormError(count, msg, form) {

	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop19,eVar19,prop11,eVar11';
	s.linkTrackEvents = 'event14';
	if (count == 1) {
		s.prop19 = s.eVar19 = msg;
	} else {
		s.prop19 = s.eVar19 = 'there_are_multiple_errors';
	}
	s.channel = s.siteName + ':' + s.indication + ':' + s.siteAudience;
	s.prop11 = s.eVar11 = s.channel + ':' + form;
	s.events = 'event14';
	s.tl(this, 'o', s.pageName + '|error_' + form);
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}


/*
 * Track Enroll Event - Should be used when enrollment does not involve answering
 * assessment questions. If user opts-out of joining an email mailing list, pass
 * an empty string to mailinglist.
 */

function trackEnrollEvent(form, mailinglist) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop11,eVar11,prop13,eVar13';
	s.linkTrackEvents = 'event2,event3,event12';
	s.channel = s.siteName + ':' + s.indication + ':' + s.siteAudience;
	s.prop11 = s.eVar11 = s.channel + ':' + form;
	s.events = 'event2,event12';
	if (mailinglist != '') {
		s.prop13 = s.eVar13 = s.channel + ':' + mailinglist;
		s.events = s.events + ',event3';
	}

	s.tl(this, 'o', s.pageName + '|enroll_' + form);
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/*
 * Track Unsubscribe - Should be fired when a user removes themselves from an
 * email mailing list
 */

function trackUnsubscribe(mailinglist) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop14,eVar14';
	s.linkTrackEvents = 'event6';
	s.channel = s.siteName + ':' + s.indication + ':' + s.siteAudience;
	s.prop14 = s.eVar14 = s.channel + ':' + mailinglist;
	s.events = 'event6';
	s.tl(this, 'o', s.pageName + '|unsubscribe' + mailinglist);
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

/*
 * Track Search - Should be used to track use of site search. Note that this
 * function should only be used when the use of s_searchterm and s_searchresults
 * is not working properly.
 */

function trackSearch(terms, count) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop4,eVar4,prop5,eVar5';
	s.linkTrackEvents = 'event1';
	if (count == '0') {
		count = 'None';
	}
	s.prop4 = s.eVar4 = terms.toLowerCase();
	s.prop5 = s.eVar5 = count;
	s.tl(this, 'o', s.pageName + '|search');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

function trackPrintWorksheet(thisObj) {
	_gaq.push(['_trackEvent', 'Print', 'DoctorDiscussion']);

	s.linkTrackVars = 'prop16,eVar16,events';
	s.linkTrackEvents = 'event8,event10';
	s.prop16 = 'flu:patient:Get|Doctor Discussion Guide';
	s.eVar16 = '+1';
	s.events = 'event8,event10';
	s.tl(thisObj, 'o', 'Doctor Discussion Guide');

}

function safetyRollover(thisObj) {
	_gaq.push([ '_trackEvent', 'Page View', 'Important Safety Information']);

    var s_linkTrackVarsTemp = s.linkTrackVars;
    var s_linkTrackEventsTemp = s.linkTrackEvents;

    s.linkTrackVars = 'prop16,eVar16,events';
	s.linkTrackEvents = 'event8';
	s.prop16 = s.pageName + '|Important Safety Information';
	s.eVar16 = '+1';
	s.events = 'event8';
	s.tl(thisObj, 'o', 'Important Safety Information');

    s.linkTrackVars = s_linkTrackVarsTemp;
    s.linkTrackEvents = s_linkTrackEventsTemp;
    clearOmniVar();
}

//Track tool

trackTool = function(toolName){ 
var s_linkTrackVarsTemp = s.linkTrackVars; 
var s_linkTrackEventsTemp = s.linkTrackEvents; 
s.linkTrackVars='events,prop16,eVar16'; 
s.linkTrackEvents='event8'; 
s.channel = s.siteName + ':' + s.indication ; 
s.prop16=s.eVar16=s.channel+':'+toolName; 
s.events='event8'; 
s.tl(this,'o',s.pageName+'|'+toolName); 
s.linkTrackVars = s_linkTrackVarsTemp; 
s.linkTrackEvents = s_linkTrackEventsTemp; 
clearOmniVar(); 
} 


// the flash video player calls the trackVideoEvent function
function trackVideoEvent(eventVars) {
	
	// the eventVars look something like "vid-start|flufacts_psa"
	// so we want to look at particular parts of the event to trigger the right tracking
	var myEventVars = eventVars.split("|"); 

	switch(myEventVars[0]){
	case "vid-start":
		omniVideoStart(myEventVars[1]);
		break;
	case "vid-25%":
		omniVideo25(myEventVars[1]);
		break;
	case "vid-50%":
		omniVideo50(myEventVars[1]);
		break;
	case "vid-75%":
		omniVideo75(myEventVars[1]);
		break;
	case "vid-end":
		omniVideoComplete(myEventVars[1]);
		break;
	case "vid-end":
		omniVideoReplay(myEventVars[1]);
		break;
	}
}

/*
 * FLASH VIDEO TRACKING The following functions should be used to track Video
 * Starts, Completes, 25% Progress, 50% Progress, 75% Progress, and Replays.
 * Note that this is NOT the same tracking as enabled by the Omniture Media
 * Plugin. It is not possible to get this tracking using that plugin.
 * 
 * Each of the following functions should be called at the moment the video
 * passes a given completion point. If a user scrubs past or through a given
 * point, do NOT call the function. If a user scrubs back to a previous
 * completion point, the function should be called again.
 * 
 * omniVideoStart(videoName) omniVideoComplete(videoName) omniVideo25(videoName)
 * omniVideo50(videoName) omniVideo75(videoName) omniVideoReplay(videoName)
 * 
 * videoName should be a string of the appropriate video name. The entire value
 * captured in prop17 can only be 100 characters long. We will be prepending
 * around 30 characters for the channel, so please keep video name less than 70
 * characters.
 * 
 */

function omniVideoStart(videoName) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,eVar17,prop17';
	s.linkTrackEvents = 'event18';
	s.prop17 = s.eVar17 = s.channel + ':' + videoName;
	s.events = 'event18';
	s.tl(this, 'o', s.pageName + '|' + videoName + '| video_start');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

function omniVideoComplete(videoName) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,eVar17,prop17';
	s.linkTrackEvents = 'event19';
	s.prop17 = s.eVar17 = s.channel + ':' + videoName;
	s.events = 'event19';
	s.tl(this, 'o', s.pageName + '|' + videoName + '| video_complete');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

function omniVideo25(videoName) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,eVar17,prop17';
	s.linkTrackEvents = 'event20';
	s.prop17 = s.eVar17 = s.channel + ':' + videoName;
	s.events = 'event20';
	s.tl(this, 'o', s.pageName + '|' + videoName + '| video_25');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

function omniVideo50(videoName) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,eVar17,prop17';
	s.linkTrackEvents = 'event21';
	s.prop17 = s.eVar17 = s.channel + ':' + videoName;
	s.events = 'event21';
	s.tl(this, 'o', s.pageName + '|' + videoName + '| video_50');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

function omniVideo75(videoName) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,eVar17,prop17';
	s.linkTrackEvents = 'event22';
	s.prop17 = s.eVar17 = s.channel + ':' + videoName;
	s.events = 'event22';
	s.tl(this, 'o', s.pageName + '|' + videoName + '| video_75');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

function omniVideoReplay(videoName) {
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,eVar17,prop17';
	s.linkTrackEvents = 'event23';
	s.prop17 = s.eVar17 = s.channel + ':' + videoName;
	s.events = 'event23';
	s.tl(this, 'o', s.pageName + '|' + videoName + '| video_replay');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

