// Transforme les caractères de la chaîne str dont le code ASCII est inconnu
function ReplaceWord(str) {
	str_temp = str;
	var ms = "-" + "	 " + " " + " "  + " " + " " + " " + " "  + " " + " "  + " " + " " + " " + " " + " " + " "  + " " + " " + " " + " " + " "  + " " + " " + " " + " " + " "  + " " + " " + " " + " ";
	var msi = 0;
	var i, c, rs, ts;
	while (msi < ms.length) {
		c = ms.charAt(msi);
		rs = ms.substring(++msi, msi+1);
		msi += 1;
		i = 0;
		while (true) { 
			i = str_temp.indexOf(c, i);
			if (i == -1) break;
			ts = str_temp.substring(0, i);
			str_temp = ts + rs + str_temp.substring(++i, str_temp.length);
		}
	}
	return str_temp;
}

// Encode en HTML les caractères ASCII de la chaîne str dont le code est supérieur à 128
function HTMLEncode(str) {
	str_temp = str;
	for (i=0; i<str_temp.length; i++) {
		ascii = str_temp.charCodeAt(i);
		if (ascii>128) {
			str_temp = str_temp.substring(0, i) + "&#" + ascii + ";" + str_temp.substring(i+1, str_temp.length);
		}
	}
	return ReplaceWord(str_temp);
}

// Encode en HTML tous les champs d'un formulaire en utilisant la fonction HTMLEncode ci-dessus
function FormHTMLEncode(formulaire) {
	for (fhe_i=0; fhe_i<formulaire.elements.length; fhe_i++) {
		if ((formulaire.elements[fhe_i].type=="select-one") || (formulaire.elements[fhe_i].type=="select-multiple")) {
			for (fhe_j=0; fhe_j<formulaire.elements[fhe_i].options.length; fhe_j++) {
				formulaire.elements[fhe_i].options[fhe_j].value = HTMLEncode(formulaire.elements[fhe_i].options[fhe_j].value);
			}
		}
		else {
			if (formulaire.elements[fhe_i].type!="file") {
				formulaire.elements[fhe_i].value = HTMLEncode(formulaire.elements[fhe_i].value);
			}
		}
	}
}