function change_price(form_num) {
  set_vis('change_link_' + form_num, false);
  set_vis('change_form_' + form_num, true);
}

function set_vis(id, visible) {
  var div = document.getElementById(id);
  if (visible) {
    div.style.visibility = 'visible';
    div.style.display = 'block';
  } else {
    div.style.visibility = 'hidden';
    div.style.display = 'none';
  }
}

function save_price_cb(ajax, form_num) {
  form = document.getElementById('price_form_' + form_num);

  if (ajax.readyState != AJAX.COMPLETE_STATE)
    return;

  if (ajax.status == 200 ) {
    result = ajax.responseText.parseJSON();
    if (result == null)
      alert("Error in ajax response (unparseable)");

    // Save was successful
    form.save.disabled = false;
    set_vis('change_link_' + form_num, true);
    set_vis('change_form_' + form_num, false);

    if (result.json_status != 'NO_CHANGE') {
      document.getElementById('price_status_' + form_num).innerHTML =
        "";
      document.getElementById('price_' + form_num).innerHTML =
        generate_price_html(result.json_pricing);
    }
  }
}

function generate_price_html(pricing) {
  var html = '';

  html +=  pricing.new_price;
  html += '<br/>';

  if (pricing.new_price != pricing.old_price) {
    html += '<span class="old_price">' + 
      pricing.old_price +
      '</span>';

    html += '<br/>';
  }
  
  html += 'Int\'l S&amp;H: ' + pricing.new_shipping_price;

  return html;
}

function save_price(form_num) {
  form = document.getElementById('price_form_' + form_num);
  // Disable save button so we don't save twice
  form.save.disabled = true;

  // Post save request to ajax
  var data = urlEncodeForm(form);
  var success = doAjaxPostWithData("/ajax/sales/set_price", 
				   urlEncodeForm(form),
				   function (ajax) {
				     save_price_cb(ajax, form_num)
				   });
  // TODO(check success)

  document.getElementById('price_status_' + form_num).innerHTML =
    "Saving...";

  return false;
}
