function clearErreurs() {
	var elms = $$('.erreur');
	for (i in elms) {
		elms[i].removeClassName('erreur');
		elms[i].title = '';
	}
}

function clearErreur(prefix, name) {
	id = name.replace('[', '_').replace(']', '');
	var form;
	if ($(prefix+'label_'+id)) {
		$(prefix+'label_'+id).removeClassName('erreur');
		$(prefix+'label_'+id).title = '';
	}
	if ($(prefix+id)) {
		$(prefix+id).removeClassName('erreur');
		$(prefix+id).title = '';
		form = $(prefix+id).form;
	}
	if ($(prefix+'erreur_'+id)) {
		$(prefix+'erreur_'+id).style.display = 'none';
	}

	if (form) {
		var radios = form.elements[name];
		if (radios[0] && radios[0].type == 'radio') {
			for (i in radios) {
				if (radios[i].id != prefix+id) {
					radios[i].removeClassName('erreur');
					radios[i].title = '';
				}
			}
		}
	}
}

function debug(str) {
	if ($('debug')) {
		$('debug').innerHTML += str + '<br />';
	}
}

function setErreur(prefix, name, error) {
	id = name.replace('[', '_').replace(']', '');
	var form;

	debug('setting err on '+prefix+'label_'+id);
	if ($(prefix+'label_'+id)) {
		debug('true');
		$(prefix+'label_'+id).addClassName('erreur');
		$(prefix+'label_'+id).title = error.replace('\n', '; ');
	}

	debug('setting err on '+prefix+id);
	if ($(prefix+id)) {
		debug('true');
		$(prefix+id).addClassName('erreur');
		$(prefix+id).title = error.replace('\n', '; ');
		$(prefix+id).observe('change', function() { clearErreur(prefix, this.name); } );
		$(prefix+id).observe('keyup', function() { clearErreur(prefix, this.name); } );

		var form = $(prefix+id).form;
	}
	debug('setting err on '+prefix+'erreur_'+id);
	if ($(prefix+'erreur_'+id)) {
		debug('true');
		$(prefix+'erreur_'+id).innerHTML = utils.nl2br(error);
		$(prefix+'erreur_'+id).style.display = 'block';
	}

	if (form) {
		var radios = form.elements[name];
		if (radios[0] && radios[0].type == 'radio') {
			for (i in radios) {
				if (radios[i].id != prefix+id) {
					radios[i].addClassName('erreur');
					radios[i].title = error.replace('\n', '; ');
					radios[i].observe('change', function() { clearErreur(prefix, this.name); } );
					radios[i].observe('keyup', function() { clearErreur(prefix, this.name); } );
				}
			}
		}
	}
}

