function CheckSpaces(Chaine){
	while(Chaine.charAt(0) == " "){
		Chaine = Chaine.substr(1)
	}
	if(Chaine == ""){
		return false
	}else{
		return true
	}
}

function CheckMail(Email){

	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(Email)) return true
	else return false

/*	var arobase = Email.indexOf("@")
	var point = Email.lastIndexOf(".")
	
	var reg = new RegExp("[\+?{}!><'\"]", "i");

   if((arobase < 2)||(point + 2 > Email.length) ||(point < arobase+3) || (CheckSpaces(Email) == false) || (reg.test(Email) == true)){
	 	return false
	}else{
   		return true
	}*/
}

function FieldWrong(Message, ElFocus){
	alert(Message)
	document.getElementById(ElFocus).focus()
}

/*********************************************************************************************************************/

function MyForm(){
	this.Field = new Array();
	this.FieldSum = new Array();
	this.DoIfOk = new Array();
	this.checkFieldIf = new Array();
	
}
//Personne.prototype.nomComplet = function() {
MyForm.prototype.FieldAdd = function (Field_id, Field_type, Field_message, Field_min_size){
	Field_array = new Array()
	Field_array["element_id"] = Field_id;
	Field_array["type"] = Field_type;
	Field_array["message"] = Field_message;
	Field_array["min_size"] = Field_min_size;
	
	this.Field.push(Field_array)
}

MyForm.prototype.FieldSumAdd = function (Field_id, Field_max_sum, Field_min_sum, Field_message){
	Field_array = new Array()
	Field_array["element_id"] = Field_id;
	Field_array["max_sum"] = Field_max_sum;
	Field_array["message"] = Field_message;
	Field_array["min_sum"] = Field_min_sum;
	
	this.FieldSum.push(Field_array);
}

MyForm.prototype.checkIf = function (Field_id, condition, Field_message){
	Field_array = new Array()
	Field_array["element_id"] = Field_id;
	Field_array["condition"] = condition;
	Field_array["message"] = Field_message;
	
	this.checkFieldIf.push(Field_array);
}

MyForm.prototype.DoIfOkAdd = function (ToDo){
	this.DoIfOk.push(ToDo);
}


MyForm.prototype.checkform = function (){


	for(i=0;i<this.Field.length;i++){


		if(this.Field[i]["type"] == "checked"){
			 if(document.getElementById(this.Field[i]["element_id"]).checked == false){
				FieldWrong(this.Field[i]["message"], this.Field[i]["element_id"])
				return false
			}
		}else if(this.Field[i]["type"] == "email"){
			if(CheckMail(document.getElementById(this.Field[i]["element_id"]).value) == false){
				FieldWrong(this.Field[i]["message"], this.Field[i]["element_id"])
				return false
			
			}
		}else{
			//alert(this.Field[0]["element_id"]);	
			if(CheckSpaces(document.getElementById(this.Field[i]["element_id"]).value) == false || document.getElementById(this.Field[i]["element_id"]).value.length<this.Field[i]["min_size"]){
			FieldWrong(this.Field[i]["message"], this.Field[i]["element_id"])
			return false
			
			}
		}
	}
	//alert(this.FieldSum.length);
	for(j=0;j<this.FieldSum.length;j++){
		//alert("ok" + this.FieldSum[j]["min_sum"]);
		if(document.getElementById(this.FieldSum[j]["element_id"]).value == "NaN" || document.getElementById(this.FieldSum[j]["element_id"]).value < this.FieldSum[j]["min_sum"]){
			FieldWrong(this.FieldSum[j]["message"], this.FieldSum[j]["element_id"])
			return false
		}
	}
	
	for(m=0;m<this.checkFieldIf.length;m++){
		if(eval(this.checkFieldIf[m]["condition"])){
			if(CheckSpaces(document.getElementById(this.checkFieldIf[m]["element_id"]).value) == false){
				FieldWrong(this.checkFieldIf[m]["message"], this.checkFieldIf[m]["element_id"])
				return false
			
			}
		}

	}
	
	for(k=0;k<this.DoIfOk.length;k++){
		eval(this.DoIfOk[k]);		
	}
	
	return true
}


