﻿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;
									
					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;							
					}
					
			}						
		} 				
		
	}

	
	if (erreur == 1)
		return premierchamperreur;
	else			
		return "0";
	


}		

		
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
}