ValidData = true;
function isValidData() {
if( ValidData ) 
   return true; 
 else 
   return false; 
}

    /*called to validate zip code fields for searches*/
    function checkZip(numberField) {

            zipToCheck = numberField.value;
            var errorMsg = "";
        invalid="`-=[]\\;',/~!@#$%^&()_+{}|:\"<>?*"; // invalid characters

            // Zip Length check
            if (zipToCheck.length == 6 || zipToCheck.length < 5) {
                errorMsg = "US Zip Codes must be exactly 5 digits in length.\n";
                errorMsg = errorMsg + "Canadian Zip Codes must be exactly 7 characters in length.\n";
            
            }

            // Invalid character check
          for (var i=0; i<zipToCheck.length; i++) {
                if (invalid.indexOf(zipToCheck.charAt(i)) >= 0) {
                    errorMsg = errorMsg + "Zip Codes may contain only alphanumeric characters.\n";
                    break;
                }
            }

            // Whole number check for US zips
            if (zipToCheck.length == 5) {

                for(i = 0; i < zipToCheck.length; i++) {
                    if(zipToCheck.charAt(i) < '0' || zipToCheck.charAt(i) > '9') {                      
                        errorMsg = errorMsg + "US Zip Codes must be numeric.\n";
                        break;
                    }
                }

            }

            if (errorMsg.length > 0) {
                    alert(errorMsg);
                    numberField.focus();
                    return false;
            }

            return true;
        
    }
    
    
    function getWholeErrorMessage(fieldName) {
        return "The " + fieldName + " Must Be Numeric";
    }
                
    /*called to validate whole number fields */
    function validateWholeNumber(numberField, fieldName, showAlert) {
        if(numberField.value.length > 0) {
            checkNum = numberField.value;
            for(i = 0; i < checkNum.length; i++) {
                if(checkNum.charAt(i) < '0' || checkNum.charAt(i) > '9') {                      
                    if(showAlert) {
                        alert(getWholeErrorMessage(fieldName));
                        numberField.focus();
                        return false;
                    } else  { //if(validWholeNumber) {
                        return false;
                    }
                    //}
                    //validWholeNumber = false;
                    return true;
                }
            }
            //validWholeNumber=true;
        }
        return true;
    }

    function getCountyErrorMessage() {
        return "County names may only contain alphanumeric characters and no spaces.";
    }
                
    /*called to validate county name fields */
    function validateCountyName(numberField, fieldName, showAlert) {

        if(numberField.value.length > 0) {
            checkCounty = numberField.value;
            if(numberField.value.length < 2) {
              invalid="`-=[]\\;',/~!@#$%^&()_+{}|:\"<>?*"; // added * to prevent single wildcard search"
            } else {
              invalid="`-=[]\\;',/~!@#$%^&()_+{}|:\"<>?"; // normal invlaid characters"
            }    

        for (var i=0; i<checkCounty.length; i++) {
                if (invalid.indexOf(checkCounty.charAt(i)) >= 0) { // valid chars return "-1"
                        if(showAlert) { 
                            alert(getCountyErrorMessage());
                            numberField.focus();
                            return false;
                        } else  { //if(validCountyName) {
                            return false;
                        }
                return true;
                }
            }
        } else { // County Name is required for byCounty searches
            alert("You must enter a County name to search by County Served.");
            numberField.focus();
            return false;
        }
    }

    PHONE_NUM = 0;
    DECIMAL_NUM = 1;
    WHOLE_NUM = 2;
    DATE_NUM = 3;
  COUNTY = 4;
    
    function validateSubmit() {

        errorMsg = "";
        for(checkField = 0; checkField < arrayFieldChecks.length; checkField++) {
            if(arrayFieldChecks[checkField][2] == COUNTY) {
                if(!validateCountyName(arrayFieldChecks[checkField][0], arrayFieldChecks[checkField][1], false)) {
                    errorMsg = errorMsg + getCountyErrorMessage(arrayFieldChecks[checkField][1]) + "\n";
                }
            } else if(arrayFieldChecks[checkField][2] == WHOLE_NUM) {
                if(!validateWholeNumber(arrayFieldChecks[checkField][0], arrayFieldChecks[checkField][1], false)) {
                    errorMsg = errorMsg + getWholeErrorMessage(arrayFieldChecks[checkField][1]) + "\n";
                }
            }
        }

        if(errorMsg.length > 0) {
            alert(errorMsg);
            return false;
        }
        return true;
    }

arrayFieldChecks = new Array(0);
function initializeArrayFields()  {  
arrayFieldChecks = new Array(1);
// arrayFieldChecks[0] = new Array(document.searchZipCode.search, 'Zip Code', WHOLE_NUM);
arrayFieldChecks[0] = new Array(document.searchOther.search[1], 'Area Code', WHOLE_NUM);
}
