function formValidator(){
	// Make quick references to our fields
	var company = document.getElementById('x_Company');
    var firstname = document.getElementById('x_Firstname');
    var lastname = document.getElementById('x_Lastname');
	var address = document.getElementById('x_Address');
	var zip = document.getElementById('x_PostalCode');
	var city = document.getElementById('x_City');
    var country = document.getElementById('x_Country');
	var phone = document.getElementById('x_Phone');
	var email = document.getElementById('x_Email');
    var helper = document.getElementById('x_Helper');

	// Check each input in the order that it appears in the form!
	//if(notEmpty(company, helper, "Veuillez saisir le nom de votre entreprise, svp.")){
        if(notEmpty(firstname, helper, "Veuillez saisir votre prénom, svp.")){
            if(notEmpty(lastname, helper, "Veuillez saisir votre nom, svp.")){
                //if(notEmpty(address, helper, "Veuillez saisir votre adresse, svp.")){
                    //if(notEmpty(zip, helper, "Veuillez saisir votre code postal, svp.")){
                        if(notEmpty(city, helper, "Veuillez saisir votre ville, svp.")){
                            if(madeSelection(country, helper, "Veuillez saisir votre pays, svp.")){
                                if(notEmpty(phone, helper, "Veuillez saisir votre numéro de téléphone, svp.")){
                                    if(emailValidator(email, helper, "Veuillez saisir un courriel valide, svp.")){
                                        return true;
                                    }
                                }
                            }
                        }
                    //}
                //}
            }
        }
	//}


	return false;

}

function notEmpty(elem, helper, helperMsg){
	if(elem.value.length == 0){
		displayMessage(helper, helperMsg);
		elem.focus(); // set the focus to this input
		return false;
	}
    displayMessage(helper, "");
	return true;
}

function isNumeric(elem, helper, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
        displayMessage(helper, "");
		return true;
	}else{
		displayMessage(helper, helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem, helper, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
        displayMessage(helper, "");
		return true;
	}else{
		displayMessage(helper, helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helper, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
        displayMessage(helper, "");
		return true;
	}else{
		displayMessage(helper, helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, helper, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
        displayMessage(helper, "");
		return true;
	}else{
		displayMessage(helper, "Veuillez entrer entre " +min+ " et " +max+ " caractères, svp.");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helper, helperMsg){
	if(elem.value == "[Choisir]"){
		displayMessage(helper, helperMsg);
		elem.focus();
		return false;
	}else{
        displayMessage(helper, "");
		return true;
	}
}

function emailValidator(elem, helper, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
    if(elem.value.length > 0){
        if(elem.value.match(emailExp)){
            displayMessage(helper, "");
            return true;
        }else{
            displayMessage(helper, helperMsg);
            elem.focus();
            return false;
        }
    }
    return true;
}

function displayMessage(helper, helperMsg){
    if (helper != null)
        helper.innerHTML = helperMsg;
}




