function validateForm(thisform) {

    

    with (thisform) { 
        //Required           
        if (checkString(FirstName,"»First Name«")==false) { 
        selectField(document.getElementById('FirstName').id,'FirstName');

        return false;
        }
        else {
        deselectField(document.getElementById('FirstName').id);
        }

        
        //Required
        if (checkString(LastName,"»Last Name«")==false) {
        selectField(document.getElementById('LastName').id,'LastName');
        return false;
        }
        else {
        deselectField(document.getElementById('LastName').id);
        }

        
        

        
        //Required
        if (checkString(CompanySize,"»Company Size«")==false) {
        selectField(document.getElementById('CompanySize').id,'CompanySize');
        return false;
        }
        else {
        deselectField(document.getElementById('CompanySize').id);
        }

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


        //required field
        if(Country.value == "United States" || Country.value == "Canada" || 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);
            }
        }


        //required field
        if(Country.value != "United States" && Country.value != "Canada" && Country.value != "US" && Country.value != "CA") {
            if (checkString(RegionProvinceState,"»Region / State / Province«")==false) {
            selectField(document.getElementById('RegionProvinceState').id,'RegionProvinceState');
            return false;
            }
            else {
            deselectField(document.getElementById('RegionProvinceState').id);
            }
        }


        
        //Required
        if (checkString(ZipPostalCode,"»Zip/Postal Code«")==false) {
        selectField(document.getElementById('ZipPostalCode').id,'ZipPostalCode');
        return false;
        }
        else {
        deselectField(document.getElementById('ZipPostalCode').id);
        }
        
        var ZipPostalCodeString = ZipPostalCode.value; 
        if (Country.value=='United States' || Country.value=='US'){       
            if (ZipPostalCodeString.length < 5  || ZipPostalCodeString.length > 10) {
                alert("");
                selectField(document.getElementById('ZipPostalCode').id,'ZipPostalCode');
                return false;
            }
            else {
                deselectField(document.getElementById('ZipPostalCode').id);
            }
        }
        if (Country.value=='Canada' || Country.value=='CA'){       
            if (ZipPostalCodeString.length < 6 || ZipPostalCodeString.length > 7) {
                alert("You've entered an invalid postal code. Please correct and resubmit.");
                selectField(document.getElementById('ZipPostalCode').id,'ZipPostalCode');
                return false;
            }
            else {
                deselectField(document.getElementById('ZipPostalCode').id);
            }
        }

        
        //Required
        if (checkString(EmailAddress,"»E-mail Address«")==false) {
        selectField(document.getElementById('EmailAddress').id,'EmailAddress'); 
        return false;
        }
        else {
        deselectField(document.getElementById('EmailAddress').id);
        }

        
        //Required
        if (checkString(ConfirmEmailAddress,"»Confirm E-mail Address«")==false) {
        selectField(document.getElementById('ConfirmEmailAddress').id,'ConfirmEmailAddress');
        return false;
        }
        else {
        deselectField(document.getElementById('ConfirmEmailAddress').id);
        }
        
        if (ConfirmEmailAddress.value!=EmailAddress.value) {
        alert("The e-mail address you entered does not match the one you entered in the 'E-mail' field. Please reconfirm your e-mail address.");
        selectField(document.getElementById('ConfirmEmailAddress').id,'ConfirmEmailAddress');
        ConfirmEmailAddress.select();
        return false;
        }
        else {
        deselectField(document.getElementById('ConfirmEmailAddress').id);
        }

        
        


        

        if (checkString(CompanySize,"[ Company Size ]")==false) {
            selectField(document.getElementById('CompanySize').id,'CompanySize');
            return false;
        }
        else {
            deselectField(document.getElementById('CompanySize').id);
        }


        if (checkString(Message,"[ Message ]")==false) {
            selectField(document.getElementById('Message').id,'Message');
            return false;
        }
        else {
            deselectField(document.getElementById('Message').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 "CompanySize" field to hidden "00N60000001SXb4" input field for SalesForce compatibility
    if(thisform.CompanySize != null) {
        if(thisform.CompanySize.value != '') {
            thisform.elements['00N60000001SXb4'].value = thisform.CompanySize.value;
        }
    }

    //populate a hidden FormURL field
    if(thisform.FormURL) thisform.FormURL.value = window.location.href;

     

      
  
}
//end
