function isDateValid(chaineDate) {
   if (chaineDate.length<8)
        return false;
   var ladate = chaineDate.split("/");
   if ( (ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2])) )
        return false;
   unedate = new Date();
   unedate.setYear(eval(ladate[2]));
   unedate.setMonth(eval(ladate[1])-1);
   unedate.setDate(eval(ladate[0]));
   var annee = unedate.getFullYear();
   if ((Math.abs(annee)+"").length < 4)
        annee = annee + 1900;
   return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])));
}

function formError(field, msg)
{
    if (typeof(field)!='object')
        return 0;
    if (msg!=0)
    {
        field.style.borderColor = '#f00';
        field.style.color = '#f00';
        field.title = msg;
        return 0;
    }
    else
    {
        field.style.borderColor = '#999';
        field.style.color = '#000';
        field.title = '';
        return 1;
    }
}

// @param field : form field node
function NFormat(field, size, max, min)
{
    if (typeof(field)=='object')
        n = field.value;
    else
        return false;
        
    if (size==0)
        size = 10;
    if (field.maxlength!=undefined)
        size = field.maxlength;

    n = n.replace(/\s|[a-zA-Z]/g, '').replace(',', '.');
    
    if (n==0) field.value = min;
    else      field.value = n;

    if (!isNaN(n))
    {
        if (n.length<=size)
        {
            if (n<=max)
            {
                if (n>=min)
                {
                    return formError(field, 0);
                }
                else
                    return formError(field, 'Minimum : '+min);
            }
            else
                return formError(field, 'Maximum : '+max);
        }
        else
            return formError(field, 'Nombre de chiffres : '+size);
    }
    else
        return formError(field, 'Valeur numérique.');
}

function empty(field)
{
    if (typeof(field)=='object')
        n = field.value;
    else
        return false;
    
    if (n.length<1)
        return formError(field, 'Obligatoire');
    else
        return formError(field, 0);
}

function valid_tel(nChamp, nAccepte, nbr) {
  var ok = "oui";
  var min = "oui";
  var error = false;
  var nChar;
  for (var i=0; i<nChamp.value.length; i++) {
    nChar = "" + nChamp.value.substring(i, i+1);
    if (nAccepte.indexOf(nChar) == "-1") ok = "non";
  }
  if (ok == "non") {
    error = true;
  }
  if (nChamp.value.length < nbr) {
    error = true;
  }
  return ! error;
}

function valid_tel(num_tel)
{
   // Definition du motif a matcher
   var regex = new RegExp(/^0(1|2|3|4|5|6|8)[0-9]{8}/gi);
   
   // Definition de la variable booleene match
   var match = false;
   
   // Test sur le motif
   if(regex.test(num_tel))
   {
       match = true;
   }
    else
   {
       match = false;
   }
   
   // On renvoie match
   return match;
}
