/* * LocationSelector v0.1 */ (function($) { $.fn.locationSelector = function(options) { var settings = $.extend({ 'countryField' : '#country', 'countryDefault' : 'United States', 'countryEmpty' : true, 'regionField' : '#region', 'regionEmpty' : true, 'regionClass' : '' }, options); var countryField = $(settings.countryField); var regionField = $(settings.regionField); var regionFieldName = regionField.attr("name"); var countryOptions = new Array( 'Afghanistan','Albania','Algeria','American Samoa','Andorra','Angola','Anguilla','Antigua and Barbuda','Argentina','Armenia','Aruba','Australia', 'Austria','Azerbaijan Republic','Bahamas','Bahrain','Bangladesh','Barbados','Belarus','Belgium','Belize','Benin','Bermuda','Bhutan','Bolivia', 'Bosnia and Herzegovina','Botswana','Brazil','British Virgin Islands','Brunei Darussalam','Bulgaria','Burkina Faso','Burma','Burundi','Cambodia', 'Cameroon','Canada','Cape Verde Islands','Cayman Islands','Central African Republic','Chad','Chile','China','Colombia','Comoros', 'Congo, Democratic Republic of the','Congo, Republic of the','Cook Islands','Costa Rica','Cote d Ivoire (Ivory Coast)','Croatia, Republic of', 'Cyprus','Czech Republic','Denmark','Djibouti','Dominica','Dominican Republic','Ecuador','Egypt','El Salvador','Equatorial Guinea','Eritrea', 'Estonia','Ethiopia','Falkland Islands (Islas Malvinas)','Fiji','Finland','France','French Guiana','French Polynesia','Gabon Republic','Gambia', 'Georgia','Germany','Ghana','Gibraltar','Greece','Greenland','Grenada','Guadeloupe','Guam','Guatemala','Guernsey','Guinea','Guinea-Bissau','Guyana', 'Haiti','Honduras','Hong Kong','Hungary','Iceland','India','Indonesia','Ireland','Israel','Italy','Jamaica','Jan Mayen','Japan','Jersey','Jordan', 'Kazakhstan','Kenya','Kiribati','Korea, South','Kuwait','Kyrgyzstan','Laos','Latvia','Lebanon','Liechtenstein','Lithuania','Luxembourg','Macau', 'Macedonia','Madagascar','Malawi','Malaysia','Maldives','Mali','Malta','Marshall Islands','Martinique','Mauritania','Mauritius','Mayotte','Mexico', 'Micronesia','Moldova','Monaco','Mongolia','Montserrat','Morocco','Mozambique','Namibia','Nauru','Nepal','Netherlands','Netherlands Antilles','New Caledonia', 'New Zealand','Nicaragua','Niger','Nigeria','Niue','Norway','Oman','Pakistan','Palau','Panama','Papua New Guinea','Paraguay','Peru','Philippines', 'Poland','Portugal','Puerto Rico','Qatar','Romania','Russian Federation','Rwanda','Saint Helena','Saint Kitts-Nevis','Saint Lucia','Saint Pierre and Miquelon', 'Saint Vincent and the Grenadines','San Marino','Saudi Arabia','Senegal','Seychelles','Sierra Leone','Singapore','Slovakia','Slovenia','Solomon Islands', 'Somalia','South Africa','Spain','Sri Lanka','Suriname','Svalbard','Swaziland','Sweden','Switzerland','Syria','Tahiti','Taiwan','Tajikistan','Tanzania', 'Thailand','Togo','Tonga','Trinidad and Tobago','Tunisia','Turkey','Turkmenistan','Turks and Caicos Islands','Tuvalu','Uganda','Ukraine','United Arab Emirates', 'United Kingdom','United States','Uruguay','Uzbekistan','Vanuatu','Vatican City State','Venezuela','Vietnam','Wallis and Futuna','Western Sahara', 'Western Samoa','Yemen','Yugoslavia','Zambia','Zimbabwe'); var regionOptions = { "Australia": new Array("Australian Capital Territory","New South Wales","Northern Territory","Queensland","South Australia","Tasmania","Victoria","Western Australia"), "Canada": new Array('Alberta','British Columbia','Manitoba','New Brunswick','Newfoundland and Labrador','Northwest Territories','Nova Scotia','Nunavut','Ontario','Prince Edward Island','Quebec','Saskatchewan','Yukon'), "France": new Array('Alsace','Aquitaine','Auvergne','Basse-Normandie','Bourgogne','Bretagne','Centre','Champagne-Ardenne','Corse','Franche-Comté','Guadeloupe','Guyanne','Haute-Normandie','Île-de-France','Languedoc-Rousillon','Limousin','Lorraine','Martinique','Midi-Pyrénées','Nord-Pas-de-Calais','Pays de la Loire','Picardie','Poitou-Charentes','Provence-Alpes-Côte d\'Azur','Réunion','Rhône-Alpes'), "United Kingdom": new Array('Aberdeen City','Aberdeenshire','Angus','Antrim','Argyll and Bute','Armagh','Avon','Bedfordshire','Berkshire','Blaenau Gwent','Borders','Bridgend','Bristol','Buckinghamshire','Caerphilly','Cambridgeshire','Cardiff','Carmarthenshire','Ceredigion','Channel Islands','Cheshire','Clackmannan','Cleveland','Conwy','Cornwall','Cumbria','Denbighshire','Derbyshire','Devon','Dorset','Down','Dumfries and Galloway','Dundee (City of)','Durham','East Ayrshire','East Dunbartonshire','East Lothian','East Renfrewshire','East Riding of Yorkshire','East Sussex','Edinburgh (City of)','Essex','Falkirk','Fermanagh','Fife Glasgow (City of)','Flintshire','Gloucestershire','Greater Manchester','Gwynedd','Hampshire','Herefordshire','Hertfordshire','Highland','Humberside','Humberside','Inverclyde','Isle of Anglesey','Isle of Man','Isle of Wight','Isles of Scilly','Kent','Lancashire','Leicestershire','Lincolnshire','London','Londonderry','Merseyside','Merthyr Tydfil','Middlesex','Midlothian','Monmouthshire','Moray','Neath Port Talbot','Newport','Norfolk','North Ayrshire','North Lanarkshire','North Yorkshire','Northamptonshire','Northumberland','Nottinghamshire','Orkney','Oxfordshire','Pembrokeshire','Perthshire and Kinross','Powys','Renfrewshire','Rhondda Cynon Taff','Rutland','Shetland','Shropshire','Somerset','South Ayrshire','South Lanarkshire','South Yorkshire','Staffordshire','Stirling','Suffolk','Surrey','Swansea','The Vale of Glamorgan','Torfaen','Tyne and Wear','Tyrone','Warwickshire','West Dunbartonshire','West Lothian','West Midlands','West Sussex','West Yorkshire','Western Isles','Wiltshire','Worcestershire','Wrexham'), "United States": new Array('Alaska','Alabama','American Samoa','Arkansas','Armed Forces Africa','Armed Forces Europe','Armed Forces Pacific','Arizona','California','Colorado','Connecticut','District of Columbia','Delaware','Federated States of Micronesia','Florida','Georgia','Guam','Hawaii','Iowa','Idaho','Illinois','Indiana','Kansas','Kentucky','Louisiana','Massachusetts','Northern Mariana Islands','Marshall Islands','Maryland','Maine','Michigan','Minnesota','Missouri','Mississippi','Montana','North Carolina','North Dakota','Nebraska','New Hampshire','New Jersey','New Mexico','Nevada','New York','Ohio','Oklahoma','Oregon','Pennsylvania','Palau','Puerto Rico','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Virginia','Virgin Islands','Vermont','Washington','Wisconsin','West Virgina','Wyoming') } return this.each(function() { var oldCountry = countryField.val() || settings.countryDefault; if(settings.countryEmpty) { countryField.append( $('') ); } for(i=0; i<=countryOptions.length; i++) { if(countryOptions[i]) { countryField.append( $('') ); } } countryField.val(oldCountry); function updateRegion() { var selectedCountry = countryField.val(); var oldRegion = regionField.val(); if(typeof regionOptions[selectedCountry] != 'undefined') { var regions = regionOptions[selectedCountry]; var newSelect = $(''); if(regionField.prop("placeholder")) { newSelect.prop("placeholder", regionField.prop("placeholder")); } regionField.replaceWith(newSelect); regionField = newSelect; if(settings.regionEmpty) { regionField.append( $('') ); } for(i=0; i<=regions.length; i++) { if(regions[i]) { var option = $(''); regionField.append(option); } } regionField.val(oldRegion); } else { var newText = $(''); regionField.replaceWith(newText); regionField = newText; } } countryField.change(updateRegion); updateRegion(); } )}; })(jQuery);