// Seguimiento enlaces externos con Google Analytics


var etiqueta_descarga="Descarga";
var etiqueta_externo="Externo";

function cargar_seguimiento(){
	
	//Hacer llamadas a las funciones de seguir enlaces
	
	/******************[seguir_enlaces_externos]*******************/
	var array_ext_no_enlaces = new Array(); //Array con las extensiones en las que no se deben hacer el seguimiento de enlaces
	
	add_extension(array_ext_no_enlaces,'pdf');
	add_extension(array_ext_no_enlaces,'gif');
	add_extension(array_ext_no_enlaces,'jpg');
	add_extension(array_ext_no_enlaces,'bmp');	
	seguir_enlaces_externos(array_ext_no_enlaces);
	
	
	/******************[seguir_enlaces_externos_ext]*******************/		
	seguir_enlaces_externos_ext('pdf');
	

}



function seguir_enlaces_externos(ext_no_enlaces){

		 var enlaces = document.getElementsByTagName("a");
		 for (var i=0; i<enlaces.length; i++) { //recorrer enlaces
			if (enlaces[i].getAttribute("target") == "_blank" || enlaces[i].getAttribute("rel") == "external"){//Si es externo
			
				//Por cada enlace recorrer y comprobar la extension
				for(var b=0;b<ext_no_enlaces.length;b++){
					var ruta=enlaces[i].href.toUpperCase();
					if(ruta!=null){
						if(ruta.indexOf("."+ext_no_enlaces[b].toUpperCase())==-1){ 
							//cargar el evento click
							addEvent(enlaces[i], 'click', click_enlace);
						}else{
							b=ext_no_enlaces.length;
						}
					}
				}
				//Si no existe ninguna extension de las que no tienen que hacer seguimiento
				if(ext_no_enlaces.length==0){
					addEvent(enlaces[i], 'click', click_enlace);
				}
				
			}
		 }

}

function seguir_enlaces_externos_ext(extension){	
	var enlaces = document.getElementsByTagName("a");
	 for (var i=0; i<enlaces.length; i++) { //recorrer enlaces
	 	if (enlaces[i].getAttribute("target") == "_blank" || enlaces[i].getAttribute("rel") == "external"){//Si es externo
			//Si el enlace contiene la extension carga el evento
			var ruta=enlaces[i].href.toUpperCase();
			if(ruta!=null){
				if(ruta.indexOf("."+extension.toUpperCase())!=-1){ 
				//cargar el evento click
					addEvent(enlaces[i], 'click', click_archivos);
				}
			}
		}
	 }
}

function seguir_enlaces_externos_enlaces(array_enlaces){

		 var enlaces = document.getElementsByTagName("a");
		 for (var i=0; i<enlaces.length; i++) { //recorrer enlaces
			//if (enlaces[i].getAttribute("target") == "_blank" || enlaces[i].getAttribute("rel") == "external"){//Si es externo
			
				//Por cada enlace recorrer y comprobar la extension
				for(var b=0;b<array_enlaces.length;b++){
					var ruta=enlaces[i].href;
					if(ruta!=null){
						
						if(ruta.indexOf(array_enlaces[b])!=-1){ 
							//cargar el evento click
							addEvent(enlaces[i], 'click', click_enlace);
						}
					}
				}

//			}
		 }
}



function click_enlace(evnt){
         ev = (evnt) ? evnt : event;
         enlace_actual = (ev.target) ? ev.target : ev.srcElement;		 
		 pageTracker._trackPageview(etiqueta_externo+"/"+limpiar_href(enlace_actual.href));
		 
}

function click_archivos(evnt){
         ev = (evnt) ? evnt : event;
         enlace_actual = (ev.target) ? ev.target : ev.srcElement;
		 pageTracker._trackPageview(etiqueta_descarga+"/"+limpiar_href(enlace_actual.href));
		 
}



/*Funciones secundarias*/

function limpiar_href(ruta){
	var href_limpia=ruta;
	href_limpia=href_limpia.replace("http://","");
	href_limpia=href_limpia.replace("https://","");
	return href_limpia;
}




function add_extension(array_extensiones,extension){
	array_extensiones[array_extensiones.length]=extension;
}


/** Marcadores Sociales***/
function seguir_marcadores_sociales(marcadores){	
	 	
	  var enlaces = document.getElementsByTagName("a");
	  
		 for (var i=0; i<enlaces.length; i++) { //recorrer enlaces
				//Por cada enlace recorrer y comprobar si es un marcador
				
				for(var b=0; b<marcadores.length; b++){
					var ruta=enlaces[i].href;
					if(ruta!=null){
						if(ruta.indexOf(marcadores[b])!=-1){ 
							//cargar el evento click
							addEvent(enlaces[i], 'click', click_marcadores);
						}
					}
				}


		 }

}

function click_marcadores(evnt){
         ev = (evnt) ? evnt : event;
         enlace_actual = (ev.target) ? ev.target : ev.srcElement;
		 
		 try {pageTracker._trackEvent('socialBookmarks',enlace_actual.alt,window.location.pathname);}catch(err) {};
}



/****/



/**/

//Lanzar el evento onload del body

function addEvent(obj, evType, fn){ 
 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', cargar_seguimiento);