/**
 * v 20100203
 * NECESSITE prototype.js
 */

var element_body;
var page_couleur_texte_erreur = '#a00';


function initialise_champ(element_champ, valeur)
{
	$(element_champ).value = valeur;
}
function formulaire_remplace(chaine, expression, remplacement)
{
	if (expression instanceof Array)
		for (i_remplace = 0; i_remplace < expression.length; i_remplace++)
			chaine = formulaire_remplace(chaine, expression[i_remplace], remplacement[i_remplace]);
	else while (chaine.indexOf(expression) != -1)
		chaine = chaine.replace(expression, remplacement);
	return chaine;
}

//<-- Gestion des formulaires
	function formulaire_InitialiseChamps(formulaire_id, champs_formulaire)
	{
		for (var champ in champs_formulaire)
		{
			if (element = document.forms[formulaire_id].elements[champ])
			{
				if (element.type != 'file') // Dans ce cas-là, on ne peut pas l'initialiser
				{
					if (element.type == 'text' || element.type == 'select-one' || element.type == 'hidden' || element.type == 'textarea' || element.type == 'password')
						element.value = formulaire_remplace(champs_formulaire[champ], new Array("\\n", "\\r"), new Array("\n", "\r"));
					else if (element.type == 'checkbox')
					{
						element.checked = champs_formulaire[champ];
					}
					else if (element.type == 'select-multiple')
					{
						champSelects = champs_formulaire[champ].split(',');
						for (j = 0; j < champSelects.length; j++)
						{
							for (k = 0; k < element.options.length; k++)
							{
								if (element.options[k].value == champSelects[j])
								{
									element.options[k].selected = true;
									break;
								}
							}
						}
					}
					else if (element[0].type == 'radio')
					{
						for (j = 0; j < element.length; j++)
							if (element[j].value == champs_formulaire[champ] || (element[j].value == '0' && champs_formulaire[champ] == ''))
							{
								element[j].checked = true;
								break;
							}
					}
				}
			}
		}
	}
	function formulaire_afficheOstensiblementChampsInvalides(formulaire_id, champs_obligatoires)
	{
		for (i = 0; i < champs_obligatoires.length; i++)
			document.forms[formulaire_id].elements[champs_obligatoires[i]].setStyle({ borderColor:page_couleur_texte_erreur });
	}
	
	function fixe_nombre_maximal_de_caracteres(element, nombre_caracteres)
	{
		$(element).observe('change', function() {
			if ($(element).value.length > nombre_caracteres)
				$(element).value = $(element).value.substring(0, nombre_caracteres);
		});
	}
//-->
