function inv(){
    var aErrBlock = ["errCompany", "errFirstName", "errLastName", "errCity", "errStateProv", "errCountry", "errPhone", "errEmail"];
    var aErrLen = aErrBlock.length;
    for(var i = 0; i < aErrLen; i++){
        document.getElementById(aErrBlock[i]).style.display = "none";
    }
}

function validate(){
    inv();
    var valid = true;
    var aRequired = ["txtCompany", "txtFirstName", "txtLastName", "txtCity", "selStateProv", "selCountry"];
    var aErrBlock = ["errCompany", "errFirstName", "errLastName", "errCity", "errStateProv", "errCountry"];
    var aReqLen = aRequired.length;
    
    for(var i = 0; i < aReqLen; i++){
        if (document.getElementById(aRequired[i]).value == ""){
            if (valid){document.getElementById(aRequired[i]).focus()}
            valid = false;
            document.getElementById(aErrBlock[i]).style.display = "block";
        }
    }
    
    if (document.getElementById('txtPhoneArea').value.length < 3 || document.getElementById('txtPhone').value.length < 7){
        if (valid){document.getElementById("txtPhone").focus()}
        valid = false;
        document.getElementById('errPhone').style.display = "block";
    }
    
    if (!window.notValideEmailMsg) notValideEmailMsg = "Ce courriel n'est pas valide.";
    if (!window.requiredFieldMsg) requiredFieldMsg = "Champs obligatoire.";
    var emailpattern = new RegExp(/[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+\.[A-Za-z]{2,4}/)
    if (document.getElementById('txtEmail').value == ""){
        if (valid){document.getElementById("txtEmail").focus()}
        valid = false;
        document.getElementById('errEmail').innerHTML = requiredFieldMsg;
        document.getElementById('errEmail').style.display = "block";
    } else if (!emailpattern.test(document.getElementById('txtEmail').value)){
        valid = false;
        document.getElementById('errEmail').style.display = "block";
        document.getElementById('errEmail').innerHTML = notValideEmailMsg;
    } else {
        document.getElementById('errEmail').innerHTML = requiredFieldMsg;
    }
    
    return valid;
}

	//var strWinLoad = window.onload;
	//window.onload = function (){
   window.addListener = function(ev, fn, el){
		el = el || window;
		if(ev.substr(0,2) == "on") ev = ev.substr(2);
		
		if(el.addEventListener){
			el.addEventListener(ev, function(evt){
				var ret = fn.call(el, evt);
				if(ret === false){
				    if(evt.stopPropagation) evt.stopPropagation();
				    else evt.cancelBubble = true;
					if(evt.preventDefault) evt.preventDefault();
					else evt.returnValue = false;
					return false;
				}
			}, false);
		} else if (el.attachEvent){
			el.attachEvent('on'+ev, function(){
				var ret = fn.call(el, window.event);
				if(ret === false)
					return false;
			});
		}
	}
   
   window.addListener('load', function (){
		//if (strWinLoad && strWinLoad != anonymous){ strWinLoad(); }
		strWinLoc = window.location + "";
		if (strWinLoc.indexOf("?") == -1) return;
		strWinVars = strWinLoc.substr( strWinLoc.indexOf("?")+1, strWinLoc.length );
		arrWinVars = strWinVars.split("&");
		var formVar = "";
		var arrCouple;
		var id = "";
		for(var i = 0; i < arrWinVars.length; i++){
			couple = arrWinVars[i];
			arrCouple = couple.split("=");
			formVar = arrCouple[0];
			formVarValue = arrCouple[1]
			
			if (formVar == "Phone" && (formVarValue != "" || formVarValue != "()" )){
				arrPhone = formVarValue.split("%20")
				document.getElementById("txtPhoneArea").value = (parseInt(arrPhone[0].substr(1,4)) || "" );
				document.getElementById("txtPhone").value = (arrPhone[1] || "");
				break;
			} else if (formVar.substr(0,3) != 'sel'){
				id = "txt" + formVar
			} else {
				id  = formVar;
			}
			if(formVarValue){
				document.getElementById(id).value = formVarValue;
			}
		}
		validate();
	})