function affiche_boite(contenu,titre,largeur)
{
	affiche_filtre(document.body);
	
	if (document.getElementById('boite_html'))
	{
		var old = document.getElementById('boite_html');
		old.parentNode.removeChild(old);
	}
			
	var div = document.createElement('div');
	div.className = 'fenetre_mobile';
	div.setAttribute('options','retaille');
	div.id = 'boite_html';
	
	if (largeur) div.style.width=largeur+'px';
	
	document.body.appendChild(div);
	
	var bandeau = document.createElement('div');
	bandeau.className = 'bandeau_fenetre_mobile';
	
	div.appendChild(bandeau);
	
	var croix = document.createElement("img");
	
	croix.src = "/images/fermer.gif";
	croix.alt = "fermer";
	croix.className = "croix_boite";
	croix.title = "fermer";
	ajoutEvenement(croix,'click',ferme_boite);
	
	bandeau.appendChild(croix);
	
	if (typeof(contenu) == 'string')
	{
		var divcontenu = document.createElement("div");
		divcontenu.style.zoom = 1;
		divcontenu.innerHTML = contenu;
			
		div.appendChild(divcontenu);		
	}
	else if (typeof(contenu) == 'object')
	{
		div.appendChild(contenu);
	}
	
	var offsetX = window.pageXOffset || document.documentElement.scrollLeft ;
	var offsetY = window.pageYOffset || document.documentElement.scrollTop ;
		
	var haut = div.offsetHeight;
	var larg = div.offsetWidth;

	ref_larg = haut;
	ref_haut = larg;
	
	if (titre)
	{
		var txt = document.createTextNode(titre);
		bandeau.appendChild(txt);
	}
	
	var largecran = window.innerWidth || document.documentElement.clientWidth  || document.body.clientWidth;
	var hautecran = window.innerHeight || document.documentElement.clientHeight  || document.body.clientHeight;
	
	var left = Math.round((largecran-larg)/2)+offsetX;
	var top = Math.round((hautecran-haut)/2)+offsetY;
		
	if (top<0) top = 0;
	if (left<0) left = 0;
		
	div.style.left = left+"px";
	div.style.top = top+"px";
		
	div.style.zIndex = parseInt(document.getElementById('filtre_chargement').style.zIndex)+1;
	
	
	
	fadein(div);
	
	// FIREFOX EXECUTE LES FONCTIONS SANS EVAL DANS CE CAS, C'EST BIZARRE. TOUS LES AUTRES NAVIGATEURS L'EXIGENT.
	if (navigator.userAgent.indexOf('Firefox')==-1)
	{
		var allscript = div.getElementsByTagName('script');
		for(var i=0;i< allscript.length;i++) eval(allscript.item(i).text);
	}
	
	retaille_filtre();
}


function affiche_boiteplus(contenu,titre,largeur)
{
	if (document.getElementById('boite_htmlplus'))
	{
		var old = document.getElementById('boite_htmlplus');
		old.parentNode.removeChild(old);
	}

	var div = document.createElement('div');
	div.className = 'fenetre_mobile';
	div.setAttribute('options','retaille');
	div.id = 'boite_htmlplus';
	div.style.border = '5px solid gray';
		
	if (largeur) div.style.width=largeur+'px';
	
	document.body.appendChild(div);
	
	var bandeau = document.createElement('div');
	bandeau.className = 'bandeau_fenetre_mobile';
	
	div.appendChild(bandeau);
	
	var croix = document.createElement("img");
	
	croix.src = "/images/fermer.gif";
	croix.alt = "fermer";
	croix.className = "croix_boite";
	croix.title = "fermer";
	ajoutEvenement(croix,'click',ferme_boiteplus);
	
	bandeau.appendChild(croix);
	
	if (typeof(contenu) == 'string')
	{
		var divcontenu = document.createElement("div");
		divcontenu.style.zoom = 1;
		divcontenu.innerHTML = contenu;
			
		div.appendChild(divcontenu);		
	}
	else if (typeof(contenu) == 'object')
	{
		div.appendChild(contenu);
	}
	
	var offsetX = window.pageXOffset || document.documentElement.scrollLeft ;
	var offsetY = window.pageYOffset || document.documentElement.scrollTop ;
		
	var haut = div.offsetHeight;
	var larg = div.offsetWidth;

	ref_larg = haut;
	ref_haut = larg;
	
	if (titre)
	{
		var txt = document.createTextNode(titre);
		bandeau.appendChild(txt);
	}
	
	var largecran = window.innerWidth || document.documentElement.clientWidth  || document.body.clientWidth;
	var hautecran = window.innerHeight || document.documentElement.clientHeight  || document.body.clientHeight;
	
	
	var boite = document.getElementById('boite_html');
	//var left = parseInt(boite.style.left.replace('px',''))+20;
	//var top = parseInt(boite.style.top.replace('px',''))+25;
	var zindex = parseInt(boite.style.zIndex)+1;
	
	var left = Math.round((largecran-larg)/2)+offsetX;
	var top = Math.round((hautecran-haut)/2)+offsetY;
		
	if (top<0) top = 0;
	if (left<0) left = 0;
		
	div.style.left = left+"px";
	div.style.top = top+"px";
		
	div.style.zIndex = zindex;
	
	fadein(div);
	
	// FIREFOX EXECUTE LES FONCTIONS SANS EVAL DANS CE CAS, C'EST BIZARRE. TOUS LES AUTRES NAVIGATEURS L'EXIGENT.
	if (navigator.userAgent.indexOf('Firefox')==-1)
	{
		var allscript = div.getElementsByTagName('script');
		for(var i=0;i< allscript.length;i++) eval(allscript.item(i).text);
	}
	
	retaille_filtre();
}

