$(function () { var regionDropdownChangeHandlerActivated = true; var brand = $("#map").data("brand"); var countryCode = $("#map").data("country"); var $submitButton = $("#dealer-submit a"); function getDealers(shouldScrolltop) { var $country = $("#country-select"); var sales = $("#dealer-sales").is(':checked'); var service = $("#dealer-service").is(':checked'); var $address = $("#dealer-address"); var $distance = $("#distance-select"); var $region = $("#region-select");; var $name = $("#dealer-name"); dealerNetworkService.getDealers($country.val(), $region.val(), brand, $name.val(), sales, service, $address.val(), $distance.val(), function (data) { dealerNetworkService.addMarkers(data); if (shouldScrolltop) { dealerNetworkService.scrollTop(); } }); } $("#country-select").change(function () { var $dropdown = $(this); var $regionSelect = $("#region-select"); var country = $dropdown.val(); //Disabling change event on region dropdown using a bool to avoid calling getDealers() a gazillion times regionDropdownChangeHandlerActivated = false; //clear old options $regionSelect.find("option").each(function() { var $option = $(this); if ($option.val()) { $option.remove(); } $regionSelect.val("").change(); }); dealerNetworkService.clearMarkers(); if (!country) { return; } dealerNetworkService.getRegions(country, brand, function (data) { if (data) { for (var i in data) { var $option = $("