// Fonctions de vérification

function VerifStringMax(valeur) {
  rejet = false;
  falsechar="";
  var non = new Array("+",".","_","°","!","µ","'","\"","à","â","ä","ã","ç","é","è","ê","ë","ì","î","ï","ò","ô","ö","õ","ù","û","ü","ñ","&","*","?","!",":",";",",","#","~","\'","\"","^","¨","%","$","£","²","§","%","(",")","[","]","{","}","<",">","\\","|","/","=","-");
  for (i=0 ; i <= valeur.length ; i++) {
    for (y=0 ; y <= non.length ; y++) {
      if ((valeur.charAt(i)==non[y])) {
        rejet=true;
        if (falsechar=="") {
          falsechar= non[y];
        } else {
          falsechar= falsechar+","+non[y];
        }
      }
    }
  }
  if (rejet==true) {
    return (false);
  } else {
    return (true);
  }
}

function VerifString(valeur) {
  rejet = false;
  falsechar="";
  var non = new Array("+","_","°","!","µ","\"","ä","ã","ì","î","ï","ò","ö","õ","ü","ñ","&","*","?","!",";","#","~","\"","^","¨","%","$","£","²","§","%","[","]","{","}","<",">","\\","|","/","=");
  for (i=0 ; i <= valeur.length ; i++) {
    for (y=0 ; y <= non.length ; y++) {
      if ((valeur.charAt(i)==non[y])) {
        rejet=true;
        if (falsechar=="") {
          falsechar= non[y];
        } else {
          falsechar= falsechar+","+non[y];
        }
      }
    }
  }
  if (rejet==true) {
    return (false);
  } else {
    return (true);
  }
}

function VerifEmail(valeur) {
    ctl = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/;
    if (valeur.search(ctl) != -1) return true;
    else return false;
}

function VerifUrl(valeur) {
    ctl = /^((http(s?)|ftp):\/\/)?([\w\-]+\.)+([\w\-]+)(\/[\w\-\s]+)*(\/(([\w\-]+)(\.[\w]+)*)?(#\w+)?(\?.+)?)?$/;
    if (valeur.search(ctl) != -1) return true;
    else {
        ctl = /^mailto:[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/;
        if (valeur.search(ctl) != -1) return true;
        else return false;
    }
}

function VerifCP(valeur) {
    ctl = /^([A-Z]+\-)?[\d]{5}$/;
    if (valeur.search(ctl) != -1) return true;
    else return false;
}

function VerifTel(valeur) {
    ctl = /^(\(\d+\))?([\s\.\-]?\d{2,})+$/;
    if (valeur.search(ctl) != -1) return true;
    else return false;
}

function VerifNombre(valeur, limites) {
    valeur = valeur.replace(" ", "");
    if (isNaN(valeur)) var ok = false;
    else {
        if (limites != "") {
            if (typeof limites == "string") 
                eval("ok = (" + valeur + " " + limites + ");");
            else if (limites.length == 2)    
                eval("ok = ((" + valeur + " " + limites[0] + ") && (" + valeur + " " + limites[1] + "));");
        }
        else var ok = true;
    }
    return ok;
}

function VerifHeure(valeur) {
    ctl = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/;
    if (valeur.search(ctl) != -1) return true;
    else return false;
}

function VerifDate(valeur) {
    var ok = false;
    ctl = /^(\d{4,})[\/\-\.](\d\d?)[\/\-\.](\d\d?)$/;
    var tab = valeur.match(ctl);
    if (tab) {
		if ((isNaN(tab[1])) || (isNaN(tab[2])) || (isNaN(tab[3]))) {
		  ok = false;
		} else {
          var unedate = new Date(tab[1], parseInt(tab[2])-1, tab[3]);
          if ((unedate.getFullYear() == tab[1]) && (unedate.getMonth() == tab[2]-1) && (unedate.getDate() == tab[3])) ok = true;
		}
    }    
    return ok;
}

function CompleteChampNum(valeur, taille) {
    chaine = valeur;
	if (valeur.length < taille) {
		var compare = taille-valeur.length;
		for (i=1 ; i <= compare ; i++) {
			chaine = "0"+chaine;
		}
	}
	return chaine;
}