// awstats_misc_tracker.js
//-------------------------------------------------------------------
//http://www.toutjavascript.com/reference/reference.php?ref=getElementsByName&parent=7

///////////////////////////////////////////EST-CE QUE LES BTNS RADIOS SONT COCHÉES
function IsRadio2(RadioName,retour,msg) {
	var nobug = retour[0];
	var collection;
	var result = false;
	collection = RadioName;
   for (i=0;i<collection.length;i++) 
   {
		if (collection[i].checked)
			{
				result = true;
				break;
			}
		else
			{
				//alert(collection.length)
				//alert(i)
				if (i == collection.length-1)
					{
						retour[1] += msg;
						if (nobug==true)
						{
							collection[i].focus();
						}
						retour[0] = false;
						}
					}
			}
 	 return retour[0];
 }
///////////////////////////////////////////EST-CE QUE LES BTNS RADIOS SONT COCHÉES

///////////////////////////////////////////EST-CE QUE LES CHECKBOX SONT COCHÉES

function IsChecked(CheckName, retour, msg)
{
	var nobug = retour[0];
	var obj = document.getElementById( CheckName );
	if((obj.checked) == false)
	{
		retour[1] += msg;
		if (nobug==true)
			obj.focus();
		retour[0] = false;
	}
}

///////////////////////////////////////////EST-CE QUE LES CHECKBOX SONT COCHÉES

///////////////////////////CARACTERES ADMISSIBLES//////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////

//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR LE NOM ET LE PRENOM

function trierCaracteresNP( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		valu2 = obj.value;
		for (var y=0;y < valu2.length;y++)
			{
				if ((valu2.charCodeAt(y) > 96 &&  valu2.charCodeAt(y) < 123) || (valu2.charCodeAt(y) > 64 &&  valu2.charCodeAt(y) < 91) || valu2.charAt(y) == "-" || valu2.charAt(y) == " " || valu2.charAt(y) == "é" || valu2.charAt(y) == "É" || valu2.charAt(y) == "è" || valu2.charAt(y) == "È" || valu2.charAt(y) == "ê" || valu2.charAt(y) == "Ê" || valu2.charAt(y) == "ë" || valu2.charAt(y) == "Ë" || valu2.charAt(y) == "ç" || valu2.charAt(y) == "Ç")
					{
						
					}
				else
					{
						retour[1] += "Veuillez n'utiliser que les caractères disponibles pour le (la) " + le_id + "\n";
						if (nobug==true)
						{
							obj.focus();
						}
						retour[0] = false;
						
						break;
					}
			}
		
		
	}

//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR LE NOM ET LE PRENOM

//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR L'ADRESSE

function trierCaracteresNP2( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		valu2 = obj.value;
		for (var y=0;y < valu2.length;y++)
			{
				if ((valu2.charCodeAt(y) > 96 &&  valu2.charCodeAt(y) < 123) || (valu2.charCodeAt(y) > 64 &&  valu2.charCodeAt(y) < 91) || valu2.charAt(y) == "-" || valu2.charAt(y) == " ")
					{
						
					}
				else
					{				
						retour[1] += "Veuillez n'utiliser que les caractères disponibles pour le (la) " + le_id + "\n";
						if (nobug==true)
						{
							obj.focus();
						}
						retour[0] = false;
						
						break;
					}
			}
		
		
	}

//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR L'ADRESSE


//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR LE COURRIEL

function trierCaracteres( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		valu2 = obj.value;
		for (var y=0;y < valu2.length;y++)
			{
				if ((valu2.charCodeAt(y) > 96 &&  valu2.charCodeAt(y) < 123) || (valu2.charCodeAt(y) > 47 &&  valu2.charCodeAt(y) < 58) || (valu2.charCodeAt(y) > 64 &&  valu2.charCodeAt(y) < 91) || (valu2.charCodeAt(y) == 95) || (valu2.charCodeAt(y) == 46) || (valu2.charCodeAt(y) == 64) || (valu2.charCodeAt(y) == 45) )
					{
						
					}
				else
					{	
						
						retour[1] += "Veuillez n'utiliser que les caractères disponibles pour un email\n";
						if (nobug==true)
						{
							obj.focus();
						}
						retour[0] = false;
						
						break;
					}
			}
		
		
	}

//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR LE COURRIEL		

//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR L'EXTENSION		

