	function getLvStandardXhr(){
	              var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
               return xhr
	}

	function selectCarsAction(path, dest_container, categoryId, sqlLimitFrom){
 				var xhr = getLvStandardXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						resulthtml = xhr.responseText;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById(dest_container).innerHTML = resulthtml;
					}
				}

				// Ici on va voir comment faire du post
				xhr.open("POST",path,true);
				// ne pas oublier ça pour le post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id de l'auteur
				xhr.send("sqlLimitFrom="+sqlLimitFrom+"&categoryId="+categoryId);
				
	}

		function isDate(sDate){
			var sSeparator = '/';
			if(!sDate.match("^[0-9]{2}/[0-9]{2}/[0-9]{4}$")) return false;
			var arDate = sDate.split(sSeparator);
			var iDay = parseInt(arDate[0]);
			var iMonth = parseInt(arDate[1]);
			var iYear = parseInt(arDate[2]);
			var arDayPerMonth = [31,(isLeapYear(iYear))?29:28,31,30,31,30,31,31,30,31,30,31];
			if(!arDayPerMonth[iMonth-1]) return false;
			return (iDay <= arDayPerMonth[iMonth-1] && iDay > 0);
		}
		
		function isHour(sHour){
			var sSeparator = ':';
			var withSeconds = false;
			if(sHour.match("^[0-9]{2}:[0-9]{2}:[0-9]{2}$")) var withSeconds = true;
			else if(!sHour.match("^[0-9]{2}:[0-9]{2}$")) return false;
			var arHour = sHour.split(sSeparator);
			var iHour = parseInt(arHour[0]);
			var iMinute = parseInt(arHour[1]);
			if(withSeconds)	var iSecs = parseInt(arHour[2]);
			else 						var iSecs = 0;
			return 	(iHour >= 0 && iHour < 24) && (iMinute >= 0 && iMinute < 60) && (iSecs >= 0 && iSecs < 60);
		}
		
		function isLeapYear(iYear){
			return ((iYear%4==0 && iYear%100!=0) || iYear%400==0);
		}
		
		function isDateHour(sDateHour){
			var sSeparator = ' ';
			var arDateHour = sDateHour.split(sSeparator);
			return (arDateHour[0] && arDateHour[1] && isDate(arDateHour[0]) && isHour(arDateHour[1]));
		}


		