// fonction de controle de saisie dans un champs

function ControleSaisieChamp(Champ, lib) {
	if (Champ.value == "" || Trim(Champ.value)=="") {
		alert("La rubrique '"+ lib +"' doit être obligatoirement remplie !");
		Champ.focus();
		return false;
	}
	return true;
}

// fonction qui enléve les blanc devant et derriere le champs saisi
function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function

//Fonction de controle de saisie dans l'un ou l'autre de deux champs

function ControleSaisie2Champ(Champ1, Champ2, lib1, lib2) {
	if (!Trim(Champ1.value) == "" || !Trim(Champ2.value) == "") {
	return true;	
	}
	else
	{
	alert("L'une des rubriques '"+ lib1 +"' ou '" + lib2 +"' doivent être remplies!");
		Champ1.focus();
		return false;
	}
}



function isInteger(i){
  var j;
  for (j=0;j<i.length;j++) {
	if (i.charAt(j) < "0" || i.charAt(j) > "9") return false;
  }
  return true;
}

//Verifie que l'on a saisie une date

function isDay(m){
	 var day=parseInt(m,10);
	 if (day < 1 || day > 31) return false;
	 return true;
	}

function isMonth(m){
	 var month=parseInt(m,10);
	 if (month < 1 || month > 12) return false;
	 return true;
	}

function isYear(m){
	 var year=parseInt(m,10);
	 if (year < 1900 || year > 3000) return false;
	 return true;
	}

function isMonthDay(d,m){
	 var M = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	 var day=parseInt(d,10);
	 var month=parseInt(m,10);
	 if (day < 1 || day > M[month-1]) return false;
	 return true;
	}


function isDate(d){
   if (d.length == 0)	return true;   


   var da=d.split("/");

   if (da.length != 3)	return false;
   //if (da[0].length != 2 || da[1].length != 2) return false;
   //if (da[2].length != 2 && da[2].length != 4) return false;
   for (i=0;i<3;i++) {
	 if (!isInteger(da[i])) return false;
   }
   if(!isDay(da[0]))	return false;
   if(!isMonth(da[1]))	return false;
   if(!isYear(da[2]))	return false;

   if (!isMonthDay(da[0],da[1])) return false;
   return true;
}

//Recherche dans le formulaire myform si une zone a cocher commencant par le contenu de txt est cochee.

function isInForm(myform, txt, lib){
	
	for(var i=0; i<=myform.elements.length-1; i++){	
								
			if(myform.elements[i].name.slice(0,txt.length)== txt)
			{
				if (myform.elements[i].checked)
				{
				//alert ("sortie boucle true");	
				return true;
				}
			}
	}
	alert ("Vous devez faire une sélection dans la rubrique '" + lib +"'");	
	return false;
}


// fonction de controle de saisie dans un champs

function Longueur(Champ, taille) {
var i
	if (Champ.value.length > taille) {
		i = Champ.value.length	
		alert("Votre saisie contient "+ i +" caractères et dépasse la taille limite qui est de " + taille + " caractères.");
		Champ.focus();
		return false;
	}
	return true;
}


// controle du champs mail
function CtrlEmail(obj){
	var val=obj.value;
	if(val.length == 0)	return true;

	var tval = val.split("@");
	if(tval.length!=2){
		alert("Adresse Email incorrecte");
		obj.select();
		obj.focus();
		return false;		
	}
	var tval2 = tval[1].split(".");
	if (!(tval2.length >=2)){
		alert("Adresse Email incorrecte");
		obj.select();
		obj.focus();
		return false;		
	}
	return true;	
}

// controle du champ date
function CtrlDate(obj){
	if (!(isDate(obj.value)))
			{
			alert("Format de date invalide!");
			obj.select();
			obj.focus();
			return false;
			}
	return true
}

// controle des champs numeriques 
function CtrlNum(obj){
		if (!(isInteger(obj.value)))
		{
			alert("Entrez une valeur numérique.");
			obj.focus();
			obj.select();
			return false;
		}	
		return true;		
}

function CtrlURL(obj){

	if ((!(obj.value.length>7)) || (obj.value.substring(0, 7)!='http://') || (Trim(obj.value)=='http://')){	
		
		alert("La rubrique 'URL' est obligatoire et doit commencer par ' http:// '.");
		
		obj.value = 'http://';
		obj.focus();
		return false;
		}
	return true
}

