
function tlcInitFoldingQR()
{
	var qLinks;
	function getNextElement(el)
	{
		do
		{
			el=el.nextSibling;
		}
		while(el!==null&&el.nodeType!==1);
		return el;
	}
	//recupere le 1er enfant de el (<dl class="zone_qr">)
	function getFirstChildElement(el)
	{
		//1er enfant
		el=el.firstChild;
		//tant que el different de null et el est un objet 'element' (une balise)
		while(el!==null&&el.nodeType!==1)
		{
			//Recupere le noeud suivant
			el=el.nextSibling;
		}
		return el;
	}
	function getTagName(el)
	{
		return el.tagName.toLowerCase();
	}
	function foldQ(link,r,fold)
	{
		if(fold)
		{
			r.style.display='none';
			link.className='f';
		}
		else
		{
			r.style.display='block';
			link.className='o';
		}
	}
	function registerEventRtfQ(link,r)
	{
		link.onclick=function()
					{
						if(link.className==='f')
						{
							foldQ(link,r,false);
						}
						else if(this.className==='o')
						{
							foldQ(link,r,true);
						}
						return false;
					};
	}
	function registerEventRtfQAll(link,fold)
	{
		link.onclick=function()
						{
							var k;
							for(k=0;k<qLinks.length;k++)
							{
								foldQ(qLinks[k].l,qLinks[k].r,fold);
							}
							return false;
						};
	}
	function initAffichageReponse()
	{
		//toutes les reponses sont repliees sauf la premiere
		var p;
		for(p=0;p<qLinks.length;p++)
		{
			if(p!=0)
				foldQ(qLinks[p].l,qLinks[p].r,true);
		}
	}
	function initFoldingQR()
	{
		var k;
		var dls;
		var dl;
		var curElt;
		var lastElt;
		var classeOkay;
		var link;
		var divs;
		
		//zone de l'ITV
		dls=document.getElementsByTagName("dl");
		//pour chaque <dl> (generalement 1)
		for(k=0;k<dls.length;k++)
		{
			dl=dls[k];
			classeOkay=false;
			try
			{
				//est ce la class 'zone_qr' de <dl>
				classeOkay=hasClass(dl,'zone_qr');
			}
			catch(e){}
			//si c'est la classe 'zone_qr' --> <dl class="zone_qr">
			if(classeOkay)
			{
				lastElt=null;
				//recup 1er enfant de <dl class="zone_qr">
				curElt=getFirstChildElement(dl);
				//tant qu'il y a le 1er enfant
				while(curElt!==null)
				{
					switch(getTagName(curElt))
					{
						//cas ou c'est une question
						case'dt':lastElt=curElt;
								break;
						//cas ou c'est une response (dd -> reponse)
						case'dd':
								if(lastElt!==null)
								{
									//lien <a> pour link
									link=getFirstChildElement(lastElt);
									//verification du lien
									if(link!==null&&getTagName(link)==='a')
									{
										//mets elements dans tableau
										qLinks.push({l:link,r:curElt});
										//evenement lors du clic du lien
										registerEventRtfQ(link,curElt);
									}
								}
								lastElt=null;
								break;
						default:lastElt=null;
					}
					curElt=getNextElement(curElt);
				}
			}
		}
		divs=document.getElementsByTagName("div");
		for(k=0;k<divs.length;k++)
		{
			if(divs[k].className==='aff_masq')
			{
				curElt=getFirstChildElement(divs[k]);
				if(curElt&&getTagName(curElt)==='a')
				{
					registerEventRtfQAll(curElt,false);
					curElt=getNextElement(curElt);
					if(curElt&&getTagName(curElt)==='a')
					{
						registerEventRtfQAll(curElt,true);
					}
				}
			}
		}
	}
	if(typeof tlcInitFoldingQR.done==='undefined')
	{
		qLinks=[];
		initFoldingQR();
		initAffichageReponse();
		tlcInitFoldingQR.done=true;
	}
}
try
{
	ajoutOnLoad(tlcInitFoldingQR);
}
catch(e){}