function trierCaracteres2(chaine1,chaine2, le_id, retour, msg )
	{
		 
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		caract=true;
		
		for (var y=0;y < chaine1.length;y++)
			{
				if (chaine1.charCodeAt(y) > 47 &&  chaine1.charCodeAt(y) < 58)
					{
						retour[1] += "Veuillez n'utiliser que les caractères disponibles pour un email\n";
						if (nobug==true)
						{
							obj.focus();
						}
						retour[0] = false;
						caract= false;
						
						break;	
					} 
			}
			
	
		
		if (caract==true)
			{		
				for (var y=0;y < chaine2.length;y++)
					{
						if (chaine2.charCodeAt(y) > 47 &&  chaine2.charCodeAt(y) < 58)
							{
								retour[1] += "Veuillez n'utiliser que les caractères disponibles pour un email\n";
								if (nobug==true)
								{
									obj.focus();
								}
								retour[0] = false;
								
								break;	
							}
					}
			}
		
		
	}

//////////////////////SERT À TRIER LES CARACTÈRES ADMISSIBLES POUR L'EXTENSION


///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////CARACTERES ADMISSIBLES//////////////////////////////////////	







///////////////////////////NOMBRE DE CARACTERES////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////

function trierNbCaractNP( le_id, retour, msg,carMin)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		valu2 = obj.value;
		for (var y=0;y < valu2.length;y++)
			{
				if (valu2.length >= carMin)
					{
						
					}
				else
					{				
						retour[1] += msg;
						if (nobug==true)
						{
							obj.focus();
						}
						retour[0] = false;
						
						break;
					}
			}
		
		
	}








///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////NOMBRE DE CARACTERES////////////////////////////////////////



function trim(val)
{
	if (!val) return val;

		while(val.charAt(0) == ' ') val = val.substring(1,val.length);
		while(val.charAt(val.length  )==' ')  
		{
			val = val.substring(0,val.length-1);
		}
		
	 return val;
}
		

//////////////////////////////////////SI LE CHAMP EST VIDE

function est_la(le_id, retour, msg) 
{
	var nobug = retour[0];
	
   var obj = document.getElementById( le_id );

	
		if(trim(obj.value) == "")
		{
			retour[1] += msg;
			if (nobug==true)
			{
				obj.focus();
			}
			retour[0] = false;
		}
		
	return retour[0];
}
//////////////////////////////////////SI LE CHAMP EST VIDE
function est_TelEmail(le_id, retour, msg) 
{
	var nobug = retour[0];
	

	  var obj1 = document.getElementById('cou');
      var obj2 = document.getElementById('tel');
	
	if(siFirst == 1){
		siFirst++;
		
		if(trim(obj1.value) == "" && trim(obj2.value) == "")
		{
			retour[1] += msg;
			if (nobug==true)
			{
				obj.focus();
			}
			retour[0] = false;
		}
		}
	return retour[0];
	
}

//////////////////////////////////////SI LE CHAMP EST VIDE

