var language = "fr";

var timerDetails;
var timerMain;
var timerMenu;
var detailsShowed;
var mainTextShowed;
var subMenuShowed;

var tabDispos = new Array();
var tabUnits = new Array();

var phaseShowed = false;
var uniteShowed = false;
var etageShowed = false;
var unitesShowed = false;
var selectionMenu;

var animatingTexte = false;
var animatingSubs = false;
var animatingDetails = false

//portion pour AJAX Solano
var XMLHttpRequestObject;
var elementToChange;
	
try{
	XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(exception){
	try
	{
 	XMLHttpRequestObject  = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(exception2)
	{
	XMLHttpRequestObject = new XMLHttpRequest();
	}
}

//fonction pour trouver le status d'une unité dans le tableau courant
function trouveStatus(unite)
{
	for(var i = 0; i < tabDispos.length; i++)
	{
		if(tabUnits[i] == unite)
			return tabDispos[i];
	}
	
	return 0;
}

//fonction pour cacher le highlight de l'unité
function hideUnite()
{		
	if(document.getElementById('selectunit'))
	{
		document.getElementById('selectunit').src='blank.gif';
	}
}

//fonction pour afficher le bon png
function highlightUnite()
{
	
	var status = trouveStatus(uniteShowed);
	
	if(status != 0)
	{
		var imgPath = 'images/etages/rolls/' + uniteShowed + '-' + status  + '.png';
		document.getElementById('selectunit').src = imgPath;
	}
	else
	{
		var imgPath = 'images/etages/rolls/' + uniteShowed + '.png';
		document.getElementById('selectunit').src = imgPath;
	}	
}

function mouseOverUnit(unite)
{
	var status = trouveStatus(unite);
	
	if(status != 0)
	{
		var img = document.getElementById('rollplan');
		img.src = 'images/etages/rolls/' + unite + '-' + status  + '.png';
	}
	else
	{
		var img = document.getElementById('rollplan');
		img.src = 'images/etages/rolls/' + unite + '.png';
	}
}

function mouseOutUnit()
{	
	var img = document.getElementById('rollplan');
	img.src = 'blank.gif';
}

//highlighter le lien vers l'étage choisi
function highlightEtage(etage)
{
	var lienEtage = document.getElementById("etage" + etage);
	lienEtage.className = "select";
	
	var racineLiens = document.getElementById("NbEtages");
	var liens = racineLiens.getElementsByTagName("a");
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("etage") == 0 && liens[iLien].id != "etage" + etage )
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			liens[iLien].className = "notselect";			
		}		
	}
}

//highlighter le lien vers l'étage choisi
function highlightPhase(phase)
{
	var lienPhase = document.getElementById("phase" + phase);
	lienPhase.className = "select";
	
	var racineLiens = document.getElementById("Phases");
	var liens = racineLiens.getElementsByTagName("a");
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("phase") == 0 && liens[iLien].id != "phase" + phase )
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			liens[iLien].className = "notselect";			
		}		
	}
}

//chargement de la gallerie avec AJAX
function loadGallery()
{
	if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", "gallery.php?ln=" + language);
			XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			XMLHttpRequestObject.onreadystatechange = stateChangeGallery;
			XMLHttpRequestObject.send(null);
		}
	
}

function stateChangeGallery()
{	
	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
		
		//div qui contient la gallerie ......
		var divGallerie = document.getElementById("texte2");	
		var newHTML = XMLHttpRequestObject.responseText;		
		divGallerie.innerHTML = newHTML;
	}		
}

//chargement des nouvelles avec AJAX
function loadNouvelles()
{
	if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", "nouvelles.php?ln=" + language);
			XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			XMLHttpRequestObject.onreadystatechange = stateChangeNouvelles;
			XMLHttpRequestObject.send(null);
		}
	
}

