function ValidateFormat(format,errorMessage,p_event){
	var oObject = null;
	if (p_event.srcElement)
		oObject = p_event.srcElement;
	else
		oObject = p_event.target;		
	var number  = oObject.value;
	oObject.errorFormatMessage = errorMessage;
	if (format.exec(number)==null){
    	oObject.className = oObject.cssError;
    	oObject.formatOk  = false;
    	return false;
    }
    else{	
    	oObject.className = oObject.css;
    	oObject.formatOk  = true;
    	return true;
    }
}
function ValidateInteger(errorMessage,p_event){
	ValidateFormat(/^[-]?[0-9]*$/,errorMessage,p_event);
}
function ValidateUnsignedInteger(errorMessage,p_event){
	ValidateFormat(/^[0-9]*$/,errorMessage,p_event);
}
function ValidateDecimal(errorMessage,p_event){
	if (!ValidateFormat(/^[-]?[0-9]+[\.]{1,1}[0-9]+$/,errorMessage,p_event))
		ValidateInteger(errorMessage,p_event);
} 
function ValidateUnsignedDecimal(errorMessage,p_event){
	if (!ValidateFormat(/^[0-9]+[\.]{1,1}[0-9]+$/,errorMessage,p_event))
		ValidateUnsignedInteger(errorMessage,p_event);
}
function ValidateAlphaNumeric(errorMessage,p_event){
	ValidateFormat(/^[A-Za-z0-9]*$/,errorMessage,p_event);
}
function FormatDecimal(p_event){
	var oObject = p_event.target;
	if (p_event.srcElement)
		oObject = p_event.srcElement;
	else
		oObject = p_event.target;		
	var number  = oObject.value;
	if (/^[-]?[0-9]+,[0-9]+$/.exec(number)!=null)
		if (number.indexOf(",")!=-1)
			oObject.value = number.substring(0,number.indexOf(","))+"."+number.substring(number.indexOf(",")+1,number.length);
}
function FormatCoefficientRM(p_event){
	var oObject = p_event.target;
	if (p_event.srcElement)
		oObject = p_event.srcElement;
	else
		oObject = p_event.target;		
	var number  = oObject.value;
	//si le crm est mal rempli
	if(number=="NaN" || number==null || number==""  || (/^[0-9]+[\\.,]?[0-9]+$/.exec(number)==null)){
		number="1.00";
	}
	//crm en x.x ou x,x	
	if (/^[0-9]+[,\\.][0-9]+$/.exec(number)!=null && (number.indexOf(",")!=-1 ||number.indexOf(".")!=-1)){
		if(number.indexOf(",")!=-1)
			number = number.substring(0,number.indexOf(","))+"."+number.substring(number.indexOf(",")+1,number.length);
	}
	//crm 0XX
	if (/^0[0-9]+$/.exec(number)!=null && number.length>1 ){
		number ="0"+ number.substring(1,number.length);
	}
	//crm entre 50 et 350
	if (/^[0-9]+$/.exec(number)!=null && number.length>=2){
		if(number.length==2){
			number ="0."+ number;
		}else{
			number =number.substring(0,1)+"."+ number.substring(1,number.length);;
		}
	}
	number = number.substring(0,4);
	number=filtreCRM(parseFloat(number));
	oObject.value = number;
}
function ValidateTelephone(telephone,errorMessage){	
	var oObject = event.srcElement;
	oObject.errorFormatMessage = errorMessage;
	if (/^[0-9]*$/.exec(telephone)==null || (telephone!="" && (telephone.length<8 || telephone.length>11))){
		oObject.className = oObject.cssError;
    	oObject.formatOk  = false;
    	return false;
    }
	else{	
		oObject.className = oObject.css;
		oObject.formatOk  = true;
		return true;	
	}
}
function ValidateEmail(errorMessage){
	var oObject = event.srcElement;
	oObject.errorFormatMessage = errorMessage;
	var email = Trim(oObject.value);
	var pos = email.indexOf("@");
	var posPoint = (email.substring(pos,email.length)).indexOf('.');
	if (email!="" && (pos==-1 || posPoint==-1)){
		oObject.className = oObject.cssError;
    	oObject.formatOk  = false;
    	return false;
	} else {
		oObject.className = oObject.css;
		oObject.formatOk  = true; 
		return true;	
	}
}
function FormatAndValidateTelephone(errorMessage){
	var oObject = event.srcElement;
	var telephone = Trim(oObject.value);
	while (telephone.indexOf(" ")!=-1 || telephone.indexOf(".")!=-1 || telephone.indexOf("/")!=-1 || telephone.indexOf("-")!=-1){
		if (telephone.indexOf(" ")!=-1)
			telephone = telephone.substring(0,telephone.indexOf(" "))+telephone.substring(telephone.indexOf(" ")+1,telephone.length);
		if (telephone.indexOf(".")!=-1)
			telephone = telephone.substring(0,telephone.indexOf("."))+telephone.substring(telephone.indexOf(".")+1,telephone.length);
		if (telephone.indexOf("/")!=-1)
			telephone = telephone.substring(0,telephone.indexOf("/"))+telephone.substring(telephone.indexOf("/")+1,telephone.length);
		if (telephone.indexOf("-")!=-1)
			telephone = telephone.substring(0,telephone.indexOf("-"))+telephone.substring(telephone.indexOf("-")+1,telephone.length);
	}
	if (telephone.indexOf("+")==0)
		telephone = telephone.substring(1,telephone.length);
	if (ValidateTelephone(telephone,errorMessage)){
		var telephoneWithFormat = "";
		while(telephone.length>3){
			telephoneWithFormat = "."+telephone.substring(telephone.length-2,telephone.length)+telephoneWithFormat;
			telephone = telephone.substring(0,telephone.length-2);
		}
		telephoneWithFormat = telephone + telephoneWithFormat;
		oObject.value = telephoneWithFormat;
	}
}
function ValidateNumeroApporteur(errorMessage){
	ValidateInteger(errorMessage);
	var oObject = event.srcElement;
	if (oObject.formatOk){
		var number  = oObject.value;
		oObject.className = (number.length!=6)? oObject.cssError : oObject.css;
	    oObject.formatOk  = (number.length==6);
	}
}
function ValidateFormatZonier(p_event){
	var oObject = null;
	if (p_event.srcElement)
		oObject = p_event.srcElement;
	else
		oObject = p_event.target;		
	var number  = oObject.value;
	var result='';
	//On verifie que c'est des chiffres
	if(/^[0-9]+$/.exec(number)==null){
		for(var i=0;i<number.length;i++){
			if(/^[0-9]+$/.exec(number[i])!=null){
				result+=number[i];
			}
		}
		oObject.value=result;
	}	
}
//Fonction qui remet le CRM entre 0.5 et 3.5
function filtreCRM(p_crm){
	var crm=parseFloat(p_crm);
	crm=crm*100;
	if(crm<50){
		crm=50;
	}
	if(crm>350){
		crm=350
	}
	crm=crm/100;
	return crm;
}
function formatTxAlcoolemie(p_event){
var oObject = p_event.target;
	if (p_event.srcElement)
		oObject = p_event.srcElement;
	else
		oObject = p_event.target;		
	var number  = oObject.value;

	if(number=="NaN" || number==null || number==""  ||  number<0 ||(/^[0-9]+[\\.,]?[0-9]+$/.exec(number)==null)){
		if(number!="1"){
			number="0";
		}
	}
	//format en x.x ou x,x	
	if (/^[0-9]+[,\\.][0-9]+$/.exec(number)!=null && (number.indexOf(",")!=-1 ||number.indexOf(".")!=-1)){
		if(number.indexOf(",")!=-1)
			number = number.substring(0,number.indexOf(","))+"."+number.substring(number.indexOf(",")+1,number.length);
	}
	oObject.value = number;
}
