// ----------------------------------------------------------------------------------------
function ro_champs()  // champs non modifiables
// ----------------------------------------------------------------------------------------
{
	var form1 = document.getElementsByTagName("form")[0];
    for (i = 0; i < form1.length; i++) 
        {
	    if (form1.elements[i].readOnly ) 
	       { 
			document.forms[0].elements[i].onfocus = function () { return alert_ro(this); };
	        continue ;
	       }
	    }
}
// ----------------------------------------------------------------------------------------
function valid_champs()
// ----------------------------------------------------------------------------------------
{
  var form1 = document.getElementsByTagName("form")[0];

  for (var i = 0 , isOk = true; isOk && (i < form1.elements.length); i++) 
      {
      chp = form1.elements[i] ;
      errDesc = valid_champ(chp) ;
      if ( errDesc != '' ) break;
      }

   if (errDesc != '') 
      {
      alert(errDesc);
      chp.focus();
      }

return isOk;
}

// ---------------------------------------------------------------------------------------
function radio_check(chp)
// ---------------------------------------------------------------------------------------
{
var trouve;
if ( chp.length )
	for ( i=0 , trouve = false; i < chp.length && trouve == false; i++)  trouve =  chp[i].checked ;
   else
   return chp.checked ;
return trouve ;    
} 

// ---------------------------------------------------------------------------------------
function valid_champ(chp) // controles de base : champ obligatoire , syntaxe email ...
// ---------------------------------------------------------------------------------------
{
  var isOk = true;
  var errDesc = "";
  var reg = new RegExp('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$', 'i');
 
/*
  if (chp.type == 'radio' && (chp.className.substr(0, 1) == 'o' || chp.className.substr(0, 1) == 'O' )) 
     {
     if ( radio_check(chp) == false ) 
        { isOk = false; errDesc = 'Ce champ est obligatoire'; }
     }
     else
*/     
  if (chp.value == '') 
		{
        if (chp.className.substr(0, 1) == 'o' || chp.className.substr(0, 1) == 'O' ) 
            { isOk = false; errDesc = 'Ce champ est obligatoire'; }
        } 
        else 
        {
        switch (chp.className.toLowerCase())
               {
                  case 'oliste':
                  case 'liste':
                  case 'onombre':
                  case 'nombre':
                      if (isNaN(chp.value)) {
                          isOk = false;
                          errDesc = 'Merci de donner un nombre valide';
                      } 
                      break;
                  case 'omail':
                  case 'mail':
                      if (!(reg.test(Trim(chp.value)))) {
                          isOk = false;
                          errDesc = 'Cette adresse mail est invalide ' + chp.value;
                      }
                      break;
                  case 'otexte':
                  case 'texte':
                      if (chp.value) {
                          chp.value = chp.value.replace(';',',');
                          chp.value = chp.value.replace('\s',' ');
                          while (chp.value.search('  ') != -1)
                               chp.value = chp.value.replace('  ',' ');
                      }
                      break;
                  default:
                      break;
               } // switch
        }

return errDesc;
}