function stateChangeNouvelles()
{	
	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
		
		//div qui contient la gallerie ......
		var divNouvelles = document.getElementById("texte4");	
		var newHTML = XMLHttpRequestObject.responseText;		
		divNouvelles.innerHTML = newHTML;
	}		
}

//animation de loading de contenu
function waiting(idloading)
{
	var imgLoading = document.getElementById(idloading);
	imgLoading.style.display="block";	
}

//terminer l'animation de loading
function done(idloading)
{
	var imgLoading = document.getElementById(idloading);
	imgLoading.style.display="none";	
}

//AJAX pour changement de phase
function changePhase(phase)
{
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		
		animatingTexte = true;
		
		phaseShowed = phase;
		
		highlightPhase(phase);
		
		if(uniteShowed)
			hideUnite();
	
		if(etageShowed)
		{
			hideGradualDiv("PlanEtage", 1);
			etageShowed = false;
		}	
		
		if(uniteShowed)
		{
			hideGradualDiv("conteneurunite", 1);
			uniteShowed = false;
		}
		
		if(unitesShowed)
		{
			hideGradualDiv("NbUnites", 1);
			unitesShowed = false;
		}
		
		//animation pour AJAX
		//waiting("loadingEtages");
		
		if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", "units.php?action=getetages&phase=" + phase + "&ln=" + language);
			XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			XMLHttpRequestObject.onreadystatechange = stateChangePhase;
			XMLHttpRequestObject.send(null);
		}
	}
}

function stateChangePhase()
{	
	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
		var newHTML = XMLHttpRequestObject.responseText;
		//done("loadingEtages");
		hideChangeContentAndShow("NbEtages", 1, newHTML);
	}	
	
}

function changeUnites(etage)
{	
	etageShowed = etage;
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		animatingTexte = true;
		if(uniteShowed)
			hideUnite();
		if(uniteShowed)
		{
			hideGradualDiv("conteneurunite", 1);
			uniteShowed = false;
		}
		
		//animation pour AJAX
		//waiting("loadingUnites");
		
		if(XMLHttpRequestObject) {			
			XMLHttpRequestObject.open("GET", "units.php?action=getunites&etage=" + etage + "&ln=" + language);
			XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			XMLHttpRequestObject.onreadystatechange = stateChangeUnites;
			XMLHttpRequestObject.send(null);
			
		}
		
	}
}

function changeEtage(etage)
{
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		animatingTexte = true;
		etageShowed = etage;
		highlightEtage(etage);
		if(uniteShowed)
			hideUnite();
		if(uniteShowed)
		{
			hideGradualDiv("conteneurunite", 1);
			uniteShowed = false;
		}
			
		if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", "units.php?action=getetage&etage=" + etage + "&ln=" + language);
			XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			XMLHttpRequestObject.onreadystatechange = stateChangeEtage;
			XMLHttpRequestObject.send(null);			
		}
		
	}
}

function stateChangeEtage()
{
	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
		var newHTML = XMLHttpRequestObject.responseText;
		//done("loadingUnites");
		hideChangeContentAndShow("PlanEtage", 1, newHTML);		
	}	
}

function stateChangeUnites()
{
	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
		//remplir le tableau des réservations des unités
		var indiceDebutHTML = 0;
		indiceDebutHTML = XMLHttpRequestObject.responseText.indexOf("%debut%") + 7;
		var chaineTableau =  XMLHttpRequestObject.responseText.substring(0, indiceDebutHTML - 7) 
		
		var tabChaine = chaineTableau.split(';');
		
		tabDispos = new Array(tabChaine.length);
		tabUnits = new Array(tabChaine.length);

		for(var iUnit = 0; iUnit < tabChaine.length - 1; iUnit++)
		{
			tabUnits[iUnit] = tabChaine[iUnit].split('-')[0];				
			tabDispos[iUnit] = tabChaine[iUnit].split('-')[1];	
		}
		
		var newHTML = XMLHttpRequestObject.responseText.substring(indiceDebutHTML);
		
		hideChangeContentAndShow("NbUnites", 1, newHTML);
		unitesShowed = true;
		animatingTexte = false;
		changeEtage(etageShowed);		
		
	}	
}

