//+=================================================================+
//| FORM VALIDATION - (c) Laurent Tordjman <laurent@tordjman.com>	|
//+=================================================================+
var objValid = new Object()
//---------------------
// Regular Expressions
//---------------------
objValid.IntegerPat = /^0*[1-9]+[0-9]{0,9}$/	// Integer > 0
objValid.AmountPat = /^\d+((\.|,)\d{0,2})?$/	// matches 12 or 17.23 or 14281545,00 or ...
objValid.EmailPat = /^([\w-]+\.)*[\w-]+\@([\w-]+\.)+[a-z]{2,4}$/i	// Email pattern
objValid.UrlPat = /^https?:\/\/[^\s\/:]+(:\d+)?(\/[\S]*)?$/
//---------------------
// Validation
//---------------------
function validateForm(aForm){
	var elt = aForm.elements, v, val
	for(var i = 0; i < elt.length; i++){
		val = String(elt[i].value).replace(/^\s+|\s+$/g,'')
		v = elt[i].v
		var fctValid = v == null? null : (v.charAt(0) == '/'? new RegExp(v.substr(1, v.length - 2)) : (v.charAt(v.length - 1) == ')'? eval(v.substr(0, v.length - 2)) : objValid[v]))
		if((val == '' && elt[i].m == '1') || (val != '' && fctValid != null && !(typeof(fctValid) == 'function'? fctValid(val) : (fctValid.exec(val) != null)))){
			alert(val == ''? 'Mandatory field' : elt[i].e)
			elt[i].focus()
			if(elt[i].type == 'text' || elt[i].type == 'password') elt[i].select()
			return false
		}
	} 
	return true
}