function fctValideExp(expReg, champ, lang)
{
	couleur_rouge = "#fe5c5c"; //couleur de fond lorsqu'il y a une erreur
	error = document.getElementById("error-msg");
	error.style.color = "red";
	
	if (expReg.test(champ.value) == true && champ.value != "") 
	{
		change_couleur(champ, "#cfdfa6");
		champ.style.border="";
		return true
	}
	else 
	{
		//Ajoute une bordure rouge sur le champ texte s'il n'est pas valide
		change_couleur(champ, couleur_rouge);
		champ.focus();
		if(lang == 'fr')
		{
			error.innerHTML = "* S'il vous plait veuillez remplir tous les champs obligatoires.";	
		}
		else
		{
			error.innerHTML = "* Please enter valid information in all mandatory fields.";	
		}
		return false
	}
}

function fctValideOptions(optionsList, label, lang)
{
	var couleur_rouge     = "#fe5c5c"; //couleur de fond lorsqu'il y a une erreur
	var error             = document.getElementById("error-msg");
	error.style.color     = "red";
	var oneCheck          = false;

	for (var i = 0; i < optionsList.length; i++) 
	{
		if (optionsList[i].checked == true) 
		{
			oneCheck = true;
		}
	}

	if (oneCheck == true) 
	{
		/*
		for(var i = 0; i < optionLabelList.length; i++) 
		{
			//change_couleur_label(optionLabelList[i], "#cfdfa6");
		}*/
		for (var i = 0; i < label.length; i++)
		{
			label[i].style.color = "#000000";
		}
		
		return true;
	}
	else 
	{
		/*
		for(var j = 0; j < optionLabelList.length; j++) 
		{
			//Alert("come here");
			//change_couleur_label(optionLabelList[i], couleur_rouge);
			optionLabelList[j].style;
		}
		*/
		//optionLabelList.style.color = '#ff00ff';
		for (var i = 0; i < label.length; i++)
		{
			label[i].style.color = "red";
		}		

		if (lang == 'fr')
		{
			error.innerHTML = "* S'il vous plait veuillez remplir tous les champs obligatoires.";
		}
		else
		{
			error.innerHTML = "* Please enter valid information in all mandatory fields.";
		}

		return false;
	}
}

//Change la couleur de fond
function change_couleur (obj, couleur) 
{
	obj.style.border="thin solid red";
}

//Fonction permettant de valider les champs du formulaire
function fct_valideForm(lang)
{
	var vNom;
	var vCourriel;
	var vTelephone;
	var vCodePostal;

	d = document.frmContact;

	var lblMiss   = document.getElementById("lblMiss");
	var lblMister = document.getElementById("lblMister");
	var lblBuildingType = document.getElementById("lblBuildingType");
	
	
	d.BuildingType.style.border="thin solid red";
	
	//REGEX pour valider les champs
	vNom = /.+/i;	// assure au moins un charactere
	vCourriel =/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	//vTelephone =/^(\(\d{3}\)|\d{3})(\-|\s)?\d{3}(\-|\s)\d{4}$/;
	vTelephone =/^(\(\d{3}\)|\d{3}|\d{10})(\d{3}\d{4}|\d{0})$/;
	vCodePostal = /^(([A-Za-z]\d[A-Za-z])\d[A-Za-z]\d{1})$/;

	//Appel de la fonction pour valider les expressions régulières
	if (fctValideOptions(new Array (d.chkMiss, d.chkMister), new Array (lblMiss, lblMister), lang) && fctValideExp(vNom, d.txtFirstName, lang) && fctValideExp(vNom, d.txtLastName, lang) && fctValideExp(vTelephone, d.txtTelephone, lang) && fctValideExp(vCourriel, d.txtEmail, lang) && fct_checkOption(d.BuildingType, lblBuildingType))
	{
		return true;
	}
	else 
	{
		return false;
	}
}

function fct_checkOption(list, label)
{
	label.style.color = "black";
	for (var i=1; i < list.options.length; i++)
	{
		var opt = list.options[i];
		if(opt.selected)
			return true;
	}
	
	label.style.color = "red";
	return false;
}
