function maxchar(what,m) {
    if (what.length > m) {
        alert('Le maximum autorisé est de : ' +m +' caratères');
        return false;
    }
    return true;
}



function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function isDate (what) {

// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

	var day=what[0].value;
	var month=what[1].value;
	var year=what[2].value;
    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

function isemail(sField)
{
var str=sField;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
return(filter.test(str));
}
function isalpha(sField)
{
  var str=sField;
  var filter =/^([ a-zA-Z0-9_ëéèêïàçù,\.\-])+$/;
  return(filter.test(str));
}
function isnumber(sField){
var x=sField;
var anum=/(^\d+$)|(^\d+\.\d+$)$/i;
return(anum.test(x));
}

function isradioselected(what)
{
    for (var i=0;i<what.length;i++) {
        if (what[i].checked)
            return true;
    }
    return false;
}

function testdate(what)
{
var jj=what[0].value;
var mm=what[1].value;
var yy=what[2].value;
  return(isDate(jj,mm,yy));
}

function validatevalues(what) {
    var valid = false;
    var message="";
   for (var i=0, j=what.elements.length; i<j; i++)
   {
        myName = what.elements[i].name;
		//alert (myname);
        switch(what.elements[i].veriftype)
            {
            case "email" :
             if (!isemail(what.elements[i].value)) message+=what.elements[i].desc + ".\n";
              break;
			  case "date" :
             if (!(isDate(what[what.elements[i].name]))) message+=what.elements[i].desc + ".\n";
              break; 
			  
             case "password"  :
             if (!isalpha(what.elements[i].value)) message+=what.elements[i].desc +".\n";

             if (!isalpha(what.elements[i+1].value)) message+=what.elements[i+1].desc +".\n";

             if (what.elements[i+1].value!=what.elements[i].value) message+=what.elements[i].desc + "->(Mot de passe non confirmé)"+".\n";

             break;

              case "alpha"  :
              if (!isalpha(what.elements[i].value)) message+=what.elements[i].desc +".\n";
              break;
               case "listbox" :
                if (what.elements[i].selectedIndex == 0) message+=what.elements[i].desc +".\n";
               break;
	       case "radio" :
	
                if (!isradioselected(what[what.elements[i].name])) message+=what.elements[i].desc +".\n";
               break;
              case "numeric"  :
              if (!isnumber(what.elements[i].value)) message+=what.elements[i].desc +".\n";
              break;
              }
     }
         if (message!="")
           {
         alert("Veuillez saisir le(s) champ(s) :\n"+message);
             return false;
             }
             else
             {
             return true;
             }
}


