 
 /*

MOSS ADAMS TRACKING SCRIPT

*/

function trackLinks()
{//Function applies tracking to all links on page
	function divTracking(divID, tagType)
	{
		try
		{//Tracks links inside of the Accordion div
			var linksToTrack = document.getElementById(divID).getElementsByTagName(tagType) ; 

			var pageTitle = document.title;
			for (var i=0;i < linksToTrack.length;i++)
			{			
				var linkDest = linksToTrack[i].href;
				
				
				if(tagType=="a")
				{
					if(divID=="Carousel")
					{
						var linkText = linksToTrack[i].title;
					}
					else
					{
						var linkText = linksToTrack[i].innerHTML;	
					}
				}
				else if(tagType=="img")
				{
					var linkText = linksToTrack[i].title;
				}
				
				if(linksToTrack[i].onclick != null)
				{
						var firstClick = zoneHomeLinks[i].getAttribute("onclick");
					linksToTrack[i].setAttribute("onclick",firstClick + ';' + eventTracking(divID, linkText));
				}
				else 
				{
					linksToTrack[i].setAttribute("onclick",eventTracking(divID, linkText));
				}
			}
		}
		catch(err){}
	}
	var eventTracking = function(divID, linkText){return "javascript: _gaq.push(['_trackEvent', '" + document.title + "','" + divID + "','" +  linkText + "']);";};
	divTracking("Accordion", "a", eventTracking);
	divTracking("rightArrow", "img", eventTracking);
	divTracking("leftArrow", "img", eventTracking);
	divTracking("SocialNetworkingTop", "a", eventTracking);
	divTracking("ExtendedFooter", "a", eventTracking);
	divTracking("contactUsDropdown", "a", eventTracking);	
	divTracking("Carousel", "a", eventTracking);	
		
	try
	{//Tracks links inside of the searchButton div
		var searchButtonLinks = document.getElementById('plc_lt_zoneTopMenu_SearchBox_btnSearch'); 

			if(searchButtonLinks.onclick != null)
			{
				var firstClickUnSplit = searchButtonLinks.onclick.toString();
				var firstSplit = firstClickUnSplit.split(";");
				var secondSplit = firstSplit[0].split("{");
				var firstClick = secondSplit[1] + ";";
				searchButtonLinks.setAttribute("onclick",firstClick + "javascript: searchTracking();");
			}
			else 
			{
				searchButtonLinks.setAttribute("onclick","javascript: searchTracking();");
			}
		
	}
	catch(err){}

	function divTrackNumeric(divID, tagType, trackedName)
	{	
		var allDivs = document.getElementsByTagName("div");

		for (var j=0; j<allDivs.length; j++)
		{//Tracks links in the zoneCenterLinks classed div

			if (allDivs[j].className == divID)
			{	
				var pageTitle = document.title;
				var zoneHomeLinks = allDivs[j].getElementsByTagName(tagType) ;
				
				for (var i=0;i < zoneHomeLinks.length;i++)
				{									
					var linkDest = zoneHomeLinks[i].href;
					var linkText = zoneHomeLinks[i].innerHTML;
					
					linkText = linkText.replace(/<strong>/gi, "");
					linkText = linkText.replace(/<\/strong>/gi, "");
					linkText = linkText.replace(/ /gi, "_");
					linkText = linkText.replace(/__/gi, "");
					
					if(zoneHomeLinks[i].onclick != null)
					{
						var firstClick = zoneHomeLinks[i].getAttribute("onclick");					
						zoneHomeLinks[i].setAttribute("onclick",firstClick + "javascript: _gaq.push(['_trackEvent', '" + document.title + "','" + trackedName + "','" + i + "_" + escape(linkText) + "']);");
					}
					else 
					{
						zoneHomeLinks[i].setAttribute("onclick","javascript: _gaq.push(['_trackEvent', '" + document.title + "','" + trackedName + "','" + i + "_" + escape(linkText) + "']);");
					}
				}
			}
		}				
	}
	divTrackNumeric("zoneHome", "a", "insights_webcasts");
	divTrackNumeric("searchResultsContainer", "a", "search_results");	
}

function searchTracking()
{
		try
	{//Tracks links inside of the searchButton div
			var pageTitle = document.title;
			var linkDest = "Search Submitted";
			var linkText = document.getElementById('plc_lt_zoneTopMenu_SearchBox_txtWord').value;
			
			_gaq.push(['_trackEvent', document.title, 'searchButton', linkText]);

		
	}
	catch(err){}
}


function addEvent(obj, evType, fn)
{ //function adds an event listener to append link tracking on load
	if (obj.addEventListener)
	{ 
	   obj.addEventListener(evType, fn, false); 
	   return true; 
	} 
	else if (obj.attachEvent)
	 { 
	   var r = obj.attachEvent("on"+evType, fn); 
	   return r; 
	} 
	else 
	{ 
	return false; 
	} 
}
addEvent(window, 'load', trackLinks);


