//*****************************************************************
//Link Tracking code
//*****************************************************************
function LinkOmniTrack(e) {
	  var tgName="", srcName="";
	  var btype="";
	  if (window.event) {	//code for ie
	  		btype="IE";
			tgName = window.event.srcElement.tagName;
			srcName = window.event.srcElement.name;
	  } else {				//code for firefox
	  		btype="FF";
	  		tgName = e.target.tagName;
	  		srcName = e.target.name;
	  }	

	if(tgName.toLowerCase() == "a" && srcName == "printArticle" && btype == "FF")
		linkClickOmniTrack("printArticleOmniTrack", "event3");	
	else if(tgName.toLowerCase() == "a" && srcName == "emailtofriend_link" )
		resetLinkTrack();	//clear for preventing refile	
	else if(tgName.toLowerCase() == "a" && srcName == "sendtofriendthankyou_close" )
		linkClickOmniTrack("emailArticleOmniTrack", "event4" );				
	else if(tgName.toLowerCase() == "a" && srcName == "mysupplylist_close" )
		linkClickOmniTrack("saveSupplyListOmniTrack", "event5");
	else if(tgName.toLowerCase() == "a" && srcName == "printProduct" && btype == "FF" )
		linkClickOmniTrack("printProductOmniTrack", "event6");
	else if(tgName.toLowerCase() == "a" && srcName == "locateRetailer" )
		linkClickOmniTrack("retailerLocateOmniTrack", "event7");	
	else if(tgName.toLowerCase() == "img" && srcName.indexOf("plckRateDiv") != -1 )
		pluckProductRateOmniTrack("event8");				
	else if( (tgName.toLowerCase() == "a" || tgName.toLowerCase() == "span" || tgName.toLowerCase() == "img")&& srcName.indexOf("printAnnualProgram" )!= -1 && btype == "FF" )		
		linkClickOmniTrack("annualProgramPrintOmniTrack", "event11");
}

function resetLinkTrack() {
	s.linkTrackVars="None";
	s.linkTrackEvents="None";
	s.events = "";
}

function linkClickOmniTrack(name, et) {
		if (s == null) {
			// avoid unless not yet defined as it can reset .pageName ...
			var s=s_gi(omnitureGetAccount("customTrk1"));
		}
		s.linkTrackVars="events";
		s.linkTrackEvents=et;
		s.events=et;
		//s.t();
		s.tl(this,'o');
		resetLinkTrack();
}

function printArticleOmniTrack() {
		s.linkTrackVars="events";
		s.linkTrackEvents="event3";
		s.events="event3";
		s.t();
		resetLinkTrack();
}

function printProductOmniTrack() {
		s.linkTrackVars="events";
		s.linkTrackEvents="event6";
		s.events="event6";
		s.t();
		resetLinkTrack();
}

function pluckProductRateOmniTrack(et) {
		s.linkTrackVars="events";
		s.linkTrackEvents=et;
		s.events=et;
		s.t();
		resetLinkTrack();
}

function webVoicePopOmniTrack() {
		s.linkTrackVars="events";
		s.linkTrackEvents="event9";
		s.events="event9";
		s.tl(this,'o');
		resetLinkTrack();
}


function annualProgramPrintOmniTrack() {
		s.linkTrackVars="events";
		s.linkTrackEvents="event11";
		s.events="event11";
		s.t();
		resetLinkTrack();
}

function productTabUsageOmniTrack(productId) {
	s.events=s.apl(s.events,'event1',',',2);
	s.products=";"+productId;
	s.prop1="usage";
	s.t();
	resetLinkTrack();
}

function productTabHelpOmniTrack(productId) {
	s.events=s.apl(s.events,'event1',',',2);
	s.products=";"+productId;
	s.prop1="help";
	s.t();
	resetLinkTrack();
}

function productTabRelatedOmniTrack(productId) {
	s.events=s.apl(s.events,'event1',',',2);
	s.products=";"+productId;
	s.prop1="related";
	s.t();
	resetLinkTrack();
}
//*****************************************************************

function OmnitureCustomTracking(){

	//get alt text from an IMG element
	this.getAlt=function(element){
		if (typeof element.attributes != 'undefined') {
			var alt=element.attributes.getNamedItem('alt');
			if (alt && typeof alt.value!='undefined') return alt.value;
		}
		return '';
	};

	//get title text from an A element
	this.getTitle=function(element){
		if (typeof element.attributes != 'undefined') {
			var title=element.attributes.getNamedItem('title');
			if (title && typeof title.value!='undefined') return title.value;
		}
		return '';
	};

	//get a name for the link from the link text, image alt text, image filename, or area alt text
	this.getName=function(a){
		var name='';
		name = this.getTitle(a);
		if (name == '' && typeof a.getElementsByTagName == 'function') {
			var imgs = a.getElementsByTagName('img');
			if (imgs.length) {
				name = this.getAlt(imgs[0])
				if (name == '') name = imgs[0].src.replace(/^.*\//,'');
				if (name != '') name = "IMAGEof " + name;
			}
		}
		if (name == '' && typeof a.innerHTML != 'undefined') 
			name = a.innerHTML.replace(/^\s*/, '').replace(/\s*$/, '');

		name = name.replace(/[®©™]/g,'').replace(/<sup><\/sup>/gi,'');
		if (name.length>50) name = name.substring(0,50).replace(/\w+$/,'')+'...';
		return name;
	};

	//use Omniture custom link tracking to track a click
	this.trackLink=function(a,name){
		if (!name) name = this.getName(a);
		if (s == null) {
			// avoid unless not yet defined as it can reset .pageName ...
			var s=s_gi(omnitureGetAccount("customTrk1"));
		}
		s.tl(a,'o',s.pageName + ' - '+name);
	};

	// track content views within Flash
	this.trackFlashView=function track(pageName,prop12){
		if (s == null) {
			// avoid unless not yet defined as it can reset .pageName ...
			var s=s_gi(omnitureGetAccount("customTrk1"));
		}
		if (typeof pageName != 'string' || pageName == '') {
			pageName = 'Unnamed flash event (' + document.location + ')';
		}
		s.pageName = pageName;
		if (typeof prop12 == 'string') s.prop12=prop12;
		void(s.t());
	};

	//modify onclick events for all anchors and areas within <div class="omniTracking">
	this.updateDivs=function(){
		var divs=document.getElementsByTagName('div');
		for (var i=0;i<divs.length;i++){
			if (divs[i].className == 'omniTracking') {
				var anchors = divs[i].getElementsByTagName('a');
				if (anchors.length) this.updateOnclicks(anchors);
				var areas = divs[i].getElementsByTagName('area');
				if (areas.length) this.updateOnclicks(areas);
			}
		}
	};

	//add or update onclick events to include custom link tracking
	this.updateOnclicks = function(anchors){
		for(var i=0;i<anchors.length;i++){
			var onclick='';
			if (anchors[i].onclick!=null&&typeof anchors[i].onclick!='undefined') {
				onclick=anchors[i].onclick.toString().replace(/^(?:.|\r|\n)*?\{/g, '').replace(/(.*)\}/, '$1');
			}
			anchors[i].onclick = new Function('omnitureTrackClick(this);'+onclick);
		}
	};
}

function trackFlashView(pageName,prop12) {
	var omnitureCT = new OmnitureCustomTracking();
	omnitureCT.trackFlashView(pageName,prop12);
}

function omnitureTrackClick(a,name) {
	var omnitureCT=new OmnitureCustomTracking();
	omnitureCT.trackLink(a,name);
}

var omnitureCT = new OmnitureCustomTracking();
omnitureCT.updateDivs();