function ferme_boite(evt)
{
	var target = evt.target || evt.srcElement;
	var div = target.parentNode.parentNode;
	
	var divplus;
	if (divplus = document.getElementById('boite_htmlplus'))
	{
		divplus.parentNode.removeChild(divplus);
	}
	
	fadeout(div);
	window.setTimeout(function(){div.parentNode.removeChild(div);efface_filtre(document.body)},400);
}

function ferme_boiteplus(evt)
{
	var target = evt.target || evt.srcElement;
	var div = target.parentNode.parentNode;
	div.parentNode.removeChild(div);
}


function affiche_filtre(conteneur)
{

	if (document.getElementById('filtre_chargement'))
	{
		var old = document.getElementById('filtre_chargement');
		old.parentNode.removeChild(old);
	}
	
	filtre = document.createElement("div");
	
	tab = recupElementsParClasse("fenetre_mobile",document.body,"div");
	filtre.style.zIndex = tab.length+1;

	var height = document.documentElement.scrollHeight;
	if(document.documentElement.clientHeight > height ) height  = document.documentElement.clientHeight;
	if(document.body.scrollHeight > height) height = document.body.scrollHeight;
  	
	var width = document.documentElement.scrollWidth;
	if(document.documentElement.clientWidth > width ) width  = document.documentElement.clientWidth;
	if(document.body.scrollWidth > width) width = document.body.scrollWidth;
  
	filtre.style.height = height+'px';
	filtre.style.width = width+'px';
	
	filtre.id = 'filtre_chargement';
	conteneur.appendChild(filtre);
}

function efface_filtre(conteneur)
{
	var childs = conteneur.childNodes;

	for (i=0;i<childs.length;i++)
	{
		var child = childs.item(i);
		if (child.id == "filtre_chargement" ) conteneur.removeChild(child);
	}
}

function retaille_filtre()
{
	var filtre = document.getElementById('filtre_chargement');

	var height = document.documentElement.scrollHeight;
	if(document.documentElement.clientHeight > height ) height  = document.documentElement.clientHeight;
	if(document.body.scrollHeight > height) height = document.body.scrollHeight;
  	
	var width = document.documentElement.scrollWidth;
	if(document.documentElement.clientWidth > width ) width  = document.documentElement.clientWidth;
	if(document.body.scrollWidth > width) width = document.body.scrollWidth;
  
	filtre.style.height = height+'px';
	filtre.style.width = width+'px';
}

function message_tempo(mess,couleur,temps)
{
	if (document.getElementById('boite_html'))
	{
		var old = document.getElementById('boite_html');
		old.parentNode.removeChild(old);
	}

	var conteneur = document.body;
	
	affiche_filtre(conteneur);
	
	var div = document.createElement("div");
	conteneur.appendChild(div);
	
	var txt = document.createTextNode(mess);
	div.appendChild(txt);

	div.id = "message_tempo";
	
	if (!couleur) couleur='pink';
	div.style.backgroundColor = couleur;
	
	var larg = div.offsetWidth;
	var haut = div.offsetHeight;
	
	div.style.width = larg+"px";
	div.style.height = haut+"px";
	
	var offsetY = window.pageYOffset || document.documentElement.scrollTop ;
	
	div.style.marginTop = (offsetY-haut/2)+"px";
	div.style.marginLeft = (-larg/2)+"px";
	
	div.style.zIndex = 50;
	
	fadein(div);
	
	if (!temps) temps = 2;
	setTimeout(function(){conteneur.removeChild(div);efface_filtre(conteneur)},temps*1000);	
}


