var IS_STRING = 1001;
var IS_INT = 1002;
var IS_NOT_EMPTY = 1003;
var IS_VALID_EMAIL = 1004;
var IS_BETWEEN = 1005;
var IS_GREATER = 1006;
var IS_LOWER = 1007;
var IS_LONGER = 1008;
//--------------------------
//
//
//--------------------------

function checkForm(leForm, obj){

var ok = true;
var val;

for(var elem in obj){

	val = leForm.elements[elem].value;
	switch (obj[elem][0]){
	
	case(IS_STRING):
		
		ok = (val.length)? (typeof val == 'string'):false;
		if(!ok){
		leForm.elements[elem].focus();
		doAlert();
		return false;
		}
		
	break;
	//---------------
	case(IS_INT):
		
		ok = (val.length)?(typeof val == 'number' && isFinite(val)):false;
		if(!ok){
		leForm.elements[elem].focus();
		doAlert();
		return false;
		}
		
	break;
	//---------------
	case(IS_NOT_EMPTY):
		
		ok = val.length;
		if(!ok){
		leForm.elements[elem].focus();
		doAlert();
		return false;
		}
	
	break;
	//---------------
	case(IS_LONGER):
		
		ok = (val.length >  obj[elem][1]);
		if(!ok){
		leForm.elements[elem].focus();
		doAlert();
		return false;
		}
	
	break;
	//---------------
	case(IS_VALID_EMAIL):
	
		var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		ok = re.test(val);
		if(!ok){
		leForm.elements[elem].focus();
		doAlert('Email invalide');
		return false;
		}
	
	break;
	//---------------
	case(IS_BETWEEN):
		// TODO
		alert('IS_BETWEEN ?' + obj[elem][1] + obj[elem][2]);
	
	break;
	//---------------
	case(IS_GREATER):
		ok = (val > obj[elem][1]);
		if(!ok){
		leForm.elements[elem].focus();
		doAlert();
		return false;
		}
	break;
	//---------------
	case(IS_LOWER):
		ok = (val < obj[elem][1]);
		if(!ok){
		leForm.elements[elem].focus();
		doAlert();
		return false;
		}
	break;
	//---------------
	default:
		
	
	} // fin de switch

} // fin de for in


return ok;
}

//--------------------------
//
//
//--------------------------

function doAlert(additionalMsg){
if(!additionalMsg){additionalMsg='';}
alert("Formulaire non valide/Form is not valid \n\r\n\r" + additionalMsg);
}
//--------------------------
//
//
//--------------------------


