function getElementsByClassName(className, tag, elm){

	var testClass = new RegExp("(^|s)" + className + "(s|$)");

	var tag = tag || "*";

	var elm = elm || document;

	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);

	var returnElements = [];

	var current;

	var length = elements.length;

	for(var i=0; i<length; i++){

		current = elements[i ];

		if(testClass.test(current.className)){

			returnElements.push(current);

		}

	}

	return returnElements;

}



var indiceH2 = 0;

var ordreH2 = new Array();

var ordreH1 = new Array();

var blnFirstTime = 1;



function AfficheLI(){

 		var elm = elm || document;

		var titles=elm.getElementsByTagName('h1');

		var length = titles.length;

		var current;

		for(var i=0; i<length; i++){

			current = titles[i];

			if(blnFirstTime == 1) 

			{

				ordreH2[indiceH2] = current.parentNode.id;

			}

			indiceH2++;

			Par = document.getElementById('container-bouton');

			tagH1 = document.createElement("li");

			ElemA = document.createElement("a");

			ElemA.href="javascript:AfficheDIV('"+current.parentNode.id+"');";

			ElemA.title=current.innerHTML;

			ElemA.innerHTML = current.innerHTML;

			ElemA.id=current.parentNode.id+"-div-bold";

			tagH1.appendChild(ElemA);

			Par.appendChild(tagH1);

			

			ParH1 = document.getElementById(current.parentNode.id);;

			var titlesH2=ParH1.getElementsByTagName('h2');

			var lengthH2 = titlesH2.length;

			var currentH2;

			

			for(var a=0; a<lengthH2; a++){

				currentH2 = titlesH2[a];

				if(blnFirstTime == 1) 

				{

					ordreH2[indiceH2] = currentH2.parentNode.id;

				}

				indiceH2++;

				Par = document.getElementById('container-bouton');

				tagH2 = document.createElement("li");

				ElemA2 = document.createElement("a");

				ElemA2.href="javascript:AfficheDIV('"+currentH2.parentNode.id+"')";

				ElemA2.title=currentH2.innerHTML;

				ElemA2.className='levelH2';

				ElemA2.id=currentH2.parentNode.id+"-div-bold";

				ElemA2.innerHTML = currentH2.innerHTML;

				tagH2.appendChild(ElemA2);

				Par.appendChild(tagH2);

			}

			var lengthH2=0;

		}

		var length=0;

		

		if(blnFirstTime == 1) 

		{

			ordreH1[0] = ordreH2[0];

			delete ordreH2[0];

		}		

		blnFirstTime = 0;

}





function AfficheDIV(){

	var Arg = arguments;

	var Obj;

	if(Arg[0] != 'test')

	{

		MasqueDiv();



		for( var i=0; i< Arg.length; i++){

			Obj = document.getElementById( Arg[i]); // Récup Objet correspondant

			if( Obj){

				Obj.id=Arg[i]+'-div';

				Par = document.getElementById('bodytext');

				Par.appendChild(Obj);

				

				Obj.style.display = "block";

				Obj.style.visibility = "visible";

				Obj.style.height='auto';



				$('#container-bouton li a').css("font-weight", 'normal');



				document.getElementById(Obj.id + '-bold').style.fontWeight = 'bold';

			} else {

				Obj = document.getElementById( Arg[i]+'-div'); // Récup Objet correspondant

				if( Obj){

					Obj.id=Arg[i]+'-div';

					Par = document.getElementById('bodytext');

					Par.appendChild(Obj);

					

					Obj.style.display = "block";

					Obj.style.visibility = "visible";

					Obj.style.height='auto';



					$('#container-bouton li a').css("font-weight", 'normal');



					document.getElementById(Obj.id + '-bold').style.fontWeight = 'bold';

				}

			}

		}

	}

	else

	{

		MasqueDiv();

		ShowDiv();

	}

}



function MasqueDiv(){

	var elm = elm || document;

	var titles=elm.getElementsByTagName('h2');

	var length = titles.length;

	var current;

	for(var i=0; i<length; i++){

		current = titles[i];//alert('h2 => '+current.parentNode.id);

		var Obj = document.getElementById(current.parentNode.id);

		Obj.style.display = 'none';

		Obj.style.visibility = 'hidden';

	}

}



function ShowDiv(){

	var Obj;

	

	for( var i=0; i< ordreH2.length; i++){//alert('0');//alert(Arg[i]); // On parcours la liste



		Obj = document.getElementById( ordreH2[i]); // Récup Objet correspondant

		if( Obj){

				Obj.id=ordreH2[i]+'-div';

				Par = document.getElementById('bodytext');

				Par.appendChild(Obj);

				

				Obj.style.display = "block";

				Obj.style.visibility = "visible";

				Obj.style.height='auto';

		} else {

			Obj = document.getElementById( ordreH2[i]+'-div'); // Récup Objet correspondant

			if( Obj){

				Obj.id=ordreH2[i]+'-div';

				Par = document.getElementById('bodytext');

				Par.appendChild(Obj);

				

				Obj.style.display = "block";

				Obj.style.visibility = "visible";

				Obj.style.height='auto';

			}

		}

	}



	for( var i=0; i< ordreH2.length; i++)

	{

		var Obj = document.getElementById(ordreH2[i] + '-div-bold');

		if(Obj)

		{	

			Obj.style.fontWeight = 'normal';

		}

	}

	var Obj = document.getElementById(ordreH1[0] + '-div-bold');

	if(Obj)

	{	

		Obj.style.fontWeight = 'bold';

	}

}



function getTopPos(inputObj)

{		

  var returnValue = inputObj.offsetTop;

  while((inputObj = inputObj.offsetParent) != null){

  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;

  }

  return returnValue;

}



function getHeight(inputObj)



{		

  var returnValue = inputObj.offsetHeight;

  while((inputObj = inputObj.offsetParent) != null){

  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetHeight;

  }

  return returnValue;

}


