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, "", "");
	    return true;
    }
    else 
    {
	    document.getElementById("error_message").style.display = "block";
        document.getElementById("error_message").style.color   = couleur_rouge;
        if (lang == "fr")
        {
            document.getElementById("error_message").innerHTML = "* S'il vous plait veuillez remplir tous les champs obligatoires.";
        }
        else
        {
            document.getElementById("error_message").innerHTML = "* Please enter valid information in all mandatory fields.";
        }
	    //Ajoute une bordure rouge sur le champ texte s'il n'est pas valide
	    change_couleur(champ, couleur_rouge, "2px");
	    champ.focus();
	    return false;
    }
}

function fctValideOptions(optionsList, label, lang)
{
	var couleur_rouge     = "#fe5c5c";
	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 < label.length; i++)
		{
			label[i].style.color = "#000000";
		}
		
		return true;
	}
	else 
	{
		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, border) 
{
	obj.style.borderColor = couleur;
	obj.style.borderWidth = border;
}

//Fonction permettant de valider les champs du formulaire
function fct_valideForm(lang)
{
	var vNom;
	var vCourriel;
	var vTelephone;
	var vCodePostal;

	d = document.request_for_quotation_form;

	var lblMiss   = $("#rdo_miss");
	var lblMister = $("#rdo_mister");

	//REGEX pour valider les champs
	vNom        = /.+/i;
	vCourriel   = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	vTelephone  = /^\d{3}-\d{3}-\d{4}$/;
	vCodePostal = /^(([A-Za-z]\d[A-Za-z])\d[A-Za-z]\d{1})$/;
	vDate       = /^(20[0-9][0-9])-(0[1-9]|1[0-2])-([1-9]|0[1-9]|1[0-9]|2[0-9]|3[01])$/;
	vTime       = /^([0-2][0-3]|[0-1][0-9]):([0-5][0-9])$/;

	//Appel de la fonction pour valider les expressions régulières
	if (ftcValidateRadioButton(d.rdo_miss, d.rdo_mister) &&
		fctValideExp(vNom, d.txt_first_name, lang) && 
		fctValideExp(vNom, d.txt_last_name, lang) &&
		fctValideExp(vTelephone, d.txt_phone, lang) && 
		fctValideExp(vCourriel, d.txt_email, lang) && 
		fctValideExp(vDate, d.txt_date, lang) && 
		fctValideExp(vTime, d.txt_time_of_reservation, lang) )
	{
		return true;
	}
	else 
	{
		return false;
	}
}

function ftcValidateRadioButton(radio_1, radio_2)
{
	if (radio_1.checked == false && radio_2.checked == false)
	{
		document.getElementById("error_message").style.display = "block";
		document.getElementById("miss").style.color = "#FF0000";
		return false;
	}
	else
	{
		document.getElementById("error_message").style.display = "none";
		document.getElementById("miss").style.color = "#000000";
		return true;
	}
}

function fct_validate_comments_form(lang)
{
	var vNom      = /.+/i;
    var vCaptcha  = /.+/i;
	var vCourriel = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	var vComment  = /.+/i;

	d = document.comments_form;

    return fctValideExp(vNom, d.txt_first_name, lang) && 
           fctValideExp(vCourriel, d.txt_mail, lang) && 
           fctValideExp(vComment, d.txt_comments, lang) &&
           fctValideExp(vCaptcha, d.recaptcha_response_field, lang);
           
}

function validate_comments_form(lang)
{
    if ($("#success_message").html() != "")
    {
        $("#success_message").html("");
    }

    var vNom      = /.+/i;
    var vCourriel = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    var vComment  = /.+/i;

    d = document.comments_form;

    return fctValideExp(vNom, d.txt_first_name, lang) &&
           fctValideExp(vNom, d.txt_last_name, lang) &&
           fctValideExp(vCourriel, d.txt_email, lang) &&
           fctValideExp(vNom, d.txt_comments, lang);
}