/* Check the form */
function js_libafuse_fct_1_0__check_form(o_form, s_field_name){
	/* reinit */

	/* Valid */
	var b_field_ok = false;
	var a_field_infos = new Array;
	a_field_infos["s_value"]		= document.forms[o_form.name].elements[s_field_name].value;
	a_field_infos["b_mandatory"]	= document.forms[o_form.name].elements[s_field_name + "_mandatory"].value;
	a_field_infos["s_caption"]		= document.forms[o_form.name].elements[s_field_name + "_caption"].value;
	a_field_infos["s_type_html"]	= document.forms[o_form.name].elements[s_field_name + "_type_html"].value;
	a_field_infos["s_type_data"]	= document.forms[o_form.name].elements[s_field_name + "_type_data"].value;
	a_field_infos["s_value"]		= js_libafuse_fct_1_0__removeSpaces(a_field_infos["s_value"]);
	a_field_infos["b_mandatory"]	= Number(a_field_infos["b_mandatory"]);
	
	/* check mandatory */
	if (!js_libafuse_fct_1_0__check_form_mandatory(a_field_infos)){
		alert("Le champ \"" + a_field_infos["s_caption"] + "\" ne peut être vide");
	} else if (a_field_infos["s_value"].length > 0) {
		if (a_field_infos["s_type_data"] == "email"){
			b_field_ok = js_libafuse_fct_1_0__ValidationField_email(a_field_infos["s_value"]);
		} else if (a_field_infos["s_type_data"] == "url"){
			b_field_ok = js_libafuse_fct_1_0__ValidationField_url(a_field_infos["s_value"]);
		} else if (a_field_infos["s_type_data"] == "number"){
			b_field_ok = js_libafuse_fct_1_0__ValidationField_number(a_field_infos["s_value"]);
		} else if (a_field_infos["s_type_data"] == "float"){
			b_field_ok = js_libafuse_fct_1_0__ValidationField_float(a_field_infos["s_value"]);
		} else if (a_field_infos["s_type_data"] == "date"){
			alert("date fct");
			b_field_ok = false;
		} else if (a_field_infos["s_type_data"] == "time"){
			alert("time fct");
			b_field_ok = false;
		} else if (a_field_infos["s_type_data"] == "string"){
			b_field_ok = true;
		}
	} else { // Empty, so OK
		b_field_ok = true;
	} // end data exist
	
	if (!b_field_ok){
		js_libafuse_fct_1_0__field_error_info(a_field_infos["s_caption"]);
		document.forms[o_form.name].elements[s_field_name].focus();
	} // end if
	
	return b_field_ok;
} // end fct js_libafuse_fct_1_0__check_form

/* -------------------------------------------------------------------------------- */

function js_libafuse_fct_1_0__field_error_info(sMsg){
	sMsg = "[LibaFuse Information] Erreur pour le champ '" + sMsg + "'";
	js_libafuse_fct_1_0__msg_info_statusBar(sMsg, "text");
	setTimeout('js_libafuse_fct_1_0__rollStatus()', 50);
} // end fct js_libafuse_fct_1_0__field_error_info

/* -------------------------------------------------------------------------------- */

function js_libafuse_fct_1_0__check_form_mandatory(a_field_infos){
	if (a_field_infos["b_mandatory"] == 1){
		if (a_field_infos["s_value"] == ""){
			return false;
		} else {
			return true;
		}
	} else {
		return true;
	}
}// end fct js_libafuse_fct_1_0__check_form_mandatory

/* -------------------------------------------------------------------------------- */

function js_libafuse_fct_1_0__check_form_all(o_form){
	b_form_statut = true;
	for (i = 0; i < o_form.length; i++){
		var s_mandatory	= "_mandatory";
		var s_name		= document.forms[o_form.name].elements[i].name;
		var n_name		= s_name.indexOf(s_mandatory);
		if (n_name > 0){ // Name OK, display Field data
			var a_name			= s_name.split("_");
			var a_name			= a_name.slice(0, (a_name.length -1));
			var s_field_name	= a_name.join("_");
			b_form_statut		= js_libafuse_fct_1_0__check_form(o_form, s_field_name);
			if (!b_form_statut){
				break;
			} // end if exit
		} // End IF
	} // end for I
	return b_form_statut;
} // End fct js_libafuse_fct_1_0__check_form_all

/* -------------------------------------------------------------------------------- */
