// replace standard form submit with a pretty link button
//  - to activate, add class "auto-button" to the containing form
function activateAutoButtons() {
  $$('form.auto-button input[type=submit]').each(function(button) {
    var id = button.id;
    if (id == "") {
      id = "auto_button_" + (new Date()).getTime().toString();
      button.id = id;
    }
    Element.replace(id, '<span class="btn"><a href="#"><span>'+button.value+'</span></a></span>');
  });
  Event.addBehavior({'span.btn':AutoButton});
}

// behavior for auto created link buttons
AutoButton = Behavior.create({
  onclick: function(e) {
    Event.stop(e);
    this.element.up('form').submit();
  }
});

// auto load stuff
Event.onReady(function() {
  activateAutoButtons();
});

function number_to_currency(number, options) {
  try {
    var options   = options || {};
    var precision = options["precision"] || 2;
    var unit      = options["unit"] || "$";
    var separator = precision > 0 ? options["separator"] || "." : "";
    var delimiter = options["delimiter"] || ",";

    var parts = parseFloat(number).toFixed(precision).split('.');
    return unit + number_with_delimiter(parts[0], delimiter) + separator + parts[1].toString();
  } catch(e) {
    return number
  }
}

function number_with_delimiter(number, delimiter, separator) {
  try {
    var delimiter = delimiter || ",";
    var separator = separator || ".";

    var parts = number.toString().split('.');
    parts[0] = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + delimiter);
    return parts.join(separator);
  } catch(e) {
    return number
  }
}

