window.onload=function()
{
	CreerSommaire();
	MakeBook()
}

function MakeBook()
{//Ajoute un lien sur toutes les références de livre.
	var Livres=document.getElementById('Main').getElementsByTagName('span')
	for(var i=0;i<Livres.length;i++)
	{
		if(Livres[i].className=='titre')
		{
			Livres[i].className += " cliquable";
			Livres[i].onclick=function(){document.location="/Livres/"+this.innerHTML.replace(/ /g,"_");}
		}
	}
}

function Ajouter(repdeb, repfin)
{//Code tiré de http://actuel.fr.selfhtml.org/articles/javascript/bbcode/index.htm, merci :)
	if(!repfin)
		repfin="";
	var input =document.getElementsByTagName('textarea')[0];
	input.focus();
	/* pour l'Explorer Internet */
  if(typeof document.selection != 'undefined') {
	  /* Insertion du code de formatage */
    var range = document.selection.createRange();
	var insText = range.text;
	range.text = repdeb + insText + repfin;
	/* Ajustement de la position du curseur */
    range = document.selection.createRange();
	if (insText.length == 0) {
		range.move('character', -repfin.length);
	} else {
		range.moveStart('character', repdeb.length + insText.length + repfin.length);
	}
	range.select();
  }
  /* pour navigateurs plus récents basés sur Gecko*/
  else if(typeof input.selectionStart != 'undefined')
  {
	  /* Insertion du code de formatage */
    var start = input.selectionStart;
	var end = input.selectionEnd;
	var insText = input.value.substring(start, end);
	input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
	/* Ajustement de la position du curseur */
    var pos;
	if (insText.length == 0) {
		pos = start + repdeb.length;
	} else {
		pos = start + repdeb.length + insText.length + repfin.length;
	}
	input.selectionStart = pos;
	input.selectionEnd = pos;
  }
  /* pour les autres navigateurs */
  else
  {
	  /* requête de la position d'insertion */
    var pos;
	var re = new RegExp('^[0-9]{0,3}$');
	while(!re.test(pos)) {
		pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
	}
	if(pos > input.value.length) {
		pos = input.value.length;
	}
	/* Insertion du code de formatage */
    var insText = prompt("Veuillez entrer le texte à formater:");
	input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
  }
}

function AjaxCheck(item)
{//.Tester si un pseudo a été attribué ou non
	var xhr;
	try { xhr = new XMLHttpRequest(); }
	catch(e) //Pour IE6
	{
		xhr = new ActiveXObject(Microsoft.XMLHTTP);
	}

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
			document.getElementById('PseudoPris').innerHTML = xhr.responseText;
	};
	xhr.open("GET", '/JS/Membres_Check.php?P=' + item.value,  true);
	xhr.send(null);
}

function CreerSommaire()
{//Extrait de http://neamar.fr/Res/
	//Génére une table des matières/
	function URLWord(Mot)
	{//Prend un texte en paramètre, et ne renvoie que les caractères valides pour une URL
		return Mot.replace(/[^a-z0-9éèê]/gi,"_");
	}
	function Array_Add(a,b)
	{//Prend en paramètre deux array, renvoie un array qui contient tous les éléments de a et b
		var Resultat=a;
		for(var j=0;j<b.length;j++)
			Resultat.push(b[j]);
		return Resultat;
	}
	function Trieur(a,b)
	{
		if(a.offsetTop<b.offsetTop)
			return -1;
		else
			return 1;
	}
	var Sommaire=document.getElementById('Sommaire');
	var Contenu="";

	Contenu="<h1>Table des matières</h1>";

	var Titres=new Array();

	Titres=Array_Add(Titres,document.getElementById('Main').getElementsByTagName("h2"));
	Titres=Array_Add(Titres,document.getElementById('Main').getElementsByTagName("h3"));
	Titres=Array_Add(Titres,document.getElementById('Main').getElementsByTagName("h4"));

	Titres.sort(Trieur);

	var hasTextContent =(navigator.userAgent.indexOf("MSIE") == -1)

	//Les sous titres et sous sous titres (en gérant l'ordre)
	for(var i=0;i<Titres.length;i++)
	{
		if(hasTextContent)
			var Cur_text=Titres[i].textContent; //Ne fonctionne pas à cause de cette saloperie d'IE
		else
			var Cur_text=Titres[i].innerHTML;
// 		var Cur_text=Titres[i].innerHTML.replace(/<(.+)( (.+))?>([^<]+)<\/\1>/gi , "$4")
		var ID=URLWord(Cur_text);

		Contenu+="<"+Titres[i].tagName+" onclick=\"javascript:document.location='#"+ID+"';\">"+Cur_text+"</"+Titres[i].tagName+">";
		Titres[i].id=ID;
	}

	Sommaire.innerHTML=Contenu;

	return Contenu;
}

