//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();
}

/* 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();
}


/*
 * 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 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 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();
}

// the flash video player calls the geneVideoTrack function
geneVideoTrack = function( videoName, eventName ) {

	var foo = videoName.split('http://kadiumpul.vo.llnwd.net/o23/');
	var videoName = foo[1];
	
	//unique video name for tracking purposes -- not using filename
	if(videoName.indexOf('video/understanding/Video-3_Final') > -1) {
		videoName = 'PZ-treatment-everyday';
	}	

	switch(eventName){
	case "start":
		omniVideoStart(videoName);
		break;
	case "25%":
		omniVideo25(videoName);
		break;
	case "50%":
		omniVideo50(videoName);
		break;
	case "75%":
		omniVideo75(videoName);
		break;
	case "complete":
		omniVideoComplete(videoName);
		checkPostSurvey(videoName);
		break;
	case "replay":
		omniVideoReplay(videoName);
		break;
	} // end switch
} // end geneVideoTrack

/*
 * 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 + ':video_start';
	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 + ':video_complete';
	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 + ':video_25';
	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 + ':video_50';
	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 + ':video_75';
	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 + ':video_survey_3_replay';
	s.events = 'event23';
	s.tl(this, 'o', s.pageName + '|' + videoName + '| video_survey_3_replay');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}

function trackPopup(popupName){
    s.tl(this,'o',s.pageName + '|'+popupName);
    s.linkTrackVars = s_linkTrackVarsTemp; 
    s.linkTrackEvents = s_linkTrackEventsTemp; 
    clearOmniVar();
}


/*********************************************************************************************************/
/* Track Survey- Should be used when the sury form goes from 1 form page to the next. */

function trackSurvey(form){ 
	var s_linkTrackVarsTemp = s.linkTrackVars;
	var s_linkTrackEventsTemp = s.linkTrackEvents;
	s.linkTrackVars = 'events,prop16,eVar16';
	s.linkTrackEvents = 'event8';
	s.prop16 = s.eVar16 = 'Video Survey 3 '+ form;
	s.channel = s.siteName + ':' + s.indication + ':' + s.siteAudience;
	s.prop16 = s.eVar16 = s.channel + ':' + 'Video Survey 3 '+ form;
	s.events = 'event8';
	s.tl(this, 'o', s.pageName + '|PZ Survey');
	s.linkTrackVars = s_linkTrackVarsTemp;
	s.linkTrackEvents = s_linkTrackEventsTemp;
	clearOmniVar();
}
