/*
 * Simple State/Province Select plugin for jQuery
 * 
 * Example:
 * $(document).ready(function() {
 *    $('#country').linkToStates('#state');
 *  });
 *
 * Copyright (c) 2008 Adam Daniels
 * Licensed under the MIT License *
 */
;(function($) {

  var canadian_provinces = {
		'AB':'Alberta',
		'BC':'British Columbia',
		'MB':'Manitoba',
		'NB':'New Brunswick',
		'NF':'Newfoundland',
		'NT':'Northwest Territories',
		'NS':'Nova Scotia',
		'NU':'Nunavut',
		'ON':'Ontario',
		'PE':'Prince Edward Island',
		'QC':'Quebec',
		'SK':'Saskatchewan',
		'YT':'Yukon'
	}
	
	var australian_provinces = {             
		'ACT':'Australian Capital Terr.',
		'NSW':'New South Wales',
		'NT':'Northern Territory',
		'QLD':'Queensland',
		'SA':'South Australia',
		'TAS':'Tasmania',
		'VIC':'Victoria',
		'WA':'Western Australia'
	}

	var us_states = {
		'AL':'Alabama',
		'AK':'Alaska',
		'AZ':'Arizona',
		'AR':'Arkansas',
		'AA':'Armed Forces Americas',
		'AE':'Armed Forces Other (AE)',
		'AP':'Armed Forces Pacific',
		'CA':'California',
		'CO':'Colorado',
		'CT':'Connecticut',
		'DE':'Delaware',
		'DC':'District of Columbia',
		'FL':'Florida',
		'GA':'Georgia',
		'HI':'Hawaii',
		'ID':'Idaho',
		'IL':'Illinois',
		'IN':'Indiana',
		'IA':'Iowa',
		'KS':'Kansas',
		'KY':'Kentucky',
		'LA':'Louisiana',
		'ME':'Maine',
		'MD':'Maryland',
		'MA':'Massachusetts',
		'MI':'Michigan',
		'MN':'Minnesota',
		'MS':'Mississippi',
		'MO':'Missouri',
		'MT':'Montana',
		'NE':'Nebraska',
		'NV':'Nevada',
		'NH':'New Hampshire',
		'NJ':'New Jersey',
		'NM':'New Mexico',
		'NY':'New York',
		'NC':'North Carolina',
		'ND':'North Dakota',
		'OH':'Ohio',
		'OK':'Oklahoma',
		'OR':'Oregon',
		'PA':'Pennsylvania',
		'RI':'Rhode Island',
		'SC':'South Carolina',
		'SD':'South Dakota',
		'TN':'Tennessee',
		'TX':'Texas',
		'UT':'Utah',
		'VT':'Vermont',
		'VA':'Virginia',
		'WA':'Washington',
		'WV':'West Virginia',
		'WI':'Wisconsin',
		'WY':'Wyoming'
	}
  
  $.fn.extend({
		linkToStates: function(state_select_id,selected) {
	      $(this).change(function() {
	        var country = $(this).attr('value');
	        $(state_select_id).removeOption(/.*/);
	        switch (country) {
	          case 'CA':
	            $(state_select_id).addOption(canadian_provinces, false);
	            break;
	          case 'US':
	            $(state_select_id).addOption(us_states, false);
	            break;
			  case 'AU':
	            $(state_select_id).addOption(australian_provinces, false);
	            break;
			  case 'NONE':
	            $(state_select_id).addOption({'NONE' : 'Please select a country'}, false);
	            break;
	          default:
	            $(state_select_id).addOption({ 'NONE' : 'No State Needed'}, false);
	            break;
	        }
			if (selected) {
				$(state_select_id).selectOptions(selected, true);
			}
	      });
		}
  });
})(jQuery);
