/*--------------------------------------------*/
/*	Liste des messages d'erreur
/*--------------------------------------------*/

var errMsgFr=new Array(); // messages d'erreur en français
var errMsgEn=new Array(); // messages d'erreur en anglais

//var msgEn = "<p>Please correct the following : </p><ul>";
//var msgFr = "<p>Merci de corriger le(s) problème(s) suivant(s) : </p><ul>";


errMsgFr[0]="Veuillez rentrer votre nom de famille";
errMsgFr[1]="Veuillez rentrer votre prénom";
errMsgFr[2]="Veuillez rentrer votre adresse (numéro civique et nom de rue)";
errMsgFr[3]="Veuillez rentrer le nom de votre ville";
errMsgFr[4]="Veuillez sélectionner une province";
errMsgFr[5]="Veuillez rentrer votre numéro de téléphone";
errMsgFr[6]="Votre numéro de téléphone doit être composé de chiffres uniquement ";
errMsgFr[7]="Votre numéro de téléphone doit être composé de dix (10) chiffres";
errMsgFr[8]="Veuillez rentrer votre code postal";
errMsgFr[9]="Veuillez rentrer votre courriel";
errMsgFr[10]="Veuillez entrer un format de courriel valide (ex: nom@exemple.com)";
errMsgFr[11]="Veuillez compléter le champ sexe";
errMsgFr[12]="Veuillez sélectionner un bureau";
errMsgFr[13]="Veuillez choisir votre langue de correspondance";
errMsgFr[14]="Veuillez rentrer le code régional de votre numéro de téléphone";
errMsgFr[15]="Le code régional doit être composé de chiffres";
errMsgFr[16]="Veuillez rentrer les trois premiers chiffres de votre numéro de téléphone";
errMsgFr[17]="Les trois premiers caractères de votre numéro de téléphone doivent être des chiffres";
errMsgFr[18]="Veuillez rentrer les quatre derniers chiffres de votre numéro de téléphone";
errMsgFr[19]="Les quatre derniers caractères de votre numéro de téléphone doivent être des chiffres";
errMsgFr[20]="Veuillez rentrer les trois premiers caractères de votre code postal";
errMsgFr[21]="Veuillez rentrer les trois derniers caractères de votre code postal";
errMsgFr[22]="Veuillez rentrer une année";
errMsgFr[23]="Veuillez sélectionner une année";
errMsgFr[24]="Veuillez sélectionner un mois";
errMsgFr[25]="Veuillez sélectionner un jour";
errMsgFr[26]="Veuiller rentrer une marque";
errMsgFr[27]="Le champs Message ne peut être vide";
errMsgFr[28]="le champs Sujet ne peut être vide";
errMsgFr[29]="Veuillez rentrer  soit votre numéro de téléphone soit  votre adresse courriel";

errMsgEn[0]="Please enter your last name";
errMsgEn[1]="Please enter your first name";
errMsgEn[2]="Please enter your adress (civic number and street name)";
errMsgEn[3]="Please enter your town name";
errMsgEn[4]="Please select a province";
errMsgEn[5]="Please enter your phone number";
errMsgEn[6]="Your phone number should contain digits only";
errMsgEn[7]="Your phone number should contain ten (10) digits";
errMsgEn[8]="Please enter your postal code";
errMsgEn[9]="Please enter your email";
errMsgEn[10]="Please enter a valid email format (ex: name@example.com)";
errMsgEn[11]="Please complete the following required field: Gender";
errMsgEn[12]="Please select an office";
errMsgEn[13]="Please select your correspondance language";
errMsgEn[14]="Please enter your phone area code";
errMsgEn[15]="The area code must be composed of digits";
errMsgEn[16]="Please enter the first three digits of your phone number";
errMsgEn[17]="The first three characters of your phone number must be digits";
errMsgEn[18]="Please enter the last four digits of your phone number";
errMsgEn[19]="The last four characters of your phone number must be digits";
errMsgEn[20]="Please enter the first three characters of your postal code";
errMsgEn[21]="Please enter the last three characters of your postal code";
errMsgEn[22]="Please enter a year";
errMsgEn[23]="Please select a year";
errMsgEn[24]="Please select a month";
errMsgEn[25]="Please select a day";
errMsgEn[26]="Please enter a brand";
errMsgEn[27]="The Message field can't be empty";
errMsgEn[28]="The Subject field can't be empty";
errMsgEn[29]="Please enter either you phone number or your E-mail adress";


/*--------------------------------------------*/
/*	fonctions de validation génériques
/*--------------------------------------------*/

/*
checkedStatus(arrayName)
checks if at leat one of the radio button or check box
of a group is checked and returns false if none is checked.
*/
function checkedStatus(arrayName){
	var buttonGroup=document.getElementsByName(arrayName);
	for (i=0; i < buttonGroup.length; i++) {
		  if (buttonGroup[i].checked == true) { 
		  return true;
		  }
		} 
		return false;
	}
/*
getSelectedIndex(selectName)
returns the selected index
*/
function getSelectedIndex(selectName)
	{
	var x=document.getElementById(selectName);
	return x.selectedIndex;
	}	
/*
isEmail(MailAddress)
validates the email adresse structure
*/
function isEmail(MailAddress){
	if(MailAddress.length != 0){
		if (MailAddress.charAt(0)=="." ||
			MailAddress.charAt(0)=="@"||
			MailAddress.indexOf("@") == -1 ||
			MailAddress.indexOf(".") == -1 ||
			MailAddress.lastIndexOf("@")==MailAddress.length-1 ||
			MailAddress.lastIndexOf(".")==MailAddress.length-1) {
			return false;
			}
		else return true;
		}
	return false;
  }
