validateZip = function(testValue, isNew) {
    if (!/(\s?)^[0-9]{5}(\s?)$/.test(testValue)) return goToSearch(false);
    
    var zipValid = new Ajax();
    zipValid.followup = function() { goToSearch(eval(this.pb[0]) == true? testValue : false, isNew) };
    zipValid.start('GET', '/go/includes/_zipValid.jsp?zc='+testValue);
}

goToSearch = function(zipVal, isNew) {
    if (!zipVal || typeof zipVal != 'string') {
        alert('Please enter a valid 5-digit ZIP code');
        document.vehicleSearch.zc.focus();
        return false;
    }
    
    var queryString = '';
    var newUsedSwitch = isNew? 'new' : 'used';
    for (var property in searchTargets) {
        var separator = queryString.length == 0? '?' : '&';
        if (typeof searchTargets[property] == 'string') queryString += separator+property+'='+escape(searchTargets[property]);
        else if (typeof searchTargets[property] == 'object') queryString += separator+property+'='+escape(searchTargets[property][newUsedSwitch]);
    }
    queryString += '&zc='+zipVal+(isNew? '&nclp=true':'');
    window.location.href = '/go/search/search.jsp'+queryString;
}

doMMTrack = function(source) {
    try {
        trackLink(source, 'Find_a_make_model_near_you');
    }
    catch (err) {}
}