function selectedText(select){
  for(var i = 0; i < select.options.length; i++) {
      if(select.options[i].selected) {
         return select.options[i].text;
      }
  }
  return "";
}

function cartShippingZone(){
  jQuery('#cart_shipping_zone_id').change(function(){
    jQuery(this).parent('form').submit();
  });
}

function enableProductVariantList(selector, listItems){
  var listItem = listItems.children(selector);
  listItem.addClass('active');
  listItem.attr('selected', 'selected');
  listItem.find('select').removeAttr('disabled');  
}

function disableProductVariantListItems(listItems){
  listItems.children().each(function(){
    var listItem = jQuery(this);
    listItem.removeClass('active');
    listItem.removeAttr('selected');
    listItem.find('select').attr('disabled', true);
  });  
}

function colourSelect(){
  jQuery('.colour_select').change(function(){
    var hiddenColourField = jQuery(this).next();
    var selectedItem = jQuery(this).children(":selected");
    hiddenColourField.val(selectedItem.text());

    var id = selectedItem.val();
    var listItem = jQuery(this).parents('.item');
    var listItems = listItem.find('.product_variant_list');

    disableProductVariantListItems(listItems);
    enableProductVariantList("#product_variant_thumbnails_item_" + id, listItems);
    enableProductVariantList("#product_variant_sizes_item_" + id, listItems);
    listItem.find(".product_variant_id").val(id);
  })
}

jQuery(function(){
  cartShippingZone();
  colourSelect();
});