function makeSommaire() {
	var container;

	if($('sommaire-article')) {
		if($('nav-article')) $('nav-article').parentNode.removeChild($('nav-article'));
		container = $('sommaire-article');

	} else {
		container = $('nav-article');
	}

	if(!container) return;
	
	var titre = document.createElement('p');
	titre.innerHTML = 'Sommaire de cette page';
	titre.className = 'root';
	container.appendChild(titre);

	var linkNo = 0;
	
	var sections = [];
	if($('contenu')) findSections($('contenu'), sections);
	
	if(sections.length > 0) {
		var anchor = document.createElement('a');
		anchor.name = 'lien-sommaire';
		anchor.id = 'lien-sommaire';
		container.parentNode.insertBefore(anchor, container);
	
		makeNode(container, sections);
		container.show();

	} else {
		container.parentNode.removeChild(container);
	}
	
	function makeNode(container, sections) {
		var ul = document.createElement('ul');
		var level = parseInt(sections[0].tagName.charAt(1));
		
		while(sections.length > 0) {
			section = sections.shift();

			var li = document.createElement('li');
			var link = document.createElement('a');
			link.href = '#lien-'+linkNo;
			link.innerHTML = section.innerHTML;
			li.appendChild(link);
			
			var anchor = document.createElement('a');
			anchor.name = 'lien-'+linkNo;
			anchor.id = 'lien-'+linkNo;
			section.parentNode.insertBefore(anchor, section);
			
			linkNo++;
			
			var innerSections = new Array();
			while(sections.length > 0) {
				futureLevel = parseInt(sections[0].tagName.charAt(1));

				if(futureLevel > level) {
					innerSections.push(sections.shift());
				} else {
					break;
				}
			}

			if(innerSections.length > 0) {
				makeNode(li, innerSections);
			}

			ul.appendChild(li);
		}

		container.appendChild(ul);
	}
	
	function findSections(n, sects) {
		for(var m = n.firstChild; m != null; m = m.nextSibling) {
			if(m.nodeType != 1) continue;
			if(m == container) continue;
			if(m.tagName == 'P') continue;
			if(m.tagName == 'DIV' && m.className == 'svq') continue;
			
			if(m.tagName.length == 2 && m.tagName.charAt(0) == 'H' && m.tagName != 'H1' && m.tagName != 'HR') {
				sects.push(m);
			} else findSections(m, sects);
		}
	}
}

makeSommaire.backLinkText = 'Retour';

if(window.addEventListener) window.addEventListener('load', makeSommaire, false);
else if(window.attachEvent) window.attachEvent('onload', makeSommaire);
