/* Permet de recharger le script à chaque fois. S'il a déjà été lancé, il sera ignoré. */
if (!window.pageLoad){

	/* Ajout d'un ecouteur compatible IE/FF.
	element : element HTML de la page (getElement...)
	surAction: "change" pour "onchange", etc.
	fonction : fonction à executer.
	exemple addListen(getElementById('test'),'click',maFonction); */
	function addListen(element, surAction, fonction) {
		if (element.addEventListener) { // Standard
			element.addEventListener(surAction,fonction,false);
		} else if (element.attachEvent) { // MSIE
			element.attachEvent('on'+surAction,fonction);
		}else { // pas de DOM-event
   			 eval('element.on' + surAction + '= fonction') ;
  		}
	}

	function getStandardEvent(e) {
		// MSIE recup de l'evenement en cours
		if (e == null && window.event) { e = window.event ; }
		if (e.target == null && e.srcElement) { e.target = e.srcElement ; }
		if (! e.preventDefault ){ e.preventDefault = function () { this.returnValue = false ; } ; }
		if (! e.stopPropagation ){ e.stopPropagation = function () { this.cancelBubble = true ; } ; }
		return e ;
	}

	/* Lance toutes les fonctions présentes dans le tableau loadFunctions */
	function pageLoadDo(){
		var ipageLoad;
		for(ipageLoad=0; ipageLoad < window.loadFunctions.length; ipageLoad++){
			if(typeof(window.loadFunctions[ipageLoad]) == 'function'){
				window.loadFunctions[ipageLoad]();
			} else {
				eval(window.loadFunctions[ipageLoad]);
			}
		}
	}

	/* Ajoute des fonctions au chargement de la page */
	function pageLoad(fonction){
		if(window.loadFunctions == undefined){
			window.loadFunctions = new Array();
			window.onload=function(){ pageLoadDo(); }
		}
		window.loadFunctions.push(fonction);
	}
}

function popup(e) {
	// ouvre le lien dans une popup et pas dans une page normale
	// e : evenement de clic
	e = getStandardEvent(e);
	var link =  e.target;
	var addr = link.getAttribute('href');
	window.open(addr, '_blank');
	e.preventDefault();
	return false ; //Safari
}

function carteLudo(e) {
	e = getStandardEvent(e);
	var link =  e.target;
	var addr = link.getAttribute('href');
	window.open(addr, '_blank', 'status=no, toolbar=no, location=no, menubar=no, personalbar=no, width=625, height=600, resizable=yes, scrollbars=yes, dependent=yes');
	e.preventDefault();
	return false ; //Safari
}

function referenceLiensCarteLudo() {
	var lien, liste, i ;
	// Parcours de l'ensemble des liens
	liste = document.getElementsByTagName('a') ;
	for(i=0; i<liste.length; i++) {
	 	lien = liste.item(i) ;
	 		// si ils possèdent la classe popup
			if (lien.getAttribute('href') && lien.className) {
				if ((' '+lien.className+' ').indexOf(' carteLudo ') != -1) {
					// On ajoute un écouteur.
					addListen(lien, 'click', carteLudo) ;
				}
			}
	}
}

//Préparation du listener.
pageLoad(referenceLiensCarteLudo);