/*
	Affichage (ou non) des publicités OpenAdStream (OAS), en fonction du code renvoyé par OAS.
	Principe de fonctionnement :
	- On initialise ce fichier, en modifiant éventuellement les valeurs dans la fonction OAS_setup
	- On appelle cette fonction dans chacune des pages où les pubs doivent^paraître, avec comme seuls arguments la liste des positions et le nom de la page
	- Les pubs sont appelées par la fonction OAS_pub, qui affiche le résultat de la fonction OAS dans un div de classe "pub" (utilisé pour le stylage)
	- On appelle au chargement de la page, une fonction qui liste tous les éléments image. S'il détecte la chaîne "empty.gif", il supprime l'image et son lien, et enlève la classe du div.
*/
function getElementsByClassName(classname) {
	/*
		Retourne tous les éléments de la page possèdant la classe 'classname', même dans le cas où l'élément comporterait plusieurs classes
		2006-12, M.Brillault
	*/
	var tab = new Array();
	//	On commence par lister tous les éléments de la page
	var elements = document.getElementsByTagName('*');
	
	//	On boucle ensuite sur ces éléments et on isole leur classe, le cas échéant.
	for(var i =0; i < elements.length; i++) {
		//	On détermine la classe (ou les classes) de l'élément ciblé
		//alert('nom classe : ' + elements[i].className);
		var classe = elements[i].className;
		if(classe != '') {
			//	Dans le cas où un élément possède plusieurs classes, on les isole
			var tab_class = classe.split(" ");
			for(var j = 0; j < tab_class.length; j++) {
				if(tab_class[j] == classname)
				//	Si l'élément possède la classe désirée, on ajoute l'élément à l'array tab
				tab.push(elements[i]);
			}
		}
	}
	return tab;
}

function addLoadEvent(func) {
	/*
		Active une fonction au chargement de la page
		Trouvé sur http://simonwillison.net/2004/May/26/addLoadEvent/
	*/
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
		window.onload = func;
	else {
		window.onload = function() {
			if (oldonload)
				oldonload();
			func();
		}
	}
}

function OAS_setup(listpos, sitepage) {
	OAS_url ='http://653.studyrama.com/';
	OAS_query = '';
	OAS_rn = new String (Math.random());
	OAS_rns = OAS_rn.substring (2, 11);
	OAS_sitepage = sitepage;
	OAS_listpos = listpos;
	OAS_version = 11;
	if (navigator.userAgent.indexOf('Mozilla/3') != -1)
		OAS_version = 10;
	if (OAS_version >= 11)
		document.write('<sc'+'ript type="text/javascript" src="' + OAS_url + '4/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + OAS_query + '"><\/script>');
}

function OAS_NORMAL(pos) {
	document.write('<A HREF="' + OAS_url + '1c/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" TARGET=_top>');
	document.write('<IMG SRC="' + OAS_url + '1/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" BORDER=0 ALT="Click!"></A>');
}

function OAS_AD(pos) {
	if (OAS_version >= 11 && typeof(OAS_RICH!='undefined'))
		OAS_RICH(pos);
	else
		OAS_NORMAL(pos);
}


function OAS_pub(position) {
	document.write('<div class="pub">');
	OAS_AD(position);
	document.write('</div>');
}

/*addLoadEvent(function() {
	var images = document.getElementsByTagName('img');
	var vide = "empty.gif";
	for(var i = 0; i < images.length; i++) {
		var src = images[i].src;
		if(src.indexOf(vide, 0) != -1) {
			var div = images[i].parentNode.parentNode;
			div.removeChild(div.firstChild);
			div.removeAttribute('class');
		}
	}
});*/
addLoadEvent(function() {
	var vide = 'empty.gif';
	//	On retrouve tous les éléments publicitaires
	var pubs = getElementsByClassName('pub');
	for(var i=0; i < pubs.length; i++) {
		var suppr = false;
		//On récupère le permier enfant des pubs. Dans le cas qui nous intéresse, il s'agit d'un lien
		if(pubs[i].hasChildNodes()) {
			var enfant = pubs[i].firstChild;
			if(enfant.nodeName == 'A') {
				var img = enfant.firstChild;
				//	On teste tout de même si l'élément ciblé est une image
				if(img.nodeName == 'IMG') {
					//	On vérifie si l'image affichée est empty.gif
					if(img.getAttribute('src').indexOf(vide, 0) != -1) {
						//	Si c'est le cas, on tagge ce div pour le supprimer
						suppr = true;
					}
				}
			}
		}
		//	Si le tag 'suppr' vaut true, on remonte au parent de l'élément .pub, pour pouvoir supprimer ce dernier
		if(suppr) {
			var parent = pubs[i].parentNode;
			var memeniv = parent.childNodes;
			for(var k = 0; k < memeniv.length; k++) {
				if(memeniv[k] == pubs[i]) {
					parent.removeChild(memeniv[k]);
				}
			}
		}
	}
});