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;
					}
		
				
	}


/**
 *
 * @access public
 * @return erreur de controle de addmenu
 **/
 function Choix(Target,msg){
	
		elemt=document.getElementsByName(Target);
		Mg='';
	for(i=0;i<elemt.length;i++)
			{
				if(elemt[i].checked)
				return Mg;
			}
		msg;
		return msg;
}




function ControleFormPro()
	{
		 message_controle="";
			var msg_1 = 'Erreur:';
			var var_1 = new Array();
				var_1[0] = new Array('contact','e',ln.MSG12,'');
				var_1[1] = new Array('adresse','e',ln.MSG13,'');
				var_1[2] = new Array('cp','e',ln.MSG14,'');
				var_1[3] = new Array('ville','e',ln.MSG15,'');
				var_1[4] = new Array('tel','e',ln.MSG6,'');				
				var_1[5] = new Array('tel','t',ln.MSG1,'');
				var_1[6] = new Array('email','e',ln.MSG11,'');
				var_1[7] = new Array('email','m',':'+ln.MSG2,'');
				
				var_1[8] = new Array('date_debut','e',ln.MSG16,'');
				var_1[9] = new Array('date_fin','e',ln.MSG17,'');
				var_1[10] = new Array('nbrpax','e',ln.MSG18,'');
				var_1[11] = new Array('depart','e',ln.MSG19,'');
				var_1[12] = new Array('dest','e',ln.MSG20,'');
				var_1[13] = new Array('nbrpax','n',ln.MSG25,'');
				var_1[14] = new Array('budjet','n',ln.MSG29,'');
				

						
				message_controle= validate('',var_1,msg_1);
			
		message_controle +=Choix('circuit[]','\n. '+ln.MSG21);
		message_controle += Choix('guide','\n. '+ln.MSG23);
		message_controle += Choix('hebergement','\n. '+ln.MSG22);
		
		return message_controle;
	}




function ControlePar() 

{
	 message_controle="";
		var msg_1 = 'Erreur:';
		var var_1 = new Array();
			var_1[0] = new Array('contact','e',ln.MSG12,'');
			var_1[1] = new Array('adresse','e',ln.MSG13,'');
			var_1[2] = new Array('cp','e',ln.MSG14,'');
			var_1[3] = new Array('ville','e',ln.MSG15,'');
			var_1[4] = new Array('tel','e',ln.MSG6,'');				
			var_1[5] = new Array('tel','t',ln.MSG1,'');
			var_1[6] = new Array('email','e',ln.MSG11,'');
			var_1[7] = new Array('email','m',':'+ln.MSG2,'');
			
			var_1[8] = new Array('date_debut','e',ln.MSG16,'');
			var_1[9] = new Array('date_fin','e',ln.MSG17,'');
			var_1[10] = new Array('nbrpax','e',ln.MSG18,'');
			var_1[11] = new Array('depart','e',ln.MSG19,'');
			var_1[12] = new Array('dest','e',ln.MSG20,'');
			var_1[13] = new Array('nbrpax','n',ln.MSG25,'');
			var_1[14] = new Array('budjet','n',ln.MSG29,'');
			
			var_1[15] = new Array('nbadulte','n',ln.MSG29,'');
			var_1[16] = new Array('nbenfant','n',ln.MSG29,'');
			var_1[17] = new Array('nbebe','n',ln.MSG29,'');
			

					
			message_controle= validate('',var_1,msg_1);
		
	//message_controle +=Choix('circuit[]','\n. '+ln.MSG21);
	//message_controle += Choix('guide','\n. '+ln.MSG23);
	message_controle += Choix('hebergement','\n. '+ln.MSG24);
	
	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[3] = new Array('adressemail','m',':'+ln.MSG2,'');
				var_1[4] = 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 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.MSG11,'');
				var_1[2] = new Array('emailpro','m',':'+ln.MSG2,'');
				
						
				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{2}\d{2}\d{2}\d{2}\d{2}$/;
			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;



}









