/**
 * @author pgranger
 */

/**
 * 
 * @param {Object} form
 * @param {Object} elements
 */
function validateForm(form, formElements){
	
	var errors = new Array();
	
	for(i=0;i<formElements.length;i++){
		
		var elem = formElements[i];
		
		
		var value = $(elem.id).value;
		
		var regexp = new RegExp(elem.regexp);
		var match = false;
		if (value.match(regexp)) {
			match = true;
		}
		
		
		if (elem.required) {
			if (value.length == 0) {
				errors.push({
					id: elem.id,
					error: elem.requirederror
				});
			}
			else 
				if (!match) {
					errors.push({
						id: elem.id,
						error: elem.wrongformaterror
					});
				}
		}
		else {
			if (value.length != 0) {
				if (!match) {
					errors.push({
						id: elem.id,
						error: elem.wrongformaterror
					});
				}
			}
		}
		
	}
	
	if(errors.length == 0){
		form.submit();
		return true;
	}else{
		var str = '';
		for(i=0;i<errors.length;i++){
			str+=errors[i].error+"\n";
			//$(errors[i].id).innerHTML += '<span style="color:red;">'+errors[i].error+'</span>';
		}
		alert(str);
		return false;	
	}
}
