  jQuery.fn.fillSizes= function(index) {
    var brandId          = $(".sample_brands[rel="+index+"] :selected").val();
    var sizes            = $(".sample_sizes[rel="+index+"]");
    sizes.html("");
    if(brandId.length == 0){
        brandId = "---";
    }
    $.getJSON('/sample_sizes', 'brand_id='+brandId, function(data){
      $.each(data, function(){
        sizes.append('<option value="' + this.sample_size.id+ '">' + this.sample_size.dimension+ '</option>');
      });
      if( data.length == 0 )
        sizes.html("<option>---</option>");
    });
  };

  jQuery.fn.fillVariants= function(){
    var index         = $(this).attr('rel');
    var brand         = $(this);
    var variants      = $(".sample_variants[rel="+index+"]")
    var sheetSizes    = $(".sample_sizes[rel="+index+"]")
    var selectedBrand = $("#"+ brand.attr("id")+"[rel="+index+"]"+" :selected").text();
    variants.html("");
			$.getJSON('/variants/' + selectedBrand, function(data) {
					if(data['brand']['inventory_item']) {

					brand.parent().siblings('.basis-sheet-qty').show();
					brand.parent().siblings('.non-inventory-please-call').hide();

		      $.getJSON("/variants", "brand="+selectedBrand, function(data){
		        $.each(data, function(){
		          variants.append('<option value="' + this.variant.id + '">'
		          + this.variant.to_s+ '</option>');
		        });
		        if( data.length == 0 ){
		          variants.html("<option>---</option>");
		        };
		        sheetSizes.fillSizes(index);
		      });					
				} else {
					brand.parent().siblings('.basis-sheet-qty').hide();
					brand.parent().siblings('.non-inventory-please-call').show();
				}
			});
			
    return brand;
  };

  jQuery.fn.fillSizesOptions= function(index, sample_size_id) {
    var brandId          = $(".sample_brands[rel="+index+"] :selected").val();
    var sizes            = $(".sample_sizes[rel="+index+"]");
    sizes.html("");
    $.getJSON('/sample_sizes', 'brand_id='+brandId, function(data){
      $.each(data, function(){
        if(sample_size_id == this.sample_size.id){
          sizes.append('<option value="' + this.sample_size.id+ '" selected="true">' + this.sample_size.dimension+ '</option>');
          }else if ($(".sample_sizes[rel="+index+"] :options[value="+this.sample_size.id+"]").text().length == 0 ){
          sizes.append('<option value="' + this.sample_size.id+ '">' + this.sample_size.dimension+ '</option>');
        };
      });
      if( data.length == 0 )
        sizes.html("<option>---</option>");
    });
  };

  jQuery.fn.fillVariantsOptions= function(index, variant_id, sample_size_id){
    var brand         = $(this);
    var variants      = $(".sample_variants[rel="+index+"]")
    var sheetSizes    = $(".sample_sizes[rel="+index+"]")
    var selectedBrand = $("#"+ brand.attr("id")+"[rel="+index+"]"+" :selected").text();
    variants.html("");
    $.getJSON("/variants", "brand="+selectedBrand, function(data){
      $.each(data, function(){
        if(variant_id == this.variant.id){
          variants.append('<option value="' + this.variant.id + '" selected>'
          + this.variant.to_s+ '</option>');
          }else if ($(".sample_variants[rel="+index+"] :options[value="+this.variant.id+"]").text().length == 0 )
          {
            variants.append('<option value="' + this.variant.id + '">'
            + this.variant.to_s+ '</option>');
          };
      });
      sheetSizes.fillSizesOptions(index, sample_size_id);
    });
    return brand;
  };

 jQuery.fn.fillOptions= function(variant_id, sample_size_id, unique_id_item) {
   $.each($("#row_"+ unique_id_item +" .sample_brands"), function(){
    var index         = $(this).attr('rel');
    var brand         = $(this);
    var selectedBrand = $("#"+ brand.attr("id")+"[rel="+index+"]"+" :selected").text();
    if (selectedBrand != "---")
      brand.fillVariantsOptions(index, variant_id, sample_size_id);
    });
 };


$(document).ready(function(){
  // when the brand changes, reload variants and sheet sizes
  $(".sample_brands").livequery("change", function(){
    var index = $(this).attr('rel');
    $(this).fillVariants();
  });

  $(".remove_sample").livequery('click',function(){
    var rel = $(this).attr('rel');
    $('.sample_item[rel='+rel+']').remove();
    return false;
  });
});


