$(function(){var zipcode=$('#zipcode'),divLoading=$('<span/>').addClass('loading').html('loading...'),divNoresults=$('<span/>').addClass('noresults').html('No results...'),cityWrap=$('.city-wrap'),selectCity=$('select.city'),selectBoxCity=selectCity.size()>0?selectCity:$('<select/>').addClass('city medium required').attr({name:'city',id:'city',size:'8'}),selectStreet=$('select.street'),selectBoxStreet=selectStreet.size()>0?selectStreet:$('<select/>').addClass('street medium required').attr({name:'street',id:'street',size:'8'}),streetWrap=$('.street-wrap');var findCity=function(){if($('#zipcode').val().length>3){$('#city_selected').addClass('dummy');selectBoxCity.remove();selectBoxStreet.remove();divNoresults.remove();cityWrap.append($(divLoading));$.ajax({url:"/normalizer_load_city/",type:'post',data:$.param({zipcode:$('#zipcode').val()}),dataType:'json',success:function(response){divLoading.remove();if(response.cities){$('option',selectBoxCity).remove()
cityWrap.append($(selectBoxCity));if(response.cities){var cities=response.cities;$(cities).each(function(){var title=ucfirst(this.GEMNM.toLowerCase());var option=$('<option/>').val(this.GEMID).html(title);selectBoxCity.append(option).bind('click',citySelect);});divNoresults.remove();}}else{cityWrap.append($(divNoresults));}}});}};var keytime=null;var keyTrigger=function(e){clearTimeout(keytime);keytime=setTimeout(findCity,500);};zipcode.keyup(keyTrigger);var citySelect=function(e){$('#street_selected').addClass('dummy');$('#street').removeClass('dummy');e.preventDefault();e.stopPropagation();selectBoxStreet.remove();$('select.street').remove();streetWrap.append($(divLoading));var params=$.param({city:selectBoxCity.val()});$.ajax({url:"/normalizer_load_street/",type:'post',data:params,dataType:'json',success:function(response){if(response.streets){divLoading.remove();$('option',selectBoxStreet).remove();streetWrap.append(selectBoxStreet);if(response.streets){var streets=response.streets;$(streets).each(function(){var title=ucfirst(this.STRAATNM.toLowerCase());var option=$('<option/>').val(this.ID).html(title);selectBoxStreet.append(option);});}}}});return false;};function ucfirst(str){var f=str.charAt(0).toUpperCase();return f+str.substr(1);}
selectBoxCity.bind('click',citySelect);});
