/* Fonction de vérification si un champs est valide   
** Paramètres: 
**		- l_input: objet form.input ou string (id)
**		- type:
**			err: pas de vérification / affiche erreur
**			text: vérifie si le champs est vide
**			date: vérifie si une date est correcte
**			select: vérifie si un élément est sélectionné (liste choix unique)
**			multiple: idem pour liste à choix multiples
**			mail: vérifie si le champs à la syntaxe du type xxx@xxx.xxx
**			checkbox : vérifie si un champs checkbox est validé
**			radio: vérifie si un bouton radio est choisi
**		- error_msg: message d'erreur à afficher
**		- p: block sous lequel afficher le message (par défaut: 0 => l_input)
		- alg: aligne text (right, center, left)
** en cas d'erreur, le message s'affiche en dessous, le champs clignote en rouge, puis récupère le focus et le message est affiché.

** 	COPYRIGHT: AHOHA SARL
*/
check_input=function(l_input, type, error_msg, p, alg){
	if(!l_input) return false;
	if(!p) p=l_input;
	var e;
	var error_flag=(type=='err') ? true : false;
	if (typeof(l_input)=='string') l_input=$(l_input);
	if (type == 'err') error_flag=true;
	if (type == 'text'){
		l_value = l_input.value.replace(/^\s+|\s+$/g, "");
		if(l_value=="") error_flag=true;
	}
	if (type=='multiple') {
			var n=0;
			for (i=0; i<l_input.options.length; i++) if (l_input.options[i].selected) n++;
			if (n==0) error_flag=true;
	}
	if (type == 'select'){
		options = l_input.options[l_input.selectedIndex].value	;
		l_value = options.replace(/^\s+|\s+$/g, "");
		if(l_value=="") error_flag=true;
	}
	if (type == 'mail' && l_input.value!=""){
		l_value = l_input.value.replace(/^\s+|\s+$/g, "")
		if (!(/^[^@]+[@][^@]+[.][^@]+$/).test(l_value)) error_flag=true;
	}
	if (type == 'date' && !strtodate(l_input.value)) error_flag=true;	
	if (type == 'checkbox' && !l_input.checked) error_flag=true;
	if (type == 'radio' && l_input.value=='') error_flag=true;
	if ($(l_input.id+'_error'))
		$(l_input.id+'_error').style.display='none';
	if (error_flag){
		// verifie si le div contenant l'erreur existe, sinon le crée.
		if (!$(l_input.id+'_error')){
			w=p.offsetWidth;
			wr=Element.wrap(p, 'div',{'style': 'position: relative;', 'class': 'inline-block'});
			wr.style.width=w+'px';
			e = new Element( 'div', { 'class': 'error', 'id': l_input.id+'_error'});
			Element.insert(p, {'after':e} );
		}
		else e=$(l_input.id+'_error');
		e.innerHTML=error_msg;
//		e.update(error_msg);
		e.style.display='block';
		if (alg) e.style.textAlign=alg;
		if (alg && alg=="right") e.style.Right=0;	
		Effect.Pulsate(e,{pulses: 1, duration:1, from: 0.3});
		l_input.focus();
		return false;
	}
	return true;
}

function check_captcha(t){
	url= url_ajax;
	url += "ajax_captcha.php?captcha=";
	url += $(t).value;
	url += "&id="+t;
	new Ajax.Request(url,{method: 'get', onComplete: evalCaptchaCheck});
}
function evalCaptchaCheck(t){
	if (t) eval(t.responseText);
}