function valid_courriel(le_id, retour, msg)
	{
		var nobug = retour[0];  //Ajout
		var obj = document.getElementById( le_id );
		
		/////////////////////COURRIEL////////////////////////
		
		
		
		//A REMETTRE FONCTIONNEL SI IL REDEVIENT VALIDE
		
		/////////////////////COURRIEL OBLIGATOIRE
		/*
		if(trim(obj.value) == "")
		{
			
			retour[1] += "le courriel est obligatoire\n";
			if (nobug==true)
			{
				obj.focus();
			}
			retour[0] = false;
		}
		*/
		/////////////////////COURRIEL OBLIGATOIRE
		///////////////VALEURS///////////////
		
		valu = obj.value;
		le_id2=le_id
		trierCaracteres( le_id2, retour )
		posAcom=valu.indexOf('@');
		
		
		
		valChaine2=valu.substring(posAcom + 1,valu.length); 
		posPoint1=valChaine2.indexOf(".");
		valChaineP1=valChaine2.substring(posPoint1 + 1,valChaine2.length);
		posPoint2=valChaineP1.indexOf(".");
		valChaineP2=valChaineP1.substring(posPoint2 + 1, posPoint2.length);
		
		
		if(posPoint2 != -1)
			{
				valChaineP1=valChaineP1.substring(0,posPoint2)
				
				
			}
		else
			{
				valChaineP2=""
			}
			
		//////////////////////////////////POINT AVANT LE @
		
		if (valu.charAt(posAcom - 1) == "." || valu.charAt(posAcom - 1) == "-" || valu.charAt(posAcom - 1) == "_" )
			{
				
				retour[1] += "Seulement une lettre peut précéder le @\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		
		
		//////////////////////////////////POINT AVANT LE @
		
		//////////////////////////////////SEULEMENT LETTRE AU DÉBUT ET À LA FIN DE L'ADRESSE
		
		///Début
		
		if (valu.charAt(0) == "." || valu.charAt(0) == "-" || valu.charAt(0) == "_" )
			{
				
				retour[1] += "Seulement une lettre peut commencer le courriel\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		///Fin
		
		if (valu.charAt(valu.length - 1) == "." || valu.charAt(valu.length - 1) == "-" || valu.charAt(valu.length - 1) == "_" )
			{
				retour[1] += "Seulement une lettre peut finir le courriel\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		
		//////////////////////////////////SEULEMENT LETTRE AU DÉBUT ET À LA FIN DE L'ADRESSE
			
		//////////////////////////////////SEULEMENT UN @
		
		if (valu.indexOf('@') != valu.lastIndexOf('@'))
			{				
				retour[1] += "Un courriel ne doit avoir qu'un @\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		
		//////////////////////////////////SEULEMENT UN @
				le_id2=le_id
		retour2=retour
		msg2=msg
		trierCaracteres2(valChaineP1,valChaineP2, le_id2, retour2, msg2 )
		
		/////////////////////////////////LONGUEUR EXTENSIONS
		
		if (valChaineP1.length > 4 || (valChaineP1.length < 2 && valChaineP1.length > 0) )
			{
				retour[1] += "le courriel n'est pas valide\n";
				//alert(valChaineP1)
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		else if (valChaineP2.length > 4 || (valChaineP2.length < 2 && valChaineP2.length > 0))
		{
				retour[1] += "le courriel n'est pas valide\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
		}
		else if(trim(valu)!="" )
		{
			if(( valu.indexOf("@") == -1)  || ( valChaine2.indexOf(".") == -1))
			{
				retour[1] += "le courriel n'est pas valide\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		}
		/////////////////////////////////LONGUEUR EXTENSIONS
		
		/////////////////////////////////CHIFFRES DANS EXTENSIONS

		/////////////////////////////////CHIFFRES DANS EXTENSIONS
		
		/////////////////////////////////@ et point
		

		
		/////////////////////////////////@ et point
		
		///////////////////////////ESPACES
		
		/*if(trim(valu)!="" )
		{
			if((valu.indexOf(' ') != -1))
			{
				retour[1] += "Vous ne devez pas mettre d'espaces entre les lettres.\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		}*/
		
		
		
		///////////////////////////ESPACES
		
		///////////////////////////////POINTS COLLES
		
		for (var x=0;x < valu.length;x++)
		
			{
				if (valu.charAt(x) == ".")
					{
						
						if (valu.charAt(x+1) == ".")
							{
								retour[1] += "Vous ne devez pas coller deux points un après l'autre.\n";
								if (nobug==true)
								{
									obj.focus();
								}
								retour[0] = false;
								
								break;
							}
						
					}
				}
		
		///////////////////////////////POINTS COLLES
		
		if (valChaine2.charAt(0) == ".")
		
			{								
				retour[1] += "Vous ne devez pas mettre de point après le @.\n";
				if (nobug==true)
				{
					obj.focus();
				}
				retour[0] = false;
			}
		
		/////////////////////////DEUX POINTS
		
		varPtTemp=0;
		
		for (var x=0;x < valChaine2.length;x++)
		
			{
				if (valChaine2.charAt(x) == ".")
					{
						
						varPtTemp++
						
					}
				
				if (varPtTemp > 2)
					{	
							retour[1] += "Vous ne devez pas mettre plus de deux points après le @.\n";
							if (nobug==true)
							{
								obj.focus();
							}
							retour[0] = false;
							
							break;
					}
			}
			
			/////////////////////////DEUX POINTS
			
			
		////////////////////COURRIEL///////////////////////////	
	}
//

///////////////////////////EXPRESSIONS RÉGULIÈRE///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////NUMERO DE TELEPHONE

function numTel( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		var expression =/(^ *?(\([0-9]{3}\)|[0-9]{3})[ \-]?[0-9]{3}[ \-][0-9]{4}$)/ ;
		
		if(obj.value != "")
			{
				if(expression.test( obj.value ) == false)
					{
						retour[1] += msg;
						if (nobug==true)
							{
								obj.focus();
							}
						retour[0] = false;
					}	
			}
		return retour[0];
	}	
/////////////////////////////////////////////////NUMERO DE TELEPHONE

/////////////////////////////////////////////////NUMERO DE CHIFFRE 2

function numChiffre2( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		var expression =/^[0-9]{1,2}$/  ;
		
		if(obj.value != "")
			{
				if(expression.test( obj.value ) == false)
					{
						retour[1] += msg;
						if (nobug==true)
							{
								obj.focus();
							}
						retour[0] = false;
					}	
			}
		return retour[0];
	}	
/////////////////////////////////////////////////NUMERO DE CHIFFRE 2

/////////////////////////////////////////////////NUMERO DE CHIFFRE 4

function numChiffre4( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
     	var expression =/^[0-9]{4}$/  ;
		
		if(obj.value != "")
			{
				if(expression.test( obj.value ) == false)
					{
						retour[1] += msg;
						if (nobug==true)
							{
								obj.focus();
							}
						retour[0] = false;
					}	
			}
		return retour[0];
	}	
/////////////////////////////////////////////////NUMERO DE CHIFFRE 4


/////////////////////////////////////////////////CODE POSTAL
function codeP( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		if (obj.value != "")
			{
			var expression =/^[A-Za-z][0-9][A-Za-z][ ]?[0-9][A-Za-z][0-9]$/ ;
					if(expression.test( obj.value ) == false)
						{
							retour[1] += msg;
							if (nobug==true)
								{
									obj.focus();
								}
							retour[0] = false;
						}	
			}
		return retour[0];
	}	
/////////////////////////////////////////////////CODE POSTAL

/////////////////////////////////////////////////ADRESSE
function Adr( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		if (obj.value != "")
			{
			var expression =/^[0-9]* ?(([a-zA-ZÉéèÈÇçëË]){2,}[\.]?[\ ]?){1,}$/ ;
					if(expression.test( obj.value ) == false)
						{
							retour[1] += msg;
							if (nobug==true)
								{
									obj.focus();
								}
							retour[0] = false;
						}	
			}
		return retour[0];
	}	
/////////////////////////////////////////////////ADRESSE

/////////////////////////////////////////////////APP
function App( le_id, retour, msg)
	{
		var nobug = retour[0];
		var obj = document.getElementById( le_id );
		if (obj.value != "")
			{
			var expression =/^[0-9]*[A|B]?[a|b]?$/ ;
					if(expression.test( obj.value ) == false)
						{
							retour[1] += msg;
							if (nobug==true)
								{
									obj.focus();
								}
							retour[0] = false;
						}	
			}
		return retour[0];
	}	
/////////////////////////////////////////////////APP

///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////EXPRESSIONS RÉGULIÈRE///////////////////////////////////////

///////////////////////////////////////ÂGE/////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////


function  validerAge(le_id_jour, le_id_mois, le_id_annee, retour, msg, minAge, maxAge) //»Empceher de mettre des lettre
	{
		var nobug = retour[0];
		var expression = /^[0-9]{2,4}$/;
		var dateDuJour = new Date();
		var annee = dateDuJour.getFullYear();
		var mois = dateDuJour.getMonth() + 1;
		var jour = dateDuJour.getDate();
		
		var objJour = document.getElementById( le_id_jour )
		var objMois = document.getElementById( le_id_mois )
		var objAnnee = document.getElementById( le_id_annee )
		//alert(annee)
		//alert(mois)
		//alert(jour)
		if( expression.test( objJour.value ) && expression.test( objMois.value ) && expression.test( objAnnee.value ) && ((annee - objAnnee.value)< maxAge) )
			{
				quelAnnee = annee - minAge
				//alert(quelAnnee)
				//alert(objAnnee.value >= quelAnnee)
				if(objAnnee.value >= quelAnnee)
					{
						if(objAnnee.value == quelAnnee)
							{
								if(objMois.value >= mois)
									{
										if(objMois.value == mois)
											{
												if(objJour.value > jour)
													{
														retour[1] += msg;
														if (nobug==true)
															{
																objAnnee.focus();
															}
														retour[0] = false;
													}
												
											}
										else
											{
												retour[1] += msg;
												if (nobug==true)
													{
														objAnnee.focus();
													}
												retour[0] = false;
											}
									}
							}
						else
							{
								retour[1] += msg;
								if (nobug==true)
									{
										objAnnee.focus();
									}
								retour[0] = false;
							}
					}
			}
			else
				{
					retour[1] += "êtes-vous si vieux?\n";
					if (nobug==true)
						{
							objAnnee.focus();
						}
					retour[0] = false;	
				}
		if(objJour.value > 31 || objMois.value > 12)
				{
					retour[1] += "la date n'est pas valide\n";
					if (nobug==true)
						{
							objAnnee.focus();
						}
					retour[0] = false;	
				}
			
		return retour[0];
	}





///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////ÂGE//////////////////////////////////////////////