// Fonction générique pour attacher un événement
var videodejavu='';

function addListener(element, baseName, handler) {
		if (element.addEventListener)
				element.addEventListener(baseName, handler, false);
		else if (element.attachEvent)
				element.attachEvent('on' + baseName, handler);
} // addListener

function getFollowElements() {
	var elementsA = document.getElementsByTagName('a');
	var elementsObject = document.getElementsByTagName('object');
	var elementsEmbed = document.getElementsByTagName('embed');
	for (var index = 0; index < elementsA.length; ++index) {
		var classAttribute =elementsA.item(index).className;
		if(null!=classAttribute) {
			// On recherche la classe "download"
			var resultat = classAttribute.search(/download/);
 			if(resultat != -1) {
				addListener(elementsA.item(index),'click',addGoogleAnalytics);
			}
		}
	}
	for (var index = 0; index < elementsObject.length; ++index) {
		addListener(elementsObject.item(index),'click',addGoogleAnalytics);
	}
	for (var index = 0; index < elementsEmbed.length; ++index) {
		addListener(elementsEmbed.item(index),'click',addGoogleAnalytics);
	}
}

function addGoogleAnalytics(e){
	e = e || window.event;
	var cible = e.target || e.srcElement;
	switch(cible.tagName) {
		case 'A':
			var filename;
			var attrib = cible.attributes;
			for(var i=0;i<attrib.length; i++) {
				if(attrib[i].nodeName=='href'){
					filename=attrib[i].nodeValue.split('/').pop();
					//alert('google analytics - décommenter dans tools.js; cible:/download/'+filename);
					pageTracker._trackPageview('/download/'+filename);
				}
			}
			break;
		case 'EMBED':
			var filename;
			var attrib = cible.attributes;
			for(var i=0;i<attrib.length; i++) {
				if(attrib[i].nodeName=='flashvars'){
					filename=attrib[i].nodeValue.split('/').pop().split('&').shift();
					if(videodejavu.indexOf(filename)>0){
						//alert('deja clique:'+filename);
					}else{
						//alert('google analytics - décommenter dans tools.js; cible:/video/'+filename);
						pageTracker._trackPageview('/video/'+filename);
						videodejavu+=','+filename;
					}
				}
			}
			break;
		case 'OBJECT':
			var filename;
			var enfantscible = cible.childNodes;
			for(var i=0;i<enfantscible.length; i++){
				if(enfantscible[i].name=='flashvars'){
					filename = enfantscible[i].value.split('file').pop().split('&').shift().split('/').pop();
					if(videodejavu.indexOf(filename)>0){
						//alert('deja clique:'+filename);
					}else{
						//alert('google analytics - décommenter dans tools.js; cible:/video/'+filename);
						pageTracker._trackPageview('/video/'+filename);
						videodejavu+=','+filename;
					}
				}
			}

			break;
	}
}

addListener(window, 'load', getFollowElements);