var t_erreur_nom = '';
var t_erreur_prenom = '';
var t_erreur_adresse = '';
var t_erreur_code_postal = '';
var t_erreur_ville = '';
var t_erreur_pays = '';
var t_erreur_telephone = '';
var t_erreur_telephone_forme = '';
var t_erreur_email = '';
var t_erreur_jourA = '';
var t_erreur_moisA = '';
var t_erreur_jourD = '';
var t_erreur_moisD = '';
var t_erreur_jourA_apres_jourD = '';
var t_erreur_moisA_apres_moisD = '';
var t_erreur_anneeA_apres_anneeD = '';
var t_erreur_dateA_avant_aujourdhui = '';
//var t_erreur_dateD_avant_aujourdhui = '';
var t_erreur_email_trop_court = '';
var t_erreur_email_trop_long = '';
var t_erreur_email_pas_d_arobase = '';
var t_erreur_email_caractere_interdit = '';
var t_erreur_email_forme = '';
var t_erreur_location = '';


var t_erreur_duree_resa = '';

function initTexteErreur(lang){
	if(lang == 'fr'){
		t_erreur_nom = 'Veuillez entrer votre nom.';
		t_erreur_prenom = 'Veuillez entrer votre prénom.';
		t_erreur_adresse = 'Veuillez entrer votre adresse.';
		t_erreur_code_postal = 'Veuillez entrer votre code postal.';
		t_erreur_ville = 'Veuillez entrer votre ville.';
		t_erreur_pays = 'Veuillez entrer votre pays.';
		t_erreur_telephone = 'Veuillez entrer un numéro de téléphone pour que nous puissions vous recontacter.';
		t_erreur_telephone_forme = 'N\'est pas la forme d\'un numéro de téléphone (10 chiffres attachés).';
		t_erreur_email = 'Veuillez entrer une adresse e-mail pour que nous puissions vous recontacter.';
		t_erreur_jourA = 'Le jour de début de votre réservation est invalide. Veuillez choisir l\'une des autres options.';
		t_erreur_moisA = 'Le mois de début de votre réservation est invalide. Veuillez choisir l\'une des autres options.';
		t_erreur_jourD = 'Le jour de fin de votre réservation est invalide. Veuillez choisir l\'une des autres options.';
		t_erreur_moisD = 'Le mois de fin de votre réservation est invalide. Veuillez choisir l\'une des autres options.';
		t_erreur_jourA_apres_jourD = 'Le jour de début de votre réservation doit être avant le jour de fin.';
		t_erreur_moisA_apres_moisD = 'Le mois de début de votre réservation doit être avant le mois de fin.';
		t_erreur_anneeA_apres_anneeD = 'L\'année de début de votre réservation doit être avant l\'année de fin.';
		t_erreur_dateA_avant_aujourdhui = 'Votre date d\'arrivée est dépassée.';
		t_erreur_dateD_avant_aujourdhui = 'Votre date de départ est dépassée.';
		t_erreur_email_trop_court = 'Cette adresse e-mail est trop courte.';
		t_erreur_email_trop_long = 'Cette adresse e-mail est trop longue.';
		t_erreur_email_pas_d_arobase = 'Cette adresse e-mail n\'a pas d\'arobase (@).';
		t_erreur_email_caractere_interdit = 'Cette adresse e-mail contient un caractère interdit';
		t_erreur_email_forme = 'n\'est pas la forme d\'une adresse email.';
		t_erreur_location = 'Veuillez sélectionner votre hébergement.';
		t_erreur_duree_resa = 'Votre réservation doit être pour 6 jours minimum.';
		t_erreur_dateD = 'Veuillez sélectionner la date de début de votre location.';
		t_erreur_dateF = 'Veuillez sélectionner la date de fin de votre location.';
	}
	else{
		t_erreur_nom = 'Please enter your last name before submitting the order.';
		t_erreur_prenom = 'Please enter your first name before submitting the order.';
		t_erreur_adresse = 'Please enter your adress before submitting the order.';
		t_erreur_code_postal = 'Please enter your postcode.';
		t_erreur_ville = 'Please enter your city before submitting the order.';
		t_erreur_pays = 'Please enter your country before submitting the order.';
		t_erreur_telephone = 'Please enter an phone number.';
		t_erreur_telephone_forme = 'Is not a phone number (10 digits).';
		t_erreur_email = 'Please enter an e-mail adress.';
		t_erreur_jourA = 'The first day is not a valid selection. Please choose one of the other options.';
		t_erreur_moisA = 'The first month is not a valid selection. Please choose one of the other options.';
		t_erreur_jourD = 'The last day is not a valid selection. Please choose one of the other options.';
		t_erreur_moisD = 'The last month is not a valid selection. Please choose one of the other options.';
		t_erreur_jourA_apres_jourD = 'The first day of your rental must be before the last day.';
		t_erreur_moisA_apres_moisD = 'The first month of your rental must be before the last month.';
		t_erreur_anneeA_apres_anneeD = 'The first year of your rental must be before the last year.';
		t_erreur_dateA_avant_aujourdhui = 'Your arrival date is expired.';
		t_erreur_dateD_avant_aujourdhui = 'Your departure date is expired.';
		t_erreur_email_trop_court = 'This e-mail adress is too short.';
		t_erreur_email_trop_long = 'This e-mail adress is too long.';
		t_erreur_email_pas_d_arobase = 'This e-mail adress  has no @.';
		t_erreur_email_caractere_interdit = 'This e-mail adress  has a forbidden character';
		t_erreur_email_forme = 'is not an email adress.';
		t_erreur_location = 'Please select your lodging.';
		t_erreur_dateD = 'Please select the first date.';
		t_erreur_dateF = 'Please select the last date.';
		
	}
}




