	var dom = (document.getElementById) ? 1:0;
	var n = (document.layers) ? 1:0;
	var ie = (document.all) ? 1:0;
	
	function Validate() {
		var tout_ok = true;
			
		// Validation formulaire "identité"
		if (document.formulaire.Contact_NomComplet.value == "") {
			tout_ok = false;
			alert("Please enter your name...");
			document.formulaire.Contact_NomComplet.focus();
		}
		else if (document.formulaire.Contact_Adresse.value == "") {
			tout_ok = false;
			alert("Please enter your address...");
			document.formulaire.Contact_Adresse.focus();
		}
		else if (document.formulaire.Contact_Ville.value == "") {
			tout_ok = false;
			alert("Please enter your city...");
			document.formulaire.Contact_Ville.focus();
		}
		else if (document.formulaire.Contact_CodePostal.value == "") {
			tout_ok = false;
			alert("Please enter your postcode...");
			document.formulaire.Contact_CodePostal.focus();
		}
		else if (document.formulaire.Contact_Date1.value == "" || !is_date_valid(document.formulaire.Contact_Date1.value)) {
			tout_ok = false;
			alert("Please enter a valid date...");
			document.formulaire.Contact_Date1.focus();
		}
		else if (document.formulaire.Contact_Date2.value == "" || !is_date_valid(document.formulaire.Contact_Date2.value)) {
			tout_ok = false;
			alert("Please enter a valid date...");
			document.formulaire.Contact_Date2.focus();
		}
		else if (document.formulaire.Contact_AdresseLoc.value == "") {
			tout_ok = false;
			alert("Please enter your accomodation in Tignes...");
			document.formulaire.Contact_AdresseLoc.focus();
		}
		else if (document.formulaire.Contact_NumClient.value != "" && document.formulaire.NumClient_OK.value == 0) {
			tout_ok = false;
			alert("Please check your client number : it is written on your \"client privilégié\" card and it is made of 2 letters and 6 figures.\n\nIf you no more have your client privilégié car, contact us by email, we will send back your client number.");
			document.formulaire.Contact_NumClient.value = "";
			document.formulaire.Contact_NumClient.focus();
		}
		else if (!test_email_valide(document.formulaire.Contact_Email.value)) {
			tout_ok = false;
			alert("The E-mail address is not valid...");
			document.formulaire.Contact_Email.focus();
		}

		// Validation formulaire "matériel"
		if (tout_ok) {
			var chaussure_selectionner = false;
			for (i = 1; i < 7; i++) {
				if (eval("document.formulaire.Chaussures_"+i+".options[document.formulaire.Chaussures_"+i+".selectedIndex].text") != "") {
					chaussure_selectionner = true;
					if (eval("document.formulaire.Niveau_"+i+".options[document.formulaire.Niveau_"+i+".selectedIndex].text") == "") {
						tout_ok = false;
						alert("Please select level for set n°"+i+"...");
						eval("document.formulaire.Niveau_"+i+".focus()");
						break;
					}
					else if (eval("document.formulaire.Sexe_"+i+".options[document.formulaire.Sexe_"+i+".selectedIndex].text") == "") {
						tout_ok = false;
						alert("Please select sex for set n°"+i+"...");
						eval("document.formulaire.Sexe_"+i+".focus()");
						break;
					}
					else if (eval("document.formulaire.Taille_"+i+".value") == "") {
						tout_ok = false;
						alert("Please enter height for set n°"+i+"...");
						eval("document.formulaire.Taille_"+i+".focus()");
						break;
					}
					else if (eval("document.formulaire.Poids_"+i+".value") == "") {
						tout_ok = false;
						alert("Please enter weight for set n°"+i+"...");
						eval("document.formulaire.Poids_"+i+".focus()");
						break;
					}
				}
			}
		}
		
		if (tout_ok && !chaussure_selectionner) {
			var ski_selectionner = false;
			for (i = 1; i < 7; i++) {
				if (eval("document.formulaire.Skis_"+i+".options[document.formulaire.Skis_"+i+".selectedIndex].text") != "") ski_selectionner = true;
			}
			if (!ski_selectionner) {
				alert("Please select at least one set...");
				tout_ok = false;
			}
		}
		
		// Si tout est ok alors on soumet le formulaire
		if (tout_ok) document.formulaire.submit();
	}
	
	function Vide(object) {
		object.value = "";
	}	
	
	function is_date_valid(chaine) {
		var reg = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
		if (reg.exec(chaine) == null) return 0;
		dPart = chaine.split('/');
		if (isDate(dPart[0],dPart[1],dPart[2])) return 1;
		else return 0;
	}
	
	function y2k(number) { return (number < 1000) ? number + 1900 : number; }
	
	function isDate (day,month,year) {
		var today = new Date();
		year = ((!year) ? y2k(today.getYear()):year);
		month = ((!month) ? today.getMonth():month-1);
		if (!day) return false;
		var test = new Date(year,month,day);
		if ((y2k(test.getYear()) == year) && (month == test.getMonth()) && (day == test.getDate())) return true;
		else return false;
	}

	function Verif_numClient(object) {
		var dest = "verif_codeclient.php?cc="+object.value+"&langue="+document.formulaire.english.value;
		if (n) document.layers[0].src = dest;
		else if (ie) document.RemoteScripting.location.href = dest;
		else document.getElementById("RemoteScripting").src = dest;
	}

	function test_email_valide(chaine) {
   		var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$/;
		if (reg.exec(chaine) != null) return 1;
		else return 0;		
	}
	
	function is_num(valeur) {
		val1 = 1 * valeur;
		val1 = "" + val1;
		val2 = "" + valeur;
		if (val1 != val2) return false; else return true;
	}	