function changeUnite(unite)
{
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		animatingTexte = true;
		if(uniteShowed)
		{
			hideGradualDiv("conteneurunite", 1);			
		}		
		
		uniteShowed = unite;
		highlightUnite();
		//animation pour AJAX
		//waiting("loadingUnit");
		if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", "units.php?action=getunite&unite=" + unite + "&ln=" + language);
			XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			XMLHttpRequestObject.onreadystatechange = stateChangeUnite;
			XMLHttpRequestObject.send(null);
		}
	}
}

function stateChangeUnite()
{
	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
		//done("loadingUnit");
		var newHTML = XMLHttpRequestObject.responseText;
		hideChangeContentAndShow("conteneurunite", 1, newHTML);
		detailsShowed = "conteneurunite";
		
	}		
}

function setLanguage(langue)
{
	language = langue;
}

function lienMainBleu(numLien)
{
	var monLien = document.getElementById("mainLien" + numLien);
	monLien.className = "menuprincvisit";	
	var racineLiens = document.getElementById("menu");
	var liens = racineLiens.getElementsByTagName("a");
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("mainLien") == 0 && liens[iLien].id != "mainLien" + numLien )
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			liens[iLien].className = "menuprinc"; 			
		}		
	}	
}


//version de lienMainBleu qui change la source à la place
function lienMainChangeSource(numLien)
{	
	var racineLiens = document.getElementById("menu");
	var liens = racineLiens.getElementsByTagName("a");
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("mainLien") == 0 && liens[iLien].id != "mainLien" + numLien )
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			var monImageOff = liens[iLien].getElementsByTagName("img");
			var monImageID = monImageOff[0].id;
			monImageOff[0].src = "images/" + monImageID + ".png";			
			
		}		
	}	
}

///////////////////////////////////////////////////////
//mouseOver et mouseOut qui changent les sources.
function mouseOverMenu(a, imgID)
{
	if(a.id.replace("mainLien", "") != selectionMenu)
	{	
		var imgNode = document.getElementById(imgID);
		imgNode.src = "images/" + imgID + "_on.png";		
	}
}

function mouseOutMenu(a, imgID)
{	
	if(a.id.replace("mainLien", "") != selectionMenu)
	{		
		var imgNode = document.getElementById(imgID);
		imgNode.src = "images/" + imgID + ".png";		
	}
}


function sousLienBleu(numLien)
{
	var monLien = document.getElementById("sousLien" + numLien);
	monLien.className = "menusubvisit";	
	var racineLiens = document.getElementById("menu");
	var liens = racineLiens.getElementsByTagName("a");
	
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("sousLien") == 0 && liens[iLien].id != "sousLien" + numLien )
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			liens[iLien].className = "menusub"; 			
		}		
	}
}

function clickMenu(idTexte)
{
	if(idTexte != mainTextShowed)
	{			
		clearTimeout(timerMain);
		
		animatingTexte = true;
		animatingDetails = true;
		//cacher le div de droite
		hideAndShowDetails(detailsShowed, 1, "");	
		detailsShowed = "";
		//cacher l'ancien div que l'on ne veut plus voir et montrer le nouveau div	
		hideAndShowMainTexte(mainTextShowed, 1, idTexte);	
	}	
}


function clickLienDiv(idTexte)
{		
	if(idTexte != detailsShowed && !animatingDetails)
	{	
		clearTimeout(timerDetails);

		animatingDetails = true;
		//cacher l'ancien div que l'on ne veut plus voir et montrer le nouveau div	
		hideAndShowDetails(detailsShowed, 1, idTexte);			
	}		
}