function chargement_en_cours(id,src_icone,texte,couleur)
{
	var conteneur = document.getElementById(id);
	
	affiche_filtre(conteneur,couleur);
	
	if (document.getElementById('chargement_en_cours'))
	{
		var old = document.getElementById('chargement_en_cours');
		old.parentNode.removeChild(old);
	}
	
	var div = document.createElement("div");
	div.id = 'chargement_en_cours';
	
	if (texte && texte!='')
	{
		var txt = document.createTextNode(texte);
		div.appendChild(txt);
		var br = document.createElement("br");
		div.appendChild(br);
		var br = document.createElement("br");
		div.appendChild(br);
		
		div.style.backgroundColor = 'white';
		div.style.border = '2px solid black';
	}
	
	img = document.createElement("img");
	img.src = src_icone;
	img.alt = "Chargement en cours";
	
	div.appendChild(img);
	
	conteneur.appendChild(div);
		
	var larg = div.offsetWidth;
	var haut = div.offsetHeight;
	
	div.style.width = larg+"px";
	div.style.height = haut+"px";
	
	div.style.marginTop = (-haut/2)+"px";
	div.style.marginLeft = (-larg/2)+"px";
	
	div.style.zIndex = 50;
}



function chargement_fin(id)
{
	var conteneur = document.getElementById(id);
	
	if (document.getElementById('chargement_en_cours'))
	{
		var old = document.getElementById('chargement_en_cours');
		old.parentNode.removeChild(old);
	}
	
	efface_filtre(conteneur);
}



function form2req(form)
{
	var elements = form.elements;
	var args="";

	for (k=0;k<elements.length;k++)
	{
		var item = elements.item(k);

		var name = item.name;
		
		if (item.name == "") continue;
		
		var value = item.value;
				
		if (item.getAttribute("type")) type = item.getAttribute("type").toLowerCase();
		else type = false;
		
		var tag = item.tagName.toLowerCase();
		
		if (type == 'radio')
		{
			if (item.checked) args+="&"+name+"="+value;
		}
		else if (type == 'checkbox')
		{
			if (item.checked) args+="&"+name+"=on";
		}
		else if (tag == 'select')
		{
			if (item.options[item.selectedIndex].value) valeur = item.options[item.selectedIndex].value;
			else valeur = item.options[item.selectedIndex].text;
			
			args+="&"+name+"="+valeur;
		}
		else
		{
			args+="&"+name+"="+value;
		}
	}
	
	return args;
}
//INSERTION D'UNE VALEUR DANS UN CHAMP DE FORMULAIRE
function insert_val_champ(nom,valeur,efface)
{
	var liste = document.getElementsByName(nom);
	
	if (liste.length == 0) return;
	
	for (k=0;k<liste.length;k++)
	{
		var item = liste.item(k);
		
		if (window.fenetre_focus) fenetre_focus(item);
		
		if (item.getAttribute("type")) type = item.getAttribute("type").toLowerCase();
		else type = false;
		
		var tag = item.tagName.toLowerCase();
				
		if (type == 'radio')
		{
			if (item.value == valeur) item.checked = "checked";
		}
		else if (type == 'checkbox')
		{
			item.checked = "checked";
		}
		else if (tag == 'select')
		{
			var options = item.options;

			for (m=0;m<options.length;m++)
			{
				if (options[m].value == valeur || options[m].text == valeur) break;
			}
			
			try {item.selectedIndex = m;}
			catch(e) {}
		}
		else
		{
			valeur = valeur.replace("$$$","\n");
			
			if (efface == 1) item.value = valeur;
			else
			{
				if (tag=='textarea' && item.value!="") item.value+="\n"+valeur;
				else item.value+=valeur;
			}
		}
	}
}

function sauvegarde_avant_sortie()
{
	var bouton_sauve = document.getElementById(id_sauve);
	if (bouton_sauve.style.opacity == 1 )
	{
		if (confirm("Voulez-vous sauvegarder votre travail ?"))
		{
			requete_sauvegarde_saisie();
		}
	}
}

function grise_bouton_sauve()
{
	if (!document.getElementById(id_sauve)) return;

	var bouton_sauve = document.getElementById(id_sauve);
	ChangeOpac(30,id_sauve);
	retraitEvenement(bouton_sauve,'click',requete_sauvegarde_saisie);
	bouton_sauve.style.cursor = 'not-allowed';
}

function active_bouton_sauve()
{
	if (!document.getElementById(id_sauve)) return;
	
	var bouton_sauve = document.getElementById(id_sauve);
	ChangeOpac(100,id_sauve);
	ajoutEvenement(bouton_sauve,'click',requete_sauvegarde_saisie);
	bouton_sauve.style.cursor = 'pointer';
}

