/*
 * 
 */
function connectLinks() {
	var trakken_extract; 
	var ga_link; 
	var ga_call;
	var a_tags = document.body.getElementsByTagName("a");
	
	

	for (var i = 0; i < a_tags.length; i++) {
	
		if (a_tags[i].href != "") {
			// Set relevant variables
			var link_href = a_tags[i].href;
			var link_onclick = a_tags[i].onclick;
			
			// Checks if Link is Outbound Link
			var outbound = false;
			var inbound_doc = false;
			var mail = false;
			var site = location.pathname;

			
			// Checks if Onclick is defined
			var check_onclick = false;
			if((link_onclick != null) || (link_onclick != undefined)) { check_onclick = true; }

			
			trakken_extract = link_href.match(/[-\w]*..*\.[a-zA-Z]*/);
			ga_link = (trakken_extract != null ? trakken_extract[0] : '');//			ga_link = trakken_extract[0];
			var mail_doc_name = '';
			
			if(ga_link.match('mailto')){
				//email
				mail = true;
				for(var j = ga_link.length; j >= 0; j--){
					if(ga_link.charAt(j) == ':'){
						mail_doc_name = ga_link.substring(j + 1, ga_link.length);
						break;
					}
				}
			}else{
				for(var j = ga_link.length; j >= 0; j--){
					if(ga_link.charAt(j) == '/'){
						mail_doc_name = ga_link.substring(j + 1, ga_link.length);
						break;
					}
				}
				var link_host = (link_href.split('//').length > 1 ? link_href.split('//')[1].split('/')[0] : "");
		
				if(a_tags[i].href != "" && link_host != document.location.host){ 					
					outbound = true; 
				}else{
					if(ga_link.match('pdf')){
						inbound_doc = true;
					}
				}
			}	
				
			if((outbound && !inbound_doc) || (!outbound && inbound_doc) || (!outbound && !inbound_doc && mail)){
				// Set onClick if native OnClick is not defined
				for(var j = 1; j < site.length; j++){
					if(site.charAt(j) == '/'){
						site = site.substring(j + 1, site.length);
						break;
					}
				}
				
				if(site.charAt(site.length - 1) == '/'){
					site = site.substring(0, site.length - 1);
				}	
				
				
				var pageView = '';
				site = site.toLowerCase();
				
				if(check_onclick == false){
					
					
					if(outbound){
						//outbound link
						pageView = '/outbound/' + site + '/' + ga_link;
					}else{
						if(inbound_doc){
							//download
							pageView = '/download/' + site + '/' + mail_doc_name;
						}else{
							//email
							pageView = '/email/' + site + '/' + mail_doc_name;
						}
					}
				
					ga_call = '_gaq.push(["_trackPageview","' + pageView + '"]);';
					//alert(ga_call);
					a_tags[i].onclick = new Function(ga_call);
						
					
				} else {
					// Overwrite onClick if native onclick exists
					if(outbound){
						//outbound link
						pageView = '/outbound/' + site + '/' + ga_link;
					}else{
						if(inbound_doc){
							//download
							pageView = '/download/' + site + '/' + mail_doc_name;
						}else{
							//email
							pageView = '/email/' + site + '/' + mail_doc_name;
						}
					}
				
					ga_call = '_gaq.push(["_trackPageview","' + pageView + '"]);';
					
					var link_onclick_code = link_onclick.toString().split('{')[1].split('}')[0] + ga_call;
					//alert(link_onclick_code);
					a_tags[i].onclick = new Function(link_onclick_code);
						
				}
			}
				
			
		}
	}
}


