// EVS - JavaScript Functions
function toggleLang(txtUrl) {
	// Pour passer de l'anglais au francais et vice versa
	// txtURL = document.URL
	if (txtUrl.lastIndexOf("/fr/")>0) {
		window.location.href = txtUrl.substring(0,txtUrl.lastIndexOf("/fr/")) + "/en/" + txtUrl.substring(txtUrl.lastIndexOf("/fr/")+4, txtUrl.length);
		}
		else{
			if (txtUrl.lastIndexOf("/en/")>0) {
				window.location.href = txtUrl.substring(0,txtUrl.lastIndexOf("/en/")) + "/fr/" + txtUrl.substring(txtUrl.lastIndexOf("/en/")+4, txtUrl.length);
			}
			else {
				if (txtUrl.substring(txtUrl.lastIndexOf("/")+1,txtUrl.lastIndexOf(".")) == "beta") {
					window.location.href = txtUrl.substring(0,txtUrl.lastIndexOf(".")) + "_en" + txtUrl.substring(txtUrl.lastIndexOf("."),txtUrl.length)
				}
				else {
					window.location.href = txtUrl.substring(0,txtUrl.lastIndexOf("_en")) + txtUrl.substring(txtUrl.lastIndexOf("_en")+3,txtUrl.length)
				}
			}
		}
}

function strTrim(str) {
	// Enlève les espaces au début et à la fin de la chaine
	// str est une chaine de caracteres
	return str.replace(/^\s+|\s+$/g, '') ;
}

function validEmail(str) {
	// Verifie si une adresse courriel est valide
	// str est une chaine de caracteres representant une adresse courriel
	// Note : Extensions de domaine va de 2 à 6 caractères (store, travel, museum)
	var regexMail = /^[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}$/gi;
	return regexMail.test(str);
}

function validPhone(str) {
	// Verifie si un numero de telephone est valide
	// Format : (555)555-5555
  	var regexPhone = /(\(\s*\d{3}\s*\)\s*)\d{3}(\s*-?\s*|\s*)\d{4}$/; 
	return regexPhone.test(str);
}

function checkFormAmi(form,lang) {  
	// Validation du formulaire Envoyer a un ami
	// form est le formulaire html
	// lang est la langue ('fr' ou 'en')
	var errMsg = new Array()
	if (lang=='fr') {
		errMsg["fromName"] = "Veuillez entrer votre nom.\n";
		errMsg["fromEmailvide"] = "Veuillez entrer votre adresse courriel.\n";
		errMsg["fromEmail"] = "Veuillez entrer une adresse courriel valide pour vous.\n";
		errMsg["toEmailvide"] = "Veuillez entrer une adresse courriel pour votre ami.\n";
		errMsg["toEmail"] = "Veuillez entrer une adresse courriel valide pour votre ami.\n";

	}
	else {
		errMsg["fromName"] = "Please enter your name.\n";
		errMsg["fromEmailvide"] = "Please enter your email.\n";
		errMsg["fromEmail"] = "Please enter a valid email for you.\n";
		errMsg["toEmailvide"] = "Please enter an email for your friend.\n";
		errMsg["toEmail"] = "Please enter a valid email for your friend.\n";
	}

	// Remettre les backgrounds à la couleur par défaut (cas de plusieurs erreurs successives)
	form.fromName.style.background = "white";
	form.fromEmail.style.background = "white";
	form.toEmail.style.background = "white";
	
	// Validation des champs obligatoires : fromName, fromEmail, toEmail
	txtErr="";
	/* Envoyeur */
	if (strTrim(form.fromName.value).length < 1) {
		txtErr += errMsg["fromName"];
		form.fromName.style.backgroundColor = "#ffffaa";
		form.fromName.focus();
	}
	if (strTrim(form.fromEmail.value).length < 1) {
		txtErr += errMsg["fromEmailvide"];
		form.fromEmail.style.backgroundColor = "#ffffaa";
		form.fromEmail.focus();
	}
	else {
		// Validation du email 
		if (!validEmail(strTrim(form.fromEmail.value))) {
			txtErr += errMsg["fromEmail"];
			form.fromEmail.style.backgroundColor = "#ffffaa";
			form.fromEmail.focus(); 
		}
	}
	/* Destinataire */
	if (strTrim(form.toEmail.value).length < 1) {
		txtErr += errMsg["toEmailvide"];
		form.toEmail.style.backgroundColor = "#ffffaa";
		form.toEmail.focus();
	}
	else {
		// Validation du email
		if (!validEmail(strTrim(form.toEmail.value))) {
			txtErr += errMsg["toEmail"];
			form.toEmail.style.backgroundColor = "#ffffaa";
			form.toEmail.focus(); 
		}
	}
	// Alerter l'utilisateur et s'assurer de ne pas soumettre le formulaire
	if (txtErr!="") {
		alert(txtErr);
		return false;
	}
	else {
		return true;
	}
}