jQuery(document).ready(function($) { // Orderby $('select.orderby').change(function(){ $(this).closest('form').submit(); }); // Quantity buttons $("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass('buttons_added').append('').prepend(''); // Target quantity inputs on product pages $("input.qty:not(.product-quantity input.qty)").each(function(){ var min = parseInt($(this).attr('data-min')); if (min && min > 1 && parseInt($(this).val()) < min) { $(this).val(min); } }); $(".plus").live('click', function() { var currentVal = parseInt($(this).prev(".qty").val()); if (!currentVal || currentVal=="" || currentVal == "NaN") currentVal = 0; $qty = $(this).prev(".qty"); var max = parseInt($qty.attr('data-max')); if (max=="" || max == "NaN") max = ''; if (max && (max==currentVal || currentVal>max)) { $qty.val(max); } else { $qty.val(currentVal + 1); } $qty.trigger('change'); }); $(".minus").live('click', function() { var currentVal = parseInt($(this).next(".qty").val()); if (!currentVal || currentVal=="" || currentVal == "NaN") currentVal = 0; $qty = $(this).next(".qty"); var min = parseInt($qty.attr('data-min')); if (min=="" || min == "NaN") min = 0; if (min && (min==currentVal || currentVal 0) { $qty.val(currentVal - 1); } $qty.trigger('change'); }); /* State/Country select boxes */ var states_json = woocommerce_params.countries.replace(/"/g, '"'); var states = $.parseJSON( states_json ); $('select.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(); if (states[country]) { if (states[country].length == 0) { // Empty array means state field is not used $parent.fadeOut(200, function() { $statebox.parent().find('.chzn-container').remove(); $statebox.replaceWith(''); $('body').trigger('country_to_state_changed', [country, $(this).closest('div')]); }); } else { $parent.fadeOut(200, function() { var options = ''; var state = states[country]; for(var index in state) { options = options + ''; } 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')]); $parent.fadeIn(500); }); } } else { if ($statebox.is('select')) { $parent.fadeOut(200, function() { $parent.find('.chzn-container').remove(); $statebox.replaceWith(''); $('body').trigger('country_to_state_changed', [country, $(this).closest('div')]); $parent.fadeIn(500); }); } else if ($statebox.is('.hidden')) { $parent.find('.chzn-container').remove(); $statebox.replaceWith(''); $('body').trigger('country_to_state_changed', [country, $(this).closest('div')]); $parent.delay(200).fadeIn(500); } } $('body').delay(200).trigger('country_to_state_changing', [country, $(this).closest('div')]); }); });