//<![CDATA[
utilsNQ = 
{
		debugMode	: false,
		tabLettre : ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O', 'P', 'Q','R','S','T','U','V','W','X','Y','Z'],
		debug : function(mess,erreur) 
		{
			if (utilsNQ.debugMode) 
			{
				alert(mess+'   =>    '+erreur);
			}
			else
			{
				var transaction = YAHOO.util.Connect.asyncRequest('POST', '../../tools/mailer.php', function(){}, 'mailer=true&message='+mess+'&mail=b.gauthier@newquest.fr'); 	
			}
		},
		
		mailerRapide : function(mess,mail)
		{
			var transaction = YAHOO.util.Connect.asyncRequest('POST', '../../tools/mailer.php', function(){}, 'mailer=true&message='+mess+'&mail=bapt.gauthier@gmail.com'); 	
		},
		
		deg2rad : function(angle) 
		{
			 return (angle/180)*Math.PI;
		},
		
		get_distance_m : function(lat1, lng1, lat2, lng2) 
		{
			  var earth_radius = 6378137;   // Terre = sphère de 6378km de rayon
			  var rlo1 = utilsNQ.deg2rad(lng1);
			  var  rla1 = utilsNQ.deg2rad(lat1);
			  var  rlo2 = utilsNQ.deg2rad(lng2);
			  var  rla2 =  utilsNQ.deg2rad(lat2);
			  var  dlo = (rlo2 - rlo1) / 2;
			  var  dla = (rla2 - rla1) / 2;
			  var  a = (Math.sin(dla) * Math.sin(dla)) + Math.cos(rla1) * Math.cos(rla2) * (Math.sin(dlo) * Math.sin(dlo));
			  var  d = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
			  return (earth_radius * d);
		},

		in_array : function(tableau, valeur)
		{
			var control = true;
			for(var u=0;u<tableau.length;u++)
			{
				if(tableau[u] == valeur)
				{
					control = false;
				}
			}
			return control;
		},
		
		 encodeSignedNumber : function(num) {
		  var sgn_num = num << 1;
		
		  if (num < 0) {
			sgn_num = ~(sgn_num);
		  }
		
		  return(utilsNQ.encodeNumber(sgn_num));
		},
		
		// Encode an unsigned number in the encode format.
		encodeNumber : function(num) 
		{
		  var encodeString = "";
		
		  while (num >= 0x20) {
			encodeString += (String.fromCharCode((0x20 | (num & 0x1f)) + 63));
			num >>= 5;
		  }
		
		  encodeString += (String.fromCharCode(num + 63));
		  return encodeString;
		},

		supprimeElementTab : function (indicesAsupprn,tab, tabInfo)
		{
			var retour = [];

			var recupInfo = [];
			
			for ( i = 0 ; i < tab.length ; i++) 
			{
				if(utilsNQ.in_array(indicesAsupprn,i))
				{
					retour.push(tab[i]);
					recupInfo.push(tab[i].info);
				}
			}
			return [retour,recupInfo];
		},
		
		supprimeIndiceTab : function (indiceAsupprn,tab)
		{
			var retour = [];

			
			for ( i = 0 ; i < tab.length ; i++) 
			{
				
				if(indiceAsupprn != i)
				{
					retour.push(tab[i]);
				}
			}
			return retour;
		},
		
		supprimeValueTab : function (valeur,tab)
		{
			var retour = [];

			
			for ( i = 0 ; i < tab.length ; i++) 
			{
				if(tab[i] != valeur)
				{
					retour.push(tab[i]);
					
				}
			}
			return retour;
		},
        
        is_mail : function (mail){
            var filter_email=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
            return filter_email.test(mail);
        },
		
		trim : function(myString)
		{
			return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
		} 

};
//]]>

