//function to check & validate required form fields
function validateForm(thisform) {
    with (thisform)
    {
    //alert('validate test');     
        if (reviewCheckboxSelection()==false) {
        alert("Vous n’avez effectué aucune sélection de zones ou de produits. Merci de préciser votre choix.");
        for(i=0; i<productlinesArray.length; i++) {
        document.getElementById('checkbox_'+productlinesArray[i]+'_1').style.background='#cc0000';
        document.getElementById('productlist_'+productlinesArray[i]).style.display='none';
        document.getElementById('closelist_'+productlinesArray[i]).style.display='none';
        document.getElementById('openlist_'+productlinesArray[i]).style.display='block';
        document.getElementById('hdg_'+productlinesArray[i]).style.color='#cc0000';
        }
        document.location='#heading_4056';
        return false;
        }
        
        if (checkString(FirstName,"'Prénom'")==false) { 
        selectField(document.getElementById('FirstName').id,'FirstName');
        return false;
        }
        else {
        deselectField(document.getElementById('FirstName').id);
        }
        
        if (checkString(LastName,"'Nom'")==false) {
        selectField(document.getElementById('LastName').id,'LastName');
        return false;
        }
        else {
        deselectField(document.getElementById('LastName').id);
        }
        
        if(thisform.industry) {
        if (checkString(industry,"'Business Type'")==false) {
        selectField(document.getElementById('industry').id,'industry');
        return false;
        }
        else {
        deselectField(document.getElementById('industry').id);
        }
        }
        
        if(thisform.CompanySize) {
        if (checkString(CompanySize,"'Nombre d'Employés'")==false) {
        selectField(document.getElementById('CompanySize').id,'CompanySize');
        return false;
        }
        else {
        deselectField(document.getElementById('CompanySize').id);
        }
        }

        if (checkString(Country,"'Pays'")==false) {
        selectField(document.getElementById('Country').id,'Country');
        return false;
        }
        else {
        deselectField(document.getElementById('Country').id);
        }

        if(Country.value == "US" || Country.value == "CA") {
            if (checkString(StateProvince,"'State/Province'")==false) {
            selectField(document.getElementById('StateProvince').id,'StateProvince');
            return false;
            }
            else {
            deselectField(document.getElementById('StateProvince').id);
            }
        }

        if (checkString(ZipPostalCode,"'Code Postal '")==false) {
        selectField(document.getElementById('ZipPostalCode').id,'ZipPostalCode');
        return false;
        }
        else {
        deselectField(document.getElementById('ZipPostalCode').id);
        }

        var ZipPostalCodeString = ZipPostalCode.value; 
        if (Country.value=='US'){       
            if (ZipPostalCodeString.length < 5  || ZipPostalCodeString.length > 10) {
                alert("Please enter a valid Zip or Postal Code.");
                selectField(document.getElementById('ZipPostalCode').id,'ZipPostalCode');
                return false;
            }
            else {
                deselectField(document.getElementById('ZipPostalCode').id);
            }
        }
        if (Country.value=='CA'){       
            if (ZipPostalCodeString.length < 6 || ZipPostalCodeString.length > 7) {
                alert("Please enter a valid Postal Code.");
                selectField(document.getElementById('ZipPostalCode').id,'ZipPostalCode');
                return false;
            }
            else {
                deselectField(document.getElementById('ZipPostalCode').id);
            }
        }
      
        if (checkString(EmailAddress,"'Messagerie Électronique '")==false) {
        selectField(document.getElementById('EmailAddress').id,'EmailAddress');
        return false;
        }
        else {
        deselectField(document.getElementById('EmailAddress').id);
        }
        
        if (checkEmail(EmailAddress,"'Messagerie Électronique '")==false) {
        selectField(document.getElementById('EmailAddress').id,'EmailAddress'); 
        return false;
        }
        else {
        deselectField(document.getElementById('EmailAddress').id);
        }
        
        if (checkString(ConfirmEmailAddress,"'Confirmez l'Adresse Électronique '")==false) {
        selectField(document.getElementById('ConfirmEmailAddress').id,'ConfirmEmailAddress');
        return false;
        }
        else {
        deselectField(document.getElementById('ConfirmEmailAddress').id);
        }
        
        if (ConfirmEmailAddress.value!=EmailAddress.value) {
        alert("L’adresse email que vous venez d’entrer ne correspond pas a celle entrée dans le champ « E-mail ». Merci de la confirmer a nouveau.");
        selectField(document.getElementById('ConfirmEmailAddress').id,'ConfirmEmailAddress');
        return false;
        }
        else {
        deselectField(document.getElementById('ConfirmEmailAddress').id);
        }
        
        if (checkString(BusinessPhone,"'Numéro de Téléphone '")==false) {
        selectField(document.getElementById('BusinessPhone').id,'BusinessPhone');
        return false;
        }
        else {
        deselectField(document.getElementById('BusinessPhone').id);
        }
    }

    //copy contents of State/Province or Region/Province/State to a single hidden Region/Province/State field for form submission
    if(thisform.StateProvince != null) {
        if(thisform.StateProvince.value != '') {
            thisform.elqStateProvinceRegion.value = thisform.StateProvince.value;
        }
    }        
    if(thisform.RegionProvinceState != null) {
        if(thisform.RegionProvinceState.value != '') {
            thisform.elqStateProvinceRegion.value = thisform.RegionProvinceState.value;
        }
    } 

    //copy contents of "Company Size" field to the "00N60000001SXb4" hidden field for SalesForce compatibility    
        if(thisform.CompanySize != null) {
            if(thisform.CompanySize.value != '') {
                thisform.elements['00N60000001SXb4'].value = thisform.CompanySize.value;
            }
        } 

    //set value of "Lead Type" field based on value of "industry" field
    if(thisform.industry != null && thisform.elements['00N60000001PoQi']) {
        if(thisform.industry.value != 'Reseller' && thisform.industry.value != '') {
            thisform.elements['00N60000001PoQi'].value = 'End Customer';
        }
        else {
            if(thisform.industry.value == 'Reseller') {
                thisform.elements['00N60000001PoQi'].value = thisform.industry.value;
            }
        }
    }      
        
    findSelectedProducts();
    findSelectedProductLines();        
}
//end