//***************************
// Fonction VERIF FORM
//***************************


function Trim(str) {
  i=0;
  while (str.charAt(i)==' ') { i ++ }
  if (i>0) { str=str.substring(i,str.length-1) }
  i=0;
  while (str.charAt(str.length-1-i)==' ') { i ++ }
  if (i>0) { str=str.substring(0,str.length-i) }
  return str;
}


function retrieveColor(el) {
  if (el.style) el.style.backgroundColor = "white";
}


function setColor(el) {
  if (el.style) el.style.backgroundColor = "#FAD507";
}



  
//***************************
// Les Verifs
//***************************


function VerifCaractere(obj,name) {
  str=obj.value;
  if((str.indexOf('\\')>=0) || (str.indexOf('/')>=0) || (str.indexOf(':')>=0) || (str.indexOf('*')>=0) || (str.indexOf('?')>=0) || (str.indexOf('"')>=0) || (str.indexOf('<')>=0) || (str.indexOf('>')>=0) || (str.indexOf('|')>=0)) {
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> ne peut pas contenir les caractères suivants :\n   \\  /  :  *  ?  \'\'  <  >  |\n";
  }
}


function VerifRestrictCaractere(obj,name) {
  str=obj.value;
  if((str.indexOf('=')>=0) || (str.indexOf('-')>=0) || (str.indexOf('+')>=0) || (str.indexOf('&')>=0) || (str.indexOf(' ')>=0) || (str.indexOf('\\')>=0) || (str.indexOf('\'')>=0) || (str.indexOf('/')>=0) || (str.indexOf(':')>=0) || (str.indexOf('*')>=0) || (str.indexOf('?')>=0) || (str.indexOf('"')>=0) || (str.indexOf('<')>=0) || (str.indexOf('>')>=0) || (str.indexOf('|')>=0)) {
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> ne peut pas contenir les caractères suivants :\n   espace  &  =  +  -  \\  /  :  *  ?  \'\'  \'  <  >  |\n";
  }
}


function VerifChampNonVide(obj,name) {
  str=obj.value;
  str=Trim(str);
  if (str == "") {
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> ne peut pas être vide !\n";
  }
}

function VerifTailleMini(obj,taille,name) {
  str=obj.value;
  if (str.length < taille ) {
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> doit contenir au minimum "+taille+" caractères !\n";
  }
}


function VerifTailleMaxi(obj,taille,name) {
  str=obj.value;
  if (str.length < taille ) {
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> doit contenir au maximum "+taille+" caractères !\n";
  }
}


function VerifEmail(obj,name) {
  str=obj.value;
  str=Trim(str);
  if ((str!='')&&((str.indexOf('@', 0) < 1)||(str.indexOf('.', 0) < 1)))	{
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> ne contient pas un format d\'email correct !\n";
  }
}


function VerifNumeric(obj,name) {
  str=obj.value;
  str=Trim(str);
  if (isNan(number(str))) {
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> ne contient pas un format de nombre correct !\n";
  }
}


function Verif2Pareil(obj1,name1,obj2,name2) {
  str1=obj1.value;
  str1=Trim(str1);
  str2=obj2.value;
  str2=Trim(str2);
  if (str1!=str2) {
	setColor(obj1);
	setColor(obj2);
	if (erreurStr=='') obj1.focus();
	erreurStr=erreurStr+"La valeur du champ <"+name1+"> ne correspond pas à celle du champ <"+name2+"> !\n";
  }
}


function ChangementExt(obj,oldobj,name) {
  str=obj.value;
  oldstr=oldobj.value;
  ext=str.substring(str.lastindexOf('.'),str.length-1)
  oldext=oldstr.substring(oldstr.lastindexOf('.'),oldstr.length-1)
  if (ext!=oldext) {
	if (confirm("Attention l\'extension du nouveau fichier n\'est pas la même que pour l\ancien ! Voulez-vous quand même continuer ?")) {
		return false;
	} else { 
		setColor(obj);
		if (erreurStr=='') obj.focus();
		erreurStr=erreurStr+"Le champ <"+name+"> ne contient pas un format de nombre correct !\n";
	}
  }
}