function showSubMenu(idSub)
{
	subMenuShowed = idSub;
	//Aller chercher les sous menus. 
	var menu = document.getElementById("menu");
		
	var lesSubs = menu.getElementsByTagName("td");
		
	//changer le lien visité
	selectionMenu = idSub.substring(3);				
	lienMainChangeSource(selectionMenu);
	//lienMainBleu(idSub.substring(3));
		
	if(document.getElementById(idSub) != null)
	{	
		setOpacity(document.getElementById(idSub), 1);
	}
}

function showMainTexte(idTexte)
{
	mainTextShowed = idTexte;
	//Aller chercher les sous menus. 
	var texte = document.getElementById(idTexte);
			
	if(texte != null)
	{	
		setOpacity(texte, 1);
		texte.style.display = "block";
	}
}

function clickMain(idMain)
{
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		clickMenu(idMain);
		
		selectionMenu = idMain.substring(5);		
		lienMainChangeSource(selectionMenu);
		//lienMainBleu(idMain.substring(5));
		//s'il y avait un sous menu à afficher
		/*if(showSubMenuAnim("sub" + idMain.substring(5)))
		{
			sousLienBleu(idMain.substring(5));
		}*/
	}
}

function clickSub(idSub)
{
	if(!animatingTexte && !animatingSubs && !animatingDetails)
	{
		clickMenu(idSub);
		
		//sousLienBleu(idSub.substring(5));
	}
}

function showSubMenuAnim(idSub)
{
	if(subMenuShowed != idSub)
	{
	
		subMenuShowed = idSub;
		animatingSubs = true;
		clearTimeout(timerMenu);
		//Aller chercher les sous menus. 
		var menu = document.getElementById("menu");
		
		var lesSubs = menu.getElementsByTagName("td");
		
		//cacher les sous menus que l'on ne veut plus voir, et trouver le div à afficher
		for(var i = 0; i < lesSubs.length; i++)
		{		
			if(lesSubs[i].id.indexOf("sub") == 0 && lesSubs[i].id != idSub)
			{
				changeLinksToSpans(lesSubs[i].id);
				hideGradualMenu(lesSubs[i].id, lesSubs[i].style.opacity);
			}
		}	
		
		if(document.getElementById(idSub) != null)
		{	
			//démarrer l'affichage graduel
			changeSpansToLinks(idSub);
			timerMenu = setTimeout("showGradualMenu('" + idSub + "', 0.2)", 25);
			return true;
		}	
		else
		{
			animatingSubs = false;	
			return false;
		}
	}
	else return false;
}

function setOpacity(element, newopac)
{
	//pour le div que l'on doit afficher, mettre l'opacité à zéro
	if (!document.attachEvent) 
	{
		element.style.MozOpacity = newopac;			
		element.style.filter = 'alpha(opacity=' + newopac*100 + ')';
	}		
	else
	{
		element.style.opacity = newopac;	
		element.style.filter = 'alpha(opacity=' + newopac*100 + ')';
	}
}

function tieLinks()
{
	//obtenir les liens dans le texte du centre
	var divGauche = document.getElementById("contentgauche");
	var liens = divGauche.getElementsByTagName("a");
	
	//pour chaque lien, vérifier que c'est un lien avec un id, ce qui signifie qu'il pointe 
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("texteLiens") == 0)
		{
			//changer le gestionnaire d'évènements du onclick de chacun des liens.	
			//if(document.getElementById("details" + liens[iLien].id.substring(10) != null))
			if(document.attachEvent)
				liens[iLien].attachEvent("onclick", new Function("clickLienDiv('details" + liens[iLien].id.substring(10) + "'); return false;"));
			else if(document.addEventListener)
			{
				liens[iLien].addEventListener("click", new Function("clickLienDiv('details" + liens[iLien].id.substring(10) + "'); return false;"), false);
			}
			else
				liens[iLien].onclick = new Function("clickLienDiv('details" + liens[iLien].id.substring(10) + "'); return false;"); 			
	 
					
		}		
	}	
}

