function controle ()
{		
	// 1er argument = identifiant du formulaire

	// obli#idcontrolejs#nominput
	
	//idcontrolejs
	// 0 : aucun controle
	// 1 : controle numerique 
	// 2 : controle e-mail - null autorisé
				
	var args = controle.arguments;
	var erreur = 0;
	var idform = args[0];
	var premierchamperreur = "";
	
	for (i=1;i<args.length;i++)
	{		
		// extraction variable obli
		var obli = args[i].substring(0, 1);
		
		//extraction IDcontroleJS 
		var pos2emediese = args[i].indexOf("#", 2);
		var idcontrolejs = args[i].substring(2, pos2emediese);
		
		
		if (idcontrolejs!=-1)
		{
		
			//extraction nominput
			pos2emediese = pos2emediese + 1;
			var nominput = args[i].substring(pos2emediese, args[i].length);
				
			nom = "p" + nominput;
	
			// on reinitialise tout les marqueurs d'erreur	
			eval("document.forms[" + idform + "]."+nom+".src='../design/pixel.gif'");

			var valeurinput = eval("document.forms[" + idform + "]." + nominput + ".value");

			// test si champ vide
			if (obli==1)
			{			
			
			
				vide = 0;
				switch (idcontrolejs) 
				{
					case "4" :
							dc = -1
							obj = eval("document.forms[" + idform + "]." + nominput);
							if (typeof(obj.length) == 'undefined') { if (obj.checked) dc = 0; }
							else 
							{				
								for(var k=0;k<obj.length;k++)
								{
									if (obj[k].checked == true)
									{
										dc = k;
										break;
									}
								}
							}			
							if (dc == -1) vide = 1
							break;
							

					case  "5" :
							dc = -1
							obj = eval("document.forms[" + idform + "]." + nominput);
							if (typeof(obj.length) == 'undefined') { if (obj.checked) dc = 0; }
							else 
							{				
								for(var k=0;k<obj.length;k++)
								{
									if (obj[k].checked == true)
									{
										dc = k;
										break;
									}
								}
							}			
							if (dc == -1) vide = 1
							break;					
					
					
					case "6" :
							dc = -1
							obj = eval("document.forms[" + idform + "]." + nominput);
							
							if (typeof(obj.length) == 'undefined') { if (obj.selected) dc = 0; }
							else 
							{				
								for(var k=0;k<obj.length;k++)
								{	
									
									if (obj[k].selected == true)
									{
										dc = k;
										break;
									}
								}
							}
							
							if (dc != -1)
							{ 
								valeurinput = obj[dc].value;
								if (valeurinput == "") vide = 1;
							}	
							else								
								vide = 1;

							break;
							
						case "8" :
							dc = -1
							obj = eval("document.forms[" + idform + "]." + nominput);
							if (typeof(obj.length) == 'undefined') { if (obj.checked) dc = 0; }
							else 
							{	
								cpt = 0;			
								for(var k=0;k<obj.length;k++)
								{
									if (obj[k].checked == true)
									{
										cpt++;
									}
								
								}
							}
							alert(cpt);
							if ((cpt < 1) || (cpt > 3)) { vide = 1;}			
						break;
							
									
					default :
						if (valeurinput == "") vide = 1;
						break
				}								
			
				if (vide == 1)
				{
					eval("document.forms[" + idform + "]."+nom+".src='../design/Erreur2.gif'"); 
					erreur = 1;
					if (premierchamperreur == '') premierchamperreur  = nominput;
				}
			}
		
						
		
			// controle en fonction du type du champ	
			switch (idcontrolejs) 
			{
						
			   case "1" :
					if (valeurinput != '') 
					{
						wvaleurinput = Remplace(valeurinput,",",".");
						if (isNaN(wvaleurinput)) 
						{
							eval("document.forms[" + idform + "]."+nom+".src='../design/Erreur2.gif'"); 
							erreur = 1;
							if (premierchamperreur == '') premierchamperreur  = nominput;							
						}		
					}
					break;						
					
			   case "2" :
					if (MailFaux(valeurinput)) 
					{
						eval("document.forms[" + idform + "]."+nom+".src='../design/Erreur2.gif'"); 
						erreur = 1;
						if (premierchamperreur == '') premierchamperreur  = nominput;								
					}		
					break;
					
				case "3" :
				
					var nominput2 = "confirmation" + nominput
					var valeurinput2 = eval("document.forms[idform]." + nominput2 + ".value");
					if (valeurinput2 != valeurinput)
					{
						eval("document.forms[" + idform + "]."+nom+".src='../design/Erreur2.gif'"); 					
						erreur = 1;
						if (premierchamperreur == '') premierchamperreur  = nominput2;							
					}
					break;
				case "7" :
					pays = eval("document.forms[" + idform + "].paysA");
					if (ControlePays(pays.value)){
						obj = eval("document.forms[" + idform + "]." + nominput);
						var Regex = new RegExp("^(54|55|57|88)");		  
	   					var Result = Regex.test(obj.value);
						if (Result) {
							eval("document.forms[" + idform + "]."+nom+".src='../design/Erreur2.gif'"); 					
							erreur = 1
							if (premierchamperreur == '') premierchamperreur  = nominput;	
							document.getElementById('boxErreur').style.display = 'block';
						}else{
							document.getElementById('boxErreur').style.display = 'none';
						}
					}else{
						document.getElementById('boxErreur').style.display = 'none';
					}
					break;
				
					
			}						
		} 				
		
	}

	
	if (erreur == 1)
		return premierchamperreur;
	else			
		return "0";
	


}		

function ControlePays(ValeurInput)
{
	if ((ValeurInput == 'france') || (ValeurInput == 'France') || (ValeurInput == 'fr') || (ValeurInput == 'Fr') || (ValeurInput == 'FR' || (ValeurInput == 'FRANCE'))){return true}else{return false}
}
		
function MailFaux(ValeurInput)
{
  if (ValeurInput!='')
  {
	  dotPos = ValeurInput.indexOf('.');
	  if (dotPos>0)
	  {
		  if (dotPos <= (ValeurInput.length - 3))
		  {
			  var Regex = new RegExp("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");		  
	    	  var Result = Regex.test(ValeurInput);
			  if (Result) {return false;}
			  else {return true;}
		   }	  
		   else 
		  {
		  	  return true;
		  }				
		}
		else 
		{
			return true;
		}
	}
}			

function Remplace(expr,a,b) 
{
 var i=0
    while (i!=-1) 
 {
     i=expr.indexOf(a,i);
        if (i>=0) 
  {
            expr=expr.substring(0,i)+b+expr.substring(i+a.length);
            i+=b.length;
         }
      }
      return expr
}
