/********************************************** JavaScript lundi 27 mars 2006 18:48:49 Fonctions de vérification de formulaire dynamiques Types possibles :    - string    - md5    - text    - enum    - date    - url    - foreign    - email    - file **********************************************/function form_check(form_id){  var i=0;  var errors='',error='';  var arg,t_arg;  var name,value,required='';  var args=form_check.arguments;  var frm=document.forms[form_id];  //  for(i=1;i<args.length;i++){    arg=args[i];    error='';    addargs='';    t_arg=arg.split(",");    frm.elements[t_arg[0]].style.borderColor="";    value=frm.elements[t_arg[0]].value;    required=(t_arg[2]=='o')?'o':'n';    switch(t_arg[1]){      case 'string':        break;      case 'md5':        cryptchecked=eval("frm.elements['crypt"+t_arg[0]+"'].checked");        addargs=","+cryptchecked;        break;      default:        break;    }    if(!eval("check_"+t_arg[1]+"('"+value+"','"+required+"'"+addargs+")")) error="\r\n- "+t_arg[3];    if(error.length>0) frm.elements[t_arg[0]].style.borderColor="red";    errors+=error;  }  if(errors.length>0){    alert ("Les champs suivants n'ont pas été remplis correctement :" + errors);    return false;  }  //  return true;}// Identifiantfunction check_id(value, required){  return true;}// Stringfunction check_string(value, required){  if(required=='o' && (value.length<1 || value.length>255)) return false;  //  return true;}// md5function check_md5(value, required, cryptcheck){  if(required=='o' && value.length<1) return false;  if(!cryptcheck && value.search("^[a-f0-9]{32}$")==-1) return false;  //  return true}// texte brutfunction check_text(value, required){  if(required=='o' && value.length<1) return false;  //  return true;}// liste de choixfunction check_enum(value, required){  if(required=='o' && value.length<1) return false;  //  return true;}// Date (Calendrier)function check_date(value, required){  if(required=='o' && value.length<1) return false;  if(value.length>0 && value.search("^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}$")==-1) return false;  //  return true;}// Lien (URL)function check_url(value, required){  if(required=='o' && value.length<1) return false;  if(value.search("^(https?|ftp)://$")!=-1) return true;  if(value.length>0 && value.search("^(https?|ftp)://(w{3}\.)?(([a-z0-9\-])+)+\.+([a-z]{2,4})(/.*)?")==-1) return false;  //  return true;}// Clé étrangèrefunction check_foreign(value, required){  return check_enum(value, required);}// Email (example@hoster.com)function check_email(value, required){  if(required=='o' && value.length<1) return false;  if(value.length>0 && value.search("^[a-zA-Z0-9]([-_.]?[a-zA-Z0-9])*@[a-zA-Z0-9]([-.]?[a-zA-Z0-9])*\.([a-z]{2,4})$")==-1) return false;  //  return true;}// Editeur de texte WYSIWYGfunction check_wysiwyg(value, required){  return check_text(value, required);}// Fichier à uploaderfunction check_integer(value, required){  if(isNaN(value) || !check_string(value, required)) return false;  //  return true;}/* ********************************************************* *//* POUR L'AFFICHAGE DES MODULES                              *//* ********************************************************* */// Récupérer la valeur d'une propriété CSS d'un élément idfunction getStyle(elt,pro){  var element = document.getElementById(elt);  if (window.getComputedStyle){ // Mozilla Firefox & cie    var propriete = window.getComputedStyle(element,null).getPropertyValue(pro);  }else if (element.currentStyle){ // Microsoft Internet Explorer    // Formatage (IE) de la propriété CSS    while (pro.indexOf('-') != -1){      var lettresuivtiret = pro.charAt(pro.indexOf('-')+1);      pro = pro.replace(/-\S{1}/,lettresuivtiret.toUpperCase());    }    var propriete = eval('element.currentStyle.'+pro);  }  return propriete;}function showHide(idElement){   elt = document.getElementById(idElement);   if(elt.style.display != 'none'){       elt.style.display = 'none';   }else{       elt.style.display='';   }} /*function showHide(idElement, defaultDisplay){  if(!defaultDisplay){    defaultDisplay='block';  }  elementID=document.getElementById(idElement);  if(getStyle(idElement, 'display')!="none"){    elementID.style.display="none";  }else{    elementID.style.display=defaultDisplay;  }}*//* ********************************************************* *//* AFFICHE OU CACHE DES DIV (BULLE)                          *//* ********************************************************* */function montre(object,nompos,posx,posy)  {  if (document.layers && document.layers[object])    {    document.layers[object].visibility = 'visible';    document.layers[object].top=document.layers[nompos].clientTop+15+posy;    document.layers[object].left=document.layers[nompos].clientLeft+posx;    }  else if (document.all)    {    document.all[object].style.visibility='visible';    document.all[object].style.zIndex = 100;    document.all[object].style.top=document.all[nompos].offsetTop+15+posy;    document.all[object].style.left=document.all[nompos].offsetLeft+posx;    }  else if (document.getElementById)    {    document.getElementById(object).style.visibility = 'visible';    document.getElementById(object).style.zIndex = 100;    document.getElementById(object).style.top=document.getElementById(nompos).offsetTop+15+posy;    document.getElementById(object).style.left=document.getElementById(nompos).offsetLeft+posx;    }   document.getElementById(object).style.display='block';  }function montrebout(object,nompos)  {  if (document.layers && document.layers[object])    {    document.layers[object].visibility = 'visible';    document.layers[object].top=560;    document.layers[object].left=document.layers[nompos].clientLeft+30;    }  else if (document.all)    {    document.all[object].style.visibility='visible';    document.all[object].style.zIndex = 100;    document.all[object].style.top=560;    document.all[object].style.left=document.all[nompos].offsetLeft+30;    }  else if (document.getElementById)    {    document.getElementById(object).style.visibility = 'visible';    document.getElementById(object).style.zIndex = 100;    document.getElementById(object).style.top=560;    document.getElementById(object).style.left=document.getElementById(nompos).offsetLeft+30;    }   document.getElementById(object).style.display='block';  }function cache(object)  {  if (document.layers && document.layers[object])    {    document.layers[object].visibility = 'hidden';    }  else if (document.all)    {    document.all[object].style.visibility = 'hidden';    }  else if (document.getElementById)    {    document.getElementById(object).style.visibility = 'hidden';    }       document.getElementById(object).style.display='none'; }
