 /*

Google Supplied Page View Tracking Script

*/

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-10866760-3']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();


 /*

By Link Type Tracking Script

*/

function trackLinks()
{//Function applies tracking to all links on page
	function divTracking(divID, tagType)
	{
		try
		{//Send different data depending on what type of link or the absence of link text in favor of an image, etc.
			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 the link is an anchor
				if(tagType=="a")
				{	
					//Special conditions for the links inside the accordion. 
					if(divID=="Accordion")
					{
						var linkText = linksToTrack[i].innerHTML;
						
						//Condition for when the link is an image inside the accordion.
						if(linkText.indexOf('<img') != -1) {
							var imgSrcStartIndex = linkText.indexOf('src=');
							var imgSrcEndIndex = (linkText.indexOf('.gif') != -1) ? linkText.indexOf('.gif') : linkText.indexOf('.jpg');
							linkText = linkText.substring(imgSrcStartIndex+5, imgSrcEndIndex+4);
						}						
					} else {
						//Tracks links based on title. Examples: the 4 home page buttons, and the contact us link.  homeZoneWrapperInner=4 home buttons
						var linkText = linksToTrack[i].title;
					}
				}
				
				//If the link is an image tag
				else if(tagType=="img")
				{
					var linkText = linksToTrack[i].title;
				}
				
				//If the link action is controlled by a javascript onlick event
				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){}
	}
	
	//Select the links which will have tracking applied to them.
	var eventTracking = function(divID, linkText){return "javascript: _gaq.push(['_trackEvent', '" + document.title + "','" + divID + "','" +  linkText + "']);";};
	divTracking("HeaderRight", "a", eventTracking);
	divTracking("homeZoneWrapperInner", "a", eventTracking);
	divTracking("Accordion", "a", eventTracking);
	divTracking("ExtendedFooter", "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;
					
					if (trackedName == "search_results") {
						linkText = linkText.replace(/<strong>/gi, "");
						linkText = linkText.replace(/<\/strong>/gi, "");
						linkText = linkText.replace(/ /gi, "_");
						linkText = linkText.replace(/__/gi, "");
					} else if (trackedName == "Transactions") {
						linkText = linkText.replace(/<img src="/gi, "");
						linkText = linkText.replace(/style="width: 150px; height:/gi, "");
						linkText = linkText.replace(/alt=""><br>/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("searchResultsContainer", "a", "search_results");
	
	//Only run this piece if we are in the Transactions pages
	var url = window.location.pathname;
	if (url.indexOf("Transactions") != -1) divTrackNumeric("page_content", "a", "Transactions");
}

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);


