// JavaScript Document
function creationXHR() {
	var resultat = null;
	try {//test pour les navigateurs : Mozilla, Opéra, ...
		resultat = new XMLHttpRequest();
	} 
	catch (Error) {
		try {//test pour les navigateurs Internet Explorer > 5.0
			resultat = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (Error) {
			try {//test pour le navigateur Internet Explorer 5.0
			resultat = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (Error) {
				resultat = null;
			}
		}
	}
	return resultat;
}

//Fonctions de gestion du DOM (solution alternative à innerHTML)
function remplacerContenu(id, texte) {
	var element = document.getElementById(id);
	if (element != null) {
		supprimerContenu(element);
		var nouveauContenu = document.createTextNode(texte);
		element.appendChild(nouveauContenu);
	}
}

function supprimerContenu(element) {
	if (element != null) {
		while(element.firstChild)
			element.removeChild(element.firstChild);
	}
}
//--------------Fonctions encodage
//code en UTF8, la valeur d'un élément dont id passé en parametre
function codeContenu(id) { 
	var valeur=document.getElementById(id).value;
	return encodeURIComponent(valeur);
}

//--------------Fonction pour tester l'existence de l'attribut LIEN pour les GSR
function existeLien(noeud, text, balise) {
	if (noeud.getAttribute('LIEN')) {
		var A = document.createElement('a');
		A.setAttribute('href',noeud.getAttribute('LIEN')); 
		A.setAttribute('target','_blank'); 
		A.style.color = "#333333";
		A.appendChild(text);
		balise.appendChild(A);
	} else { balise.appendChild(text); }
}
// A adapter dans la fonction précédente
function lien(noeud, text, balise) {
	if (noeud.getAttribute('LIEN')) {
		var A = document.createElement('a');
		A.setAttribute('href',noeud.getAttribute('LIEN')); 
		A.setAttribute('target','_blank'); 
		A.appendChild(text);
		balise.appendChild(A);
	} else { balise.appendChild(text); }
}