// CHECK FORM

function checkForm(idCheckForm,filedsText_require,filedsTextArea_require){

	var form = $(idCheckForm);
	var arrayErrorField = new Array();
	var arrayNoErrorField = new Array();
	var tabFieldTextRequire = filedsText_require.split(','); 
	var tabFieldTextAreaRequire = filedsTextArea_require.split(','); 
	var valid = true;

	//recuperation des champs texts
	for(i=0;i<tabFieldTextRequire.length;i++){
		if($F(tabFieldTextRequire[i]) == ""){
			valid = false;
			arrayErrorField[arrayErrorField.length] = tabFieldTextRequire[i];
		}else{
			arrayNoErrorField[arrayNoErrorField.length] = tabFieldTextRequire[i];
		}
	}	
	//recuperation des champs textArea
	if(filedsTextArea_require != ""){
		for(i=0;i<tabFieldTextAreaRequire.length;i++){
		value = Form.Element.Serializers.textarea($(tabFieldTextAreaRequire[i]));
			if(value == ""){
				valid = false;
				arrayErrorField[arrayErrorField.length] = tabFieldTextAreaRequire[i];
			}else{
				arrayNoErrorField[arrayNoErrorField.length] = tabFieldTextAreaRequire[i];
			}
		}
	}
		
	//captcha
	if($('captcha')){
		reponse = $F('captchares');
		reponseUser = $F('captcha');
		num1 =  parseInt(reponse.substring(0,1));
		num2 =  parseInt(reponse.substring(1,2));
		somme = num1+num2;
		if(somme !=  parseInt(reponseUser)){
			arrayErrorField[arrayErrorField.length] = "captcha";
			valid = false;
		}else{
			arrayNoErrorField[arrayNoErrorField.length] = "captcha";
		}
	}

	if(!valid){
		//notification des erreurs
		for(i=0;i<arrayErrorField.length;i++){
			markError(arrayErrorField[i]);
		}
		for(i=0;i<arrayNoErrorField.length;i++){
			markNoError(arrayNoErrorField[i]);
		}
		//affichage d'un message d'erreur
		var listeHtmlFieldError = "<ul>";
		for(i=0;i<arrayErrorField.length;i++){
			listeHtmlFieldError += "<li>"+getNameDefaultRequiredField(arrayErrorField[i])+"</li>";
		}
		//error field info
		/*
		listeHtmlFieldError += "</ul>";
		form.innerHTML = "<div class='info_errors'>Les champs suivants sont obligatoires :<br />"+listeHtmlFieldError+"</div>" + form.innerHTML;
		getNameDefaultRequiredField("email");
		*/
	}else{
		form.submit();
	}
}

function markError(field){
	Element.addClassName(field,"error_field");
}
function markNoError(field){
	$(field).removeClassName('error_field');
}

function getNameDefaultRequiredField(nameField){
	//cette fonction me permet d'aller chercher le nom des champs
	return str_replace("*","",$('fieldname_'+nameField).innerHTML);
}

function str_replace( sujet, remplacant,chaine) {
  position = chaine.indexOf(sujet);
  retour = '';
  if (position == -1) return chaine;
  retour += chaine.substring(0,position) + remplacant;
  if ( position + sujet.length > chaine.length)
    retour += str_replace( sujet, remplacant,chaine.substring(position + sujet.length, chaine.length));
  return retour;
}