/*
isValidPhoneNumber(s)
validates the phone number structure
*/
function isValidPhoneNumber(s){
 if (/^\d{3}-*\d{3}-*\d{4}$/.test(s)){
	return true;
	}	
	return false;
} 

function isEmpty(s){ return ((s == null) || trim(s) == '');}
function trim(str){ return str.replace(/^\s+|\s+$/g, '');}
function isDigit(c){ return ((c >= "0") && (c <= "9")) }

/*--------------------------------------------*/
/*	Validation d'un formulaire spécifique
/*--------------------------------------------*/

function validate(lang) {
var OK = true;
var msgEn = "<p>The form could not be sent because of the following : </p><ul>";
var msgFr = "<p>Merci de corriger le(s) problème(s) suivant(s) : </p><ul>";
document.getElementById('errMsg').style.display="none";	

if (isEmpty(document.frm1.Last_Name.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[0]+"</li>";
	msgFr += "<li>"+errMsgFr[0]+"</li>";
	}
if (isEmpty(document.frm1.First_Name.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[1]+"</li>";
	msgFr += "<li>"+errMsgFr[1]+"</li>";
	}
if (isEmpty(document.frm1.adresse.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[2]+"</li>";
	msgFr += "<li>"+errMsgFr[2]+"</li>";
	}
if (isEmpty(document.frm1.ville.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[3]+"</li>";
	msgFr += "<li>"+errMsgFr[3]+"</li>";
	}
if (isEmpty(document.frm1.code_postal.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[8]+"</li>";
	msgFr += "<li>"+errMsgFr[8]+"</li>";
	}
if (getSelectedIndex('province')==0){
	OK = false;
	msgEn += "<li>"+errMsgEn[4]+"</li>";
	msgFr += "<li>"+errMsgFr[4]+"</li>";
	}
	
if (isEmpty(document.frm1.telephone.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[5]+"</li>";
	msgFr += "<li>"+errMsgFr[5]+"</li>";
	}
	else if (isValidPhoneNumber(document.frm1.telephone.value)== false){
		OK = false;
		msgEn += "<li>"+errMsgEn[7]+"</li>";
		msgFr += "<li>"+errMsgFr[7]+"</li>";
		}
		
if (isEmpty(document.frm1.courriel.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[9]+"</li>";
	msgFr += "<li>"+errMsgFr[9]+"</li>";
	}	
	else if (isEmail(document.frm1.courriel.value)== false){
		OK = false;
		msgEn += "<li>"+errMsgEn[10]+"</li>";
		msgFr += "<li>"+errMsgFr[10]+"</li>";
		}	
if (checkedStatus('langue')==false){
	OK = false;
		msgEn += "<li>"+errMsgEn[13]+"</li>";
		msgFr += "<li>"+errMsgFr[13]+"</li>";
	}
/* ces données ne sont plus obligatoires

if (isEmpty(document.frm1.annee.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[22]+"</li>";
	msgFr += "<li>"+errMsgFr[22]+"</li>";
	}
if (isEmpty(document.frm1.marque.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[26]+"</li>";
	msgFr += "<li>"+errMsgFr[26]+"</li>";
	}
*/
processForm(lang,OK,msgFr,msgEn);
}


function validateContact(lang) {
var OK = true;
var msgEn = "<p>The form could not be sent because of the following : </p><ul>";
var msgFr = "<p>Merci de corriger le(s) problème(s) suivant(s) : </p><ul>";
document.getElementById('errMsg').style.display="none";	

if (isEmpty(document.frm1.Last_Name.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[0]+"</li>";
	msgFr += "<li>"+errMsgFr[0]+"</li>";
	}
if (isEmpty(document.frm1.First_Name.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[1]+"</li>";
	msgFr += "<li>"+errMsgFr[1]+"</li>";
	}

if (isEmpty(document.frm1.courriel.value) && isEmpty(document.frm1.telephone.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[29]+"</li>";
	msgFr += "<li>"+errMsgFr[29]+"</li>";
	}
	
if (!isEmpty(document.frm1.telephone.value) && !isValidPhoneNumber(document.frm1.telephone.value)){
		OK = false;
		msgEn += "<li>"+errMsgEn[7]+"</li>";
		msgFr += "<li>"+errMsgFr[7]+"</li>";
		}
if (!isEmpty(document.frm1.courriel.value) && !isEmail(document.frm1.courriel.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[10]+"</li>";
	msgFr += "<li>"+errMsgFr[10]+"</li>";
	}	
	
if (isEmpty(document.frm1.sujet.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[28]+"</li>";
	msgFr += "<li>"+errMsgFr[28]+"</li>";
	}
if (isEmpty(document.frm1.message.value)){
	OK = false;
	msgEn += "<li>"+errMsgEn[27]+"</li>";
	msgFr += "<li>"+errMsgFr[27]+"</li>";
	}
	
processForm(lang,OK,msgFr,msgEn);
}

/*--------------------------------------------*/
/*	Gestion des erreurs ou submit
/*--------------------------------------------*/
function processForm(lang,noErr,msgFr,msgEn){
	/*langue d'affichage des erreurs*/	
	if (lang == 'fr'){var msg = msgFr;}
	if (lang == 'en'){var msg = msgEn;}
	
	if( !noErr)	 {
		document.getElementById('errMsg').style.display="block";
		document.getElementById('errMsg').innerHTML = msg + "</ul>";
		}
	else{
		/*if (!isEmpty(document.frm1.courriel.value) && noErr){
		document.frm1.Email.value=document.frm1.courriel.value;
		}	*/
		document.frm1.submit();
		}
}
