function fillProductSizeChooser(itemId, sizeSelect, allowsEmpty) {
  $.ajax({
	url: "/sizes/search?id=" + itemId,
	success: function(data) {
	  var blankOpt;
	  sizeSelect.innerHTML = null; // clear the select of any previous sizes
	  	
	  	// if there are no entered sizes, let the user know that
	  	if (data == -1) {
	  	  // add an (invalid) option saying that no sizes were found
	  	  blankOpt = document.createElement("option");
		  blankOpt.setAttribute("value", "0");
		  blankOpt.innerHTML = "no sizes found";
		  sizeSelect.appendChild(blankOpt);	
		  sizeSelect.selectedIndex = 0;
	  	}
	  	
	  	// if there are item sizes, tokenize the string and put them into the select
	  	else {
  	  // split the ajax response into tokens
  	  var tokens = data.split(";");
	  	
  	  // create a string that will be saved to a hidden input to 
	  	  var productSizeInfo = "";
	  	
	  	  // add a blank option in case the user doesn't want to select a size
	  	  blankOpt = document.createElement("option");
		  blankOpt.setAttribute("value", "-1");
		  blankOpt.innerHTML = "";
		  sizeSelect.appendChild(blankOpt);	
		  sizeSelect.selectedIndex = 0;

	  	  for (var i = 0; i < tokens.length/4; i+=4) {
	  		var opt = document.createElement("option");
		    opt.setAttribute("value", tokens[i]);
			opt.innerHTML = tokens[i+1];
			sizeSelect.appendChild(opt);
			productSizeInfo += tokens[i+2] + ";" + tokens[i+3] + ";";	
	  	  }
	  	  document.getElementById('productSizeInfo').value = productSizeInfo;
	  	}
    }
  });
}




function setItemSizeRestaurant() {
  $('#pricedByWeight').attr('disabled', true);
  $('#soldIndividually').attr('disabled', true);
  $('#soldInFixedSizes').attr('disabled', true);
  $('#size').attr('disabled', true);
  $('#unitsId').attr('disabled', true);
  $('#itemSizes').fadeOut(250);
}


function setItemSizePackaged() {
  $('#pricedByWeight').attr('disabled', false);
  $('#soldIndividually').attr('disabled', false);
  $('#soldInFixedSizes').attr('disabled', false);
  $('#size').attr('disabled', false);
  $('#unitsId').attr('disabled', false);
  if ($('#soldInFixedSizes').is(':checked')) {
      $('#itemSizes').fadeIn(250);
  }
}


function updateSoldInFixedSizes() {
  if ($('#soldInFixedSizes').is(':checked')) {
    $('#itemSizes').fadeIn(250);
  }
  else { $('#itemSizes').fadeOut(250); }
}


function addItemSize() {
  console.log("addItemSize(), ddMatch="+ddMatchId);
  var sizeId = getValueFromId(ddMatchId);
  var sizeName = ddMatchStr;

  if ($('#itemSize'+sizeId).length) { 
    alert("That size has already been added!"); 
    return;
  }
  else if (ddMatchId === -1) { 
    var url = '/sizes/add?name=' + $('#itemSizeSearch').val();
    $.ajax({
      url: url, 
      success: function(data) { 
	var results = jQuery.parseJSON(data);
	console.log(results);
	sizeId = results['id'];
	sizeName = $('#itemSizeSearch').val();
	//console.log("sizeId = "+sizeId+", sizeName = "+sizeName);
	addSizeToList(sizeId, sizeName);
      }
    });
  }
  else { addSizeToList(sizeId, sizeName); }
}



function addSizeToList(sizeId, sizeName) {
  var newHTML =
    '<li id="itemSize'+sizeId+'">' +
      sizeName + ' ' +
      '<a id="itemSizeDel' + sizeId + '" class="del" '+
        'onclick="removeItemSize(this)">'+
        '[-]'+
      '</a>' +
      '</li>';
  $('#itemSizeList').append(newHTML);
  $('#itemSizeSearch').val('');
  $('#sizeList').val($('#sizeList').val() + sizeId +';');
}


function removeItemSize(ref) { 
  var sizeId = ref.id.substr(11);
  $('#sizeList').val($('#sizeList').val().replace(sizeId+';',''));
  $('#itemSize'+sizeId).remove();
}