// Vérifie la validité d'une adresse e-mail
function verifEmail(email){
	if(email.length < 6){
		alert(email + " : " + t_erreur_email_trop_court);
		return false;
	}
	if(email.length > 80){
		alert(email + " : " + t_erreur_email_trop_long);
		return false;
	}
	if(!email.match(/@/)){
		alert(email + " : " + t_erreur_email_pas_d_arobase);
		return false;
	}
	var caractere = '';
	if(caractere = email.match(/([^a-zA-Z0-9_\@\.\-])/i)){
		alert(email + " : " + t_erreur_email_caractere_interdit + " ("+caractere[0]+").");
		return false;
	}
	if(!email.match(/^([a-z0-9_\-\.])+@(([a-z0-9_\-])+\.)+[a-z]{2,4}$/i)){
		alert(email + " " + t_erreur_email_forme);
		return false;
	}
	
	return true;
}

/* Vérifie la validité d'un numéro de téléphone
*/
function verifTelephone(telephone){
	if (isNaN(telephone) || (!telephone.match(/([0-9]{5})/i))){
		alert(telephone + " " + t_erreur_telephone_forme);
		return false;
	}
	
	return true;
}

function verifForm(formulaire, lang){
    initTexteErreur(lang);
    
	/*var toto = '';
	for(i = 0; i < formulaire.elements.length; i++){
		toto += formulaire.elements[i].name + ' = ' + formulaire.elements[i].value + '\n';
	}
	alert(toto);*/
	
	// Coordonnées
    if(formulaire.nom.value == ""){
         alert(t_erreur_nom);
         formulaire.nom.focus();
         return (false);
    }
    
    if(formulaire.prenom.value == ""){
	 alert(t_erreur_prenom);
	 formulaire.prenom.focus();
	 return (false);
    }
    
    if(formulaire.adresse.value == ""){
	 alert(t_erreur_adresse);
	 formulaire.adresse.focus();
	 return (false);
    }
    
    if(formulaire.code_postal.value == ""){
	 alert(t_erreur_code_postal);
	 formulaire.code_postal.focus();
	 return (false);
    }
    
    if(formulaire.ville.value == ""){
	 alert(t_erreur_ville);
	 formulaire.ville.focus();
	 return (false);
    }
    
    /*if(formulaire.pays.value == ""){
	 alert(t_erreur_pays);
	 formulaire.pays.focus();
	 return (false);
    }*/
    
    if(formulaire.telephone.value == ""){
	 alert(t_erreur_telephone);
	 formulaire.telephone.focus();
	 return (false);
    }
    else if(!verifTelephone(formulaire.telephone.value)){
	 formulaire.telephone.focus();
	 return false;
    }
    
    if(formulaire.email.value == ""){
	 alert(t_erreur_email);
	 formulaire.email.focus();
	 return (false);
    }
    else if(!verifEmail(formulaire.email.value)){
	 formulaire.email.focus();
	    return false;
    }
	
	// Séjour
	aujourdhui = new Date();
	dateA = new Date(formulaire.anneeA.value, formulaire.moisA.selectedIndex, formulaire.jourA.value);
	dateD = new Date(formulaire.anneeD.value, formulaire.moisD.selectedIndex, formulaire.jourD.value);
	if(dateA.getTime() <= aujourdhui.getTime()){
		alert(t_erreur_dateA_avant_aujourdhui);
		return(false);
	}
	if(dateD.getTime() <= aujourdhui.getTime()){
		alert(t_erreur_dateD_avant_aujourdhui);
		return(false);
	}
	if(parseInt(formulaire.anneeA.value) == parseInt(formulaire.anneeD.value)){
		if(formulaire.moisA.selectedIndex == formulaire.moisD.selectedIndex){
			if(parseInt(formulaire.jourA.value) > parseInt(formulaire.jourD.value)){
				alert(t_erreur_jourA_apres_jourD);
				return(false);
			}
		}
		if(formulaire.moisA.selectedIndex > formulaire.moisD.selectedIndex){
			alert(t_erreur_moisA_apres_moisD);
			return(false);
		}
	}
	if(parseInt(formulaire.anneeA.value) > parseInt(formulaire.anneeD.value)){
		alert(t_erreur_anneeA_apres_anneeD);
		return(false);
	}
	
	// Vérification de la date (renvoyée par le Tigra Calendar)
	if(formulaire.dateA.value == ''){
		alert(t_erreur_dateD);
		return(false);
	}
	if(formulaire.dateD.value == ''){
		alert(t_erreur_dateF);
		return(false);
	}
	
	if(dateD.getTime() - dateA.getTime() < 5 * 24 * 3600 * 1000){
		alert(t_erreur_duree_resa);
		return(false);
	}
	
	return true;

	
	// Choix de la location
    if(formulaire.location.value == ''){
		alert(t_erreur_location);
	    return false;
    }
  
  	return (true);
}



// Formate l'affichage d'un prix
function formatPrix(valeur){
	var valeur_chaine = arrondir(valeur)./*valeur.*/toString();
	if(valeur_chaine.match(/(\.[0-9]{2})$/i)){
		return valeur_chaine;
	}
	if(valeur_chaine.match(/(\.[0-9])$/i)){
		return valeur_chaine + '0';
	}
	
	return valeur_chaine + '.00';
}

/* Arrondit un nombre
*
* Paramètres
*	valeur : valeur à arrondir
*	precision : nombre de chiffres après la virgule
*
* Retour
*	Valeur arrondie
*/
function arrondir(valeur, precision) {
	if(precision == undefined) {
		precision = 2;
	}
	
	if(typeof(precision) == "number" && precision > 1) {
		return parseFloat(Math.round(valeur * Math.pow(10, precision)) / Math.pow(10, precision));
	}

	return parseFloat(Math.round(valeur));
}