function tieMenuLinks()
{
	//obtenir les liens dans le texte du centre
	var menu = document.getElementById("menu");
	var liens = menu.getElementsByTagName("a");
	//pour chaque lien, vérifier que c'est un lien avec un id, ce qui signifie qu'il pointe 
	for(var iLien = 0; iLien < liens.length; iLien++)
	{
		if(liens[iLien].id.indexOf("mainLien") == 0)
		{			
			if(document.attachEvent)
				liens[iLien].attachEvent("onclick", new Function("clickMain('texte" + liens[iLien].id.substring(8) + "'); return false;"));
			else if(document.addEventListener)
			{
				liens[iLien].addEventListener("click", new Function("clickMain('texte" + liens[iLien].id.substring(8) + "'); return false;"), false);
			}
			else
				liens[iLien].onclick = new Function("clickMain('texte" + liens[iLien].id.substring(8) + "'); return false;"); 		
		}
		else if(liens[iLien].id.indexOf("sousLien") == 0)
		{
			/*if(document.attachEvent)
				liens[iLien].attachEvent("onclick",  new Function("clickSub('texte" + liens[iLien].id.substring(8) + "'); return false;")); 	
			*/
			//if(document.getElementById("texte" + liens[iLien].id.substring(9) != null))
			if(document.attachEvent)
				liens[iLien].attachEvent("onclick", new Function("clickSub('texte" + liens[iLien].id.substring(8) + "'); return false;"));
			else if(document.addEventListener)
			{
				liens[iLien].addEventListener("click", new Function("clickSub('texte" + liens[iLien].id.substring(8) + "'); return false;"), false);
			}
			else
				liens[iLien].onclick = new Function("clickSub('texte" + liens[iLien].id.substring(8) + "'); return false;"); 			
	
		}
	}	
}

//fonction d'initialisation
function init(langue)
{
	setLanguage(langue);
	hideSubs();
	hideDetails();
	hideMainTexte();
	tieMenuLinks();
	tieLinks();
	showSubMenu("sub1");
	showMainTexte("texte1");
	showDetails("details1");	
	//sousLienBleu(1);
}

function showDetails(idDetails)
{
	detailsShowed = idDetails;
	//Aller chercher les sous menus. 
	var texte = document.getElementById(idDetails);
	setOpacity(texte, 1);
	texte.style.display = "block";
}

function hideDetails()
{
	var racineDroite = document.getElementById("contentdroite");
	var lesDivs = racineDroite.getElementsByTagName("div");
	
	//cacher les divs que l'on ne veut plus voir, et trouver le div à afficher
	for(var i = 0; i < lesDivs.length; i++)
	{		
		if(lesDivs[i].id.indexOf("details") == 0)
			lesDivs[i].style.display="none";	
	}	
}

function hideMainTexte()
{
	var racineGauche = document.getElementById("contentgauche");
	var lesDivs = racineGauche.getElementsByTagName("div");
	
	//cacher les divs que l'on ne veut plus voir, et trouver le div à afficher
	for(var i = 0; i < lesDivs.length; i++)
	{		
		if(lesDivs[i].id.indexOf("texte") == 0)
			lesDivs[i].style.display="none";	
	}	
}

function changeLinksToSpans(idRacine)
{
	//changer liens du menu en span 
	var racine = document.getElementById(idRacine);
	
	var liens = racine.getElementsByTagName("a");
		
	for(var i = 0; i < liens.length; )
	{
		var nouveauSpan = document.createElement("span");
		nouveauSpan.id = liens[i].id;
		nouveauSpan.className = liens[i].className;
		nouveauSpan.innerHTML = liens[i].innerHTML;
		liens[i].parentNode.replaceChild(nouveauSpan, liens[i]); 
	}	
}

function changeSpansToLinks(idRacine)
{
	//changer liens du menu en span 
	var racine = document.getElementById(idRacine);
	
	var spans = racine.getElementsByTagName("span");
		
	for(var i = 0; i < spans.length; )
	{		
		var nouveauLien = document.createElement("a");
		nouveauLien.id = spans[i].id;
		nouveauLien.onclick = new Function("clickSub('texte" + spans[i].id.substring(8) + "'); return false;");
		nouveauLien.className = spans[i].className;
		nouveauLien.href="#";
		//porter le onClick ici
		//nouveauLien.onclick = 
		nouveauLien.innerHTML = spans[i].innerHTML;
		spans[i].parentNode.replaceChild(nouveauLien, spans[i]); 
	}	
}

function hideSubs()
{
	//obtenir les liens dans le texte du centre
	var racineLiens = document.getElementById("menu");
	var tds = racineLiens.getElementsByTagName("td");
	
	//pour chaque lien, vérifier que c'est un lien avec un id, ce qui signifie qu'il pointe 
	for(var iTD = 0; iTD < tds.length; iTD++)
	{
		if(tds[iTD].id.indexOf("sub") == 0)
			setOpacity(tds[iTD], 0.2);	
	}
}


function showGradualDetails(idTexte, opacity)
{
	var divDetails = document.getElementById(idTexte);
	
	if(divDetails != null)
	{
		setOpacity(divDetails, opacity);
		
		if(opacity < 1)
		{
			var newopacity = opacity + 0.05;
			timerDetails = setTimeout("showGradualDetails('" + idTexte +"'," + newopacity + ")", 25);
		}
		else
		{
			detailsShowed = idTexte;
			animatingDetails = false;
		}	
	}	
	else
		animatingDetails = false;
}


function showGradualMain(idTexte, opacity)
{
	var divDetails = document.getElementById(idTexte);
	
	if(divDetails != null)
	{
		setOpacity(divDetails, opacity);
		
		if(opacity < 1)
		{
			var newopacity = opacity + 0.05;
			timerDetails = setTimeout("showGradualMain('" + idTexte +"'," + newopacity + ")", 25);
		}
		else
		{
			mainTextShowed = idTexte;
			animatingTexte = false;
		}	
	}
	else
		animatingTexte = false;
}

function showGradualMenu(idMenu, opacity)
{
	var subMenu = document.getElementById(idMenu);
	setOpacity(subMenu, opacity);
	
	if(opacity < 1)
	{
		var newopacity = opacity + 0.05;
		timerMenu = setTimeout("showGradualMenu('" + idMenu +"'," + newopacity + ")", 25);
	}
	else
	{
		if (document.attachEvent) 
			document.getElementById(idMenu).style.display="block";	
		else
			document.getElementById(idMenu).style.display="table-cell";	
		animatingSubs = false;
	}
}

function hideGradualMenu(idTexte, opacity)
{
	var divDetails = document.getElementById(idTexte);
	setOpacity(divDetails, opacity);

	if(opacity >= 0.2)
	{
		var newopacity = opacity - 0.05;
		timerMenu = setTimeout("hideGradualMenu('" + idTexte +"'," + newopacity + ")", 25);
	}
	else
		animatingSubs = false;
}

//cacher un simple div
function hideGradualDiv(idTexte, opacity)
{
	var divToHide = document.getElementById(idTexte);
	setOpacity(divToHide, opacity);

	if(opacity >= 0)
	{
		var newopacity = opacity - 0.05;
		timerMenu = setTimeout("hideGradualDiv('" + idTexte +"'," + newopacity + ")", 25);
	}
	else
	{
		divToHide.style.display="none";
	}
}

//montrer un simple div
function showGradualDiv(idTexte, opacity)
{
	var divDetails = document.getElementById(idTexte);
	
	if(divDetails != null)
	{
		setOpacity(divDetails, opacity);
		
		if(opacity < 1)
		{
			var newopacity = opacity + 0.05;
			timerDetails = setTimeout("showGradualDiv('" + idTexte +"'," + newopacity + ")", 25);
		}
		else
		{
			animatingTexte = false;
		}	
	}
	else
		animatingTexte = false;
}

function hideAndShowDetails(idTexteToHide, opacity, idTexteToShow)
{
	var divDetails = document.getElementById(idTexteToHide);
	
	if(divDetails != null)
	{
		setOpacity(divDetails, opacity);

		if(opacity >= 0)
		{
			var newopacity = opacity - 0.05;
			timerDetails = setTimeout("hideAndShowDetails('" + idTexteToHide +"'," + newopacity + ",'" + idTexteToShow + "')", 25);
		}
		else
		{
			divDetails.style.display = "none";
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerDetails = setTimeout("showGradualDetails('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingDetails = false;
				detailsShowed = idTexteToShow;
			}
		}
	}
	else
	{
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerDetails = setTimeout("showGradualDetails('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingDetails = false;
				detailsShowed = idTexteToShow;
			}
	}	
}

function hideAndShowMainTexte(idTexteToHide, opacity, idTexteToShow)
{
	var divMainTexte = document.getElementById(idTexteToHide);
	
	if(divMainTexte != null)
	{
		setOpacity(divMainTexte, opacity);

		if(opacity >= 0)
		{
			var newopacity = opacity - 0.05;
			timerMain = setTimeout("hideAndShowMainTexte('" + idTexteToHide +"'," + newopacity + ",'" + idTexteToShow + "')", 25);
		}
		else
		{
			divMainTexte.style.display = "none";
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerMain = setTimeout("showGradualMain('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingTexte = false;
				mainTextShowed = idTexteToShow;
			}
		}
	}
	else
	{
			var toShow = document.getElementById(idTexteToShow);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				//démarrer l'affichage graduel
				timerMain = setTimeout("showGradualMain('" + idTexteToShow +"', 0.05)", 25);	
			}
			else
			{
				animatingTexte = false;
				mainTextShowed = idTexteToShow;
			}
	}	
}

function hideChangeContentAndShow(idTexteToChange, opacity, newHTML)
{			
	var divMainTexte = document.getElementById(idTexteToChange);
	
	if(divMainTexte != null)
	{
		setOpacity(divMainTexte, opacity);

		if(opacity >= 0)
		{
			var newopacity = opacity - 0.05;
			timerMain = setTimeout("hideChangeContentAndShow('" + idTexteToChange +"'," + newopacity + ",\"" + newHTML + "\")", 25);
		}
		else
		{
			divMainTexte.style.display = "none";
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToChange);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				toShow.innerHTML = newHTML;
				//démarrer l'affichage graduel
				timerMain = setTimeout("showGradualDiv('" + idTexteToChange +"', 0.05)", 25);	
			}
			else
			{
				animatingTexte = false;				
			}
		}
	}
	else
		animatingTexte = false;
	
}

function hideChangeClassAndShow(idTexteToChange, opacity, newClass)
{
	var divMainTexte = document.getElementById(idTexteToChange);
	
	if(divMainTexte != null)
	{
		setOpacity(divMainTexte, opacity);

		if(opacity >= 0)
		{
			var newopacity = opacity - 0.05;
			timerMain = setTimeout("hideChangeClassAndShow('" + idTexteToChange +"'," + newopacity + ",\"" + newHTML + "\")", 25);
		}
		else
		{
			divMainTexte.style.display = "none";
			//pour le div que l'on doit afficher, mettre l'opacité à zéro
			var toShow = document.getElementById(idTexteToChange);
			if(toShow != null)
			{
				setOpacity(toShow, 0);	
				toShow.style.display="block";
				toShow.className = newClass;
				//démarrer l'affichage graduel
				timerMain = setTimeout("showGradualMain('" + idTexteToChange +"', 0.05)", 25);	
			}
			else
			{
				animatingTexte = false;				
			}
		}
	}
	else
		animatingTexte = false;
	
}