// javascripts/dynamic_states.js.erb var states = new Array(); states.push(new Array(229, 'Alabama', 6)); states.push(new Array(229, 'Alaska', 7)); states.push(new Array(229, 'Arizona', 8)); states.push(new Array(229, 'Arkansas', 9)); states.push(new Array(229, 'California', 10)); states.push(new Array(229, 'Colorado', 11)); states.push(new Array(229, 'Connecticut', 12)); states.push(new Array(229, 'Delware', 13)); states.push(new Array(229, 'District of Columbia', 14)); states.push(new Array(229, 'Florida', 15)); states.push(new Array(229, 'Georgia', 16)); states.push(new Array(229, 'Hawaii', 17)); states.push(new Array(229, 'Idaho', 18)); states.push(new Array(229, 'Illinois', 19)); states.push(new Array(229, 'Indiana', 20)); states.push(new Array(229, 'Iowa', 21)); states.push(new Array(229, 'Kansas', 22)); states.push(new Array(229, 'Kentucky', 23)); states.push(new Array(229, 'Louisiana', 24)); states.push(new Array(229, 'Maine', 25)); states.push(new Array(229, 'Maryland', 26)); states.push(new Array(229, 'Massachusetts', 27)); states.push(new Array(229, 'Michigan', 28)); states.push(new Array(229, 'Minnesota', 29)); states.push(new Array(229, 'Mississippi', 30)); states.push(new Array(229, 'Missouri', 31)); states.push(new Array(229, 'Montana', 32)); states.push(new Array(229, 'Nebraska', 33)); states.push(new Array(229, 'Nevada', 34)); states.push(new Array(229, 'New Hampshire', 35)); states.push(new Array(229, 'New Jersey', 36)); states.push(new Array(229, 'New Mexico', 37)); states.push(new Array(229, 'New York', 38)); states.push(new Array(229, 'North Carolina', 39)); states.push(new Array(229, 'North Dakota', 40)); states.push(new Array(229, 'Ohio', 41)); states.push(new Array(229, 'Oklahoma', 42)); states.push(new Array(229, 'Oregon', 43)); states.push(new Array(229, 'Pennsylvania', 44)); states.push(new Array(229, 'Puerto Rico', 45)); states.push(new Array(229, 'Rhode Island', 46)); states.push(new Array(229, 'South Carolina', 47)); states.push(new Array(229, 'South Dakota', 48)); states.push(new Array(229, 'Tennessee', 49)); states.push(new Array(229, 'Texas', 50)); states.push(new Array(229, 'Utah', 51)); states.push(new Array(229, 'Vermont', 52)); states.push(new Array(229, 'Virgin Islands', 53)); states.push(new Array(229, 'Virginia', 54)); states.push(new Array(229, 'Washington', 55)); states.push(new Array(229, 'West Virginia', 56)); states.push(new Array(229, 'Wisconsin', 57)); states.push(new Array(229, 'Wyoming', 58)); states.push(new Array(228, 'East Midlands', 59)); states.push(new Array(228, 'East of England', 60)); states.push(new Array(228, 'London', 61)); states.push(new Array(228, 'North East', 62)); states.push(new Array(228, 'Northern Ireland', 63)); states.push(new Array(228, 'North West', 64)); states.push(new Array(228, 'Scotland', 65)); states.push(new Array(228, 'South East', 66)); states.push(new Array(228, 'South West', 67)); states.push(new Array(228, 'Wales', 68)); states.push(new Array(228, 'West Midlands', 69)); states.push(new Array(228, 'Yorkshire and the Humber', 70)); function countrySelected() { country_id = $('listing_address_attributes_country_id').getValue(); options = $('listing_address_attributes_state_id').options; options.length = 0; states.each(function(state) { if (state[0] == country_id) { options[options.length] = new Option(state[1], state[2]); } }); if (options.length == 0) { $('state_field').hide(); } else { $('state_field').show(); } } function countryforSearchSelected() { country_id = $('country_id').getValue(); options = $('state_id').options; options.length = 0; states.each(function(state) { if (state[0] == country_id) { if(options.length == 0){ options[options.length] = new Option("--State--", 0); } options[options.length] = new Option(state[1], state[2]); if(state[2] == "0"){ options[options.length-1].selected = true } } }); if (options.length == 0) { $('state_field').hide(); } else { $('state_field').show(); } } document.observe('dom:loaded', function() { if($('listing_address_attributes_country_id') != null){ countrySelected(); $('listing_address_attributes_country_id').observe('change', countrySelected); } if($('country_id') != null){ countryforSearchSelected() $('country_id').observe('change', countryforSearchSelected); } });