var message_controle="";  				// message de controle des formulaire

/**
 *	Affiche et masque un contenu
 * @access public
 * @return void
 **/
 
 function AlertMessage(message)
 	{
		alert(ConverToIso(message));
	}
	
function ConfirmMessage(message)
	{
		if(confirm(ConverToIso(message))) 
			return true;
		else 
			return false;
	}
 
function ShowHide(container)  {

	var	element=document.getElementById(container);

	if(element.style.display=='block')
		{element.style.display='none';}  //cache
	else
		{element.style.display='block';} // visible

			
	}



/**
 *	Affiche et masque un contenu
 * @access public
 * @return void
 **/
function ShowHideFloatD(container,visibilite)  {

	var	element=document.getElementById(container);

	element.style.display=visibilite;

	}
	
function ShowHideFloat(container,visibilite)  {

	var	element=document.getElementById(container);

	element.style.visibility=visibilite;

	}



/***
* verfierc un champs est un entier
*/
function isInt(myNum) {
         // get the modulus: if it's 0, then it's an integer
         var myMod = myNum % 1;

         if (myMod == 0) {
                 return true;
         } else {
                 return false;
         }
}

/***
* verfierc un champs est un entier
*/
function  envoie(f)
	{
			
		Dest=document.forms[f].elements['ActFeild'].value;
		func=document.forms[f].elements['func'].value;
	
		if(func!="")
			{eval(func);}
		else
			message_controle="";			
	
	
				if(message_controle=="")
					{
						
						document.forms[f].action=Dest+'.php';
						return true;
					}
				else
					{
							
							message_controle=ConverToIso(message_controle);
							AlertMessage(message_controle);
						return false;
					}
		
				
	}


function ValidChecked(idcheck){
	
	elemt=document.getElementsByName(idcheck);
	 message_controle="";
		for(i=0;i<elemt.length;i++)
				{
					if(!elemt[i].checked)
						{
								message_controle=ln.MSG20;
								return message_controle;
						}
				}
			
		return message_controle;
}

/**
 *
 * @access public
 * @return erreur de controle de addmenu
 **/
	function ControleContact(){
			 message_controle="";
			var msg_1 = 'Erreur:';
			var var_1 = new Array();
				var_1[0] = new Array('nom','e',ln.MSG4,'');
				var_1[1] = new Array('prenom','e',ln.MSG5,'');
				var_1[2] = new Array('tel','e',ln.MSG6,'');
				var_1[3] = new Array('tel','t',ln.MSG1,'');
				var_1[4] = new Array('adressemail','m',':'+ln.MSG2,'');
				var_1[5] = new Array('questions','e',ln.MSG7,'');
						
				message_controle= validate('',var_1,msg_1);
				return message_controle;
	}
	


/**
 *
 * @access public
 * @return erreur de controle de addmenu
 **/
	function ControleNews(){
			 message_controle="";
			var msg_1 = 'Erreur:';
			var var_1 = new Array();
				var_1[0] = new Array('emailNews','e',ln.MSG14,'');
				var_1[1] = new Array('emailNews','m',':'+ln.MSG2,'');
				message_controle= validate('',var_1,msg_1);
				return message_controle;
	}
	
/**
 *
 * @access public
 * @return erreur de controle de addmenu
 **/
	function Controleforget(){
			 message_controle="";
			var msg_1 = 'Erreur:';
			var var_1 = new Array();
				var_1[0] = new Array('nom','e',ln.MSG4,'');
				var_1[1] = new Array('emailpro','e',':'+ln.MSG14,'');
				var_1[2] = new Array('emailpro','m',':'+ln.MSG2,'');
				
						
				message_controle= validate('',var_1,msg_1);
				return message_controle;
	}
	

/**
 *
 * @access public
 * @return erreur de controle de addmenu
 **/
	function Ctrllivreor(){
			 message_controle="";
			var msg_1 = 'Erreur:';
			var var_1 = new Array();
				var_1[0] = new Array('signature','e',ln.MSG22,'');
				var_1[1] = new Array('message','e',ln.MSG23,'');

				
						
				message_controle= validate('',var_1,msg_1);
				return message_controle;
	}
	

	
	


/////////////////////////////////////////////////////////////////////////////////////////////

/**
 *
 * @access public
 * @return void
 **/
