jQuery(function($) {
// wc_country_select_params is required to continue, ensure the object exists
if (typeof wc_country_select_params === "undefined")
return false;
/* State/Country select boxes */
var states_json = wc_country_select_params.countries.replace(/"/g, '"');
var states = $.parseJSON( states_json );
$('select.country_to_state, input.country_to_state').change(function(){
var country = $(this).val();
var $statebox = $(this).closest('div').find('#billing_state, #shipping_state, #calc_shipping_state');
var $parent = $statebox.parent();
var input_name = $statebox.attr('name');
var input_id = $statebox.attr('id');
var value = $statebox.val();
var placeholder = $statebox.attr('placeholder');
if (states[country]) {
if (states[country].length == 0) {
$statebox.parent().hide().find('.chosen-container').remove();
$statebox.replaceWith('');
$('body').trigger('country_to_state_changed', [country, $(this).closest('div')]);
} else {
var options = '';
var state = states[country];
for(var index in state) {
options = options + '';
}
$statebox.parent().show();
if ($statebox.is('input')) {
// Change for select
$statebox.replaceWith('');
$statebox = $(this).closest('div').find('#billing_state, #shipping_state, #calc_shipping_state');
}
$statebox.html( '' + options);
$statebox.val(value);
$('body').trigger('country_to_state_changed', [country, $(this).closest('div')]);
}
} else {
if ($statebox.is('select')) {
$parent.show().find('.chosen-container').remove();
$statebox.replaceWith('');
$('body').trigger('country_to_state_changed', [country, $(this).closest('div')]);
} else if ($statebox.is('.hidden')) {
$parent.show().find('.chosen-container').remove();
$statebox.replaceWith('');
$('body').trigger('country_to_state_changed', [country, $(this).closest('div')]);
}
}
$('body').trigger('country_to_state_changing', [country, $(this).closest('div')]);
}).change();
});