/***************************************************************************************
 * Generic JavaScript functions used to manage form fields
 * 
 * @author André Masson
 ***************************************************************************************/

function checkEmailAddress(field) {
	return field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
}


function validNumber(str) {
	for (var i=0; i<str.length; i++) {
		if (!digit(str.charAt(i)))
			return false;
	}

	return true;
}

function digit(d) {
	var validDigit = "1234567890.,";

	for (var j=0; j<validDigit.length; j++) {
		if (d == validDigit.charAt(j))
			return true;
	}

	return false;
}

function auMoinsUneSelection(selectBox) {
	var auMoinsUneSel = false;

	for (var i=0; i <selectBox.options.length; i++) {
		if (selectBox.options[i].selected) {
			auMoinsUneSel = true;
			break;
		}
	}

	return auMoinsUneSel;
}

/**
 * Give default focus to field when page is loaded
 */
function giveDefaultFocusGeneric(frm, astrFlds) {
	for (var i=0; i < astrFlds.length; i++) {
		var fieldName = astrFlds[i];
		var v = frm.elements[fieldName].value;
		if (isEmpty(v)) {
			if (frm.elements[fieldName].type == "text") {
				frm.elements[fieldName].select();
			}
			frm.elements[fieldName].focus();
			return;
		}
	}
}

/**
 * Form validation
 */
function validFormGeneric(frm, astrFlds, astrFldsDesc) {
	// Validation des champs obligatoires
	for (var i=0; i < astrFlds.length; i++) {
		var fieldName = astrFlds[i];
		var v = frm.elements[fieldName].value;
		if (isEmpty(v)) {
			alert("Vous devez inscrire " + astrFldsDesc[i]);
			if (frm.elements[fieldName].type == "text") {
				frm.elements[fieldName].select();
			}
			frm.elements[fieldName].focus();
			return false;
		}
	}

	// Validation ok
	return true;
}


