//	Javascript to tag file downloads and external links in Google Analytics
//	To use, place reference to this file should be placed at the bottom of all pages, 
//	just above the Google Analytics tracking code.
//	All outbound links and links to non-html files should now be automatically tracked.
//  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//	Created by: 	Colm McBarron, colm.mcbarron@iqcontent.com
//	Last updated: 	12-Feb-2006
//
//	Updated by:		Niamh Phelan niamh.phelan@iqcontent.com
//	On:				22-Jul-2008
//	For:			Upgrade to ga.js	
//
//	Updated by:		Peter McKenna peter.mckenna@iqcontent.com
//	On:				07-Nov-2008
//	For:			Track mailto: links and restructure how virtual
//          		pageviews are structured
//
//	Updated by:		Peter McKenna peter.mckenna@iqcontent.com
//	On:				19-Feb-2009
//	For:			Fixed up some problems with how Internet 
//					Explorer 6 was tracking links, and some minor
//					Firefox issues.
//	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// MOD> SF 11-12-09 


var hrefs = document.getElementsByTagName("a");
var link_path = "";


	for (var l = 0; l < hrefs.length; l++) {
		try {
			// Add the hostname and link location into variables
			var link_path = hrefs[l].pathname;
			var link_location = String(hrefs[l]);
			var regex_mail = new RegExp("/^mailto:", "i");
			var regex_link = new RegExp("/axisdocument", "i");

			// Check if it's a mail link
			if (regex_mail.test(link_location)) {
			//* Stats pour click courriel OFF
			//	addmailtotrackerlistener(hrefs[l]);
			}
			// Check to see if the link is an internal link
			else if (location.host == hrefs[l].hostname) {
				if(regex_link.test(link_location)) {
					addtrackerlistener(hrefs[l]);
				}
			}
		}
		catch(err) { }
	}


// Add a listener to matching file links
function addtrackerlistener(obj) {
	if (obj.addEventListener) {
		obj.addEventListener('click', trackfiles, true);
	} else if (obj.attachEvent) {
		obj.attachEvent("on" + 'click', trackfiles);
	}
}


// Add a special listener to mailto: links
function addmailtotrackerlistener(obj) {
	if (obj.addEventListener) {
	//	obj.addEventListener('click', trackmailto, true);
	} else if (obj.attachEvent) {
	//	obj.attachEvent("on" + 'click', trackmailto);
	}
}


// Track file links
function trackfiles(array_element) {
	try {
		/*var query = array_element.href;*/
		var query =(array_element.srcElement) ? array_element.srcElement.href : this.href;
		var re1 = query.split('id=')
		var re2 = query.split('document=')
		var re3 = query.split('langue=');
		
		// Id document
		if(re1 != null) {
		try {
		    var found1 = re1[1];
			var index1 = found1.split("&")
			var idDocument = index1[0]
			}
		 catch(err)
		    {
		    var idDocument = " ";
		    }
		}
		else{var idDocument = " "}
		
		// Nom du document avec l'extension
		if(re2 != null) {
		try {
		    var found2 = re2[1]
			/* Gestion du & dans nom de fichier */
			//var index2 = found2.split("&")
			//var documentName = index2[0];
			var documentName = found2;
			}
	    catch(err)
		    {
			var documentName = " ";
		    }
		 }
		 else{var documentName = "Non disponible"}
		 
		// Langue
		if(re3 != null) {
		try {
		    var found3 = re3[1];
			var index3 = found3.split("&")
			var lang = index3[0]
			}
		catch(err)
		    {
		    var lang = " ";
		    }
		}
		else{var lang = " "}
		
		
		var file_path = "";
		//var file_path = "/Telechargement/ " + idDocument + " " + documentName + " " + lang + " /";
		file_path = "/" + lang + "/documents/" + idDocument + "-" + documentName + "/axisdocument.aspx?id=" + idDocument + "&download=true";
		
		pageTracker._trackPageview(file_path);
	}
	catch (err) { }
}

// Generate page view for a mailto: link
function trackmailto(array_element) {
	var email = ((array_element.srcElement) ? array_element.srcElement.href : this.href).substring(7);
	var url = cleanURL(window.location, true);
	var mail_path = '/virtual/mailto/'+url+'/'+email;
	pageTracker._trackPageview(mail_path);
}

// Clean leading & trailing slashes
function cleanURL (url, end) {
	var url = url.toString();
	var urlLen = url.length;
	
	if (end) {
		if (url.charAt((urlLen-1))=='/') {
			url = url.substring(0,(urlLen-1));
		}
	} else {
		if (url.charAt(0)=='/') {
			url = url.substring(1,urlLen);
		}
	}
	return url;
}