//***************************
// Fonction Valid 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 = "#C4ED39";
}



  
//***************************
// Les Valids
//***************************



function ValidCaractere(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&egrave;res suivants :\n   \\  /  :  *  ?  \'\'  <  >  |\n";
  }
}


function ValidRestrictCaractere(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&egrave;res suivants :\n   espace  &  =  +  -  \\  /  :  *  ?  \'\'  \'  <  >  |\n";
  }
}


function ValidChampNonVide(obj,name) {
  str=obj.value;
  str=Trim(str);
  if (str == "") {
	setColor(obj);
	if (erreurStr=='') obj.focus();
	erreurStr=erreurStr+"Le champ <"+name+"> ne peut pas &ecirc;tre vide !\n";
  }
}

function ValidTailleMini(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&egrave;res !\n";
  }
}


function ValidTailleMaxi(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&egrave;res !\n";
  }
}


function ValidEmail(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 ValidNumeric(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 Valid2Pareil(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 &agrave; 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&ecirc;me que pour l\ancien ! Voulez-vous quand m&ecirc;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";
	}
  }
}

function ValidRadio(obj, name) {

// si le premier choix est vide...
if ( obj[0].status == '' ) {
// si le second choix est vide...
if ( obj[1].status == '' ) {

//if (erreurStr=='') ;
erreurStr=erreurStr+"Le champ <"+name+"> doit avoir une valeur !\n";

return false;
		}
	}
}