function validate(sender,myarray,err_hd) {

var message_erreur = !err_hd?new Array('Les erreurs suivantes sont survenues:\n'):new Array(err_hd+'\n');
var error = false;

for (i=0;i<myarray.length;i++) {
  field = document.getElementById([myarray[i][0]]);
 

   /* Bloc 1 vérifie les champs qui doivent être renseignés */
  if (myarray[i][1].indexOf('e')>-1) {
    if (!field.value) {
      error = true;
      message_erreur.push(myarray[i][2]);
    }
  }

/* Bloc 2 vérifie si l'adresse électronique est correcte dans la forme */
  else if (myarray[i][1].indexOf('m')>-1) {
    if (field.value) {
      var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
      var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
      var regex = "^"+usr+"\@"+domain+"$";
      var myrxp = new RegExp(regex);
      var check = (myrxp.test(field.value));
        if (check!=true) {

          error=true;
          message_erreur.push(field.value+" "+myarray[i][2]);
        }
      }
    }

/* Bloc 3 vérifie les champs dont la valeur doit être numérique */
  else if (myarray[i][1].indexOf('n')>-1) {
    var num_error = false;
    if(field.value) {
      var myvalue = field.value;
      var num = myvalue.match(/[^0-9,\.]/gi)
      var dot = myvalue.match(/\./g);
      var com = myvalue.match(/,/g);
      if (num!=null) {
        num_error = true;
      }
      else if ((dot!=null)&&(dot.length>1)) {
        num_error = true;
      }
      else if ((com!=null)&&(com.length>1)) {
        num_error = true;
      }
      else if ((com!=null)&&(dot!=null)) {
        num_error = true;
      }
    }
    if (num_error==true) {
        error = true;
        message_erreur.push(myvalue+" "+myarray[i][2]);
    }
  }

/* Bloc 4 vérifie la valeur à l'aide d'une expression régulière sur un modèle déterminé */
  else if (myarray[i][1].indexOf('r')>-1) {
    var regexp = myarray[i][3];
    if (field.value) {
      if (!regexp.test(field.value)) {
        error = true;
        message_erreur.push(myarray[i][2]);
      }
    }
  }

/* Bloc 5 vérifie les champs qui doivent être formatés comme des prix et modifie éventuellement le formatage */
  else if (myarray[i][1].indexOf('p')>-1) {
    var myvalue = field.value;
    var reg = /,-{1,}|\.-{1,}/;
    var nantest_value = myvalue.replace(reg,"");
    var num = nantest_value.match(/[^0-9,\.]/gi)
    sep = myarray[i][1].substr(1,1)?myarray[i][1].substr(1,1):',';
    if (field.value) {
      var myvalue = field.value.replace(/\./,',');
      if (myvalue.indexOf(',')==-1) {
        field.value = myvalue+sep+'00';
      }
      else if (myvalue.indexOf(",--")>-1) {
        field.value = myvalue.replace(/,--/,sep+'00');
      }
      else if (myvalue.indexOf(",-")>-1) {
        field.value = myvalue.replace(/,-/,sep+'00');
      }
      else if (!myvalue.substring(myvalue.indexOf(',') + 2)) {
        error=true;
        message_erreur.push(field.value+" "+myarray[i][2]);
      }
      else if (myvalue.substring(myvalue.indexOf(',') + 3)!='') {
        error=true;
        message_erreur.push(field.value+" "+myarray[i][2]);
      }
      else if (num!=null) {
        error=true;
        message_erreur.push(field.value+" "+myarray[i][2]);
      }
    }
  }

/* Bloc 6 vérifie les champs de nom et rectifie éventuellement la casse */
  else if (myarray[i][1].indexOf('c')>-1) 
  {
    var noble = new Array(" d\'", "de","von","van","der","d","la","da","of");
    var newvalue='';
    var myvalue = field.value.split(/\b/);
    for (k=0;k<myvalue.length;k++) {
      newvalue+= myvalue[k].substr(0,1).toUpperCase()+myvalue[k].substring(1);
    }
    for(k=0;k<noble.length;k++){
      var reg = new RegExp ("\\b"+noble[k]+"\\b","gi");
      newvalue = newvalue.replace(reg,noble[k]);
    }
    field.value = newvalue;
  }
/* Bloc 7 verifie la validité de num telephone */
else if (myarray[i][1].indexOf('t')>-1) 
  {
	  if (field.value) 
		{
			var myvalue = field.value;
			myvalue=myvalue.replace(" ","");
			var reg=/\d$/;
			if(!reg.test(myvalue))
				{error= true;
					message_erreur.push(myarray[i][2]);
				}
			else
				field.value=myvalue;
		}
   }
   
  /* Bloc 8 verifie la validité d'une date */  
 else if (myarray[i][1].indexOf('d')>-1) 
  {
	  	if (field.value)  // on teste le format
		{
			var myvalue = field.value;
			var reg=/\d{2}?([\/])\d{2}\1\d{4}$/;
			if(!reg.test(myvalue))
				{error= true;
					message_erreur.push(myarray[i][2]);
				}
		}
   } 
    /* Bloc 9 verifie la validité d'une date */  
 else if (myarray[i][1].indexOf('x')>-1 && myarray[i][3] >0) 
  {	  	
	  if (field.value)  // on teste le format
		{
				val=field.value.length;
			var myvalue = field.value;
			
			if(val >myarray[i][3])
				{
					error= true;
					message_erreur.push(myarray[i][2]);
				}
		}
   }  
   
       /* Bloc 9 verifie l'egalite par rapport à une valeur données  */  
 else if (myarray[i][1].indexOf('q')>-1 && myarray[i][3]!="") 
  {	  	
	  if (field.value)  
		{
				
			var myvalue = field.value;
				
			if(myvalue==myarray[i][3])
				{
					error= true;
					message_erreur.push(myarray[i][2]);
				}
		}
   } 
   
         /* Bloc 9 verifie l'inegalite dans la meme formulaire  */  
 else if (myarray[i][1].indexOf('w')>-1 && myarray[i][3]!="") 
  {	  	
	  if (field.value)  
		{
			var field2 = document.getElementById([myarray[i][3]]);	
			var myvalue1 = field.value;
			var myvalue2 = field2.value;
			if(myvalue1!=myvalue2)
				{
					error= true;
					message_erreur.push(myarray[i][2]);
				}
		}
   }   
 
   

}


  
  
  
/* En cas d'erreur, les messages d'erreur récoltés sont exploités ici puis affichés.
   Si le formulaire est correctement rempli, il est transmis */

  if (error) {
     message_erreur = message_erreur.join('\n\xB7 ');

  }
  else {
   message_erreur="";
  }
 return message_erreur;



}









