function format(number) {
  return Math.round(number*100)/100
}

function calc_fee(amount, fixed_fee, percent_fee, exchange_fee) {
  x = eval(amount.value)

  x = format(x / (1 - exchange_fee))
  fee1 = x * percent_fee + fixed_fee
  fee2 = fee1 * percent_fee
  fee3 = fee2 * percent_fee
  fee = fee1 + fee2 + fee3

  return format(x + fee).toFixed(2)
}

function add_paypal_fee(amount) {
  amount.value = calc_fee(amount, 0.30, 2.4/100, 0)
}

function add_paypal_fee_int(amount) {
  amount.value = calc_fee(amount, 0.30, 3.4/100, 2.5/100)
}

function add_2co_fee(amount) {
  amount.value = calc_fee(amount, 0.45, 5.5/100, 0)
}

function calc_mb_fee(amount, fund, max_fee, percent_fee, credit_fee, exchange_fee) {
  withdrawal_fee = 1.85 // fee divided by 2 payments
  x = eval(amount.value) + withdrawal_fee

  fee  = Math.min(format(x * percent_fee), max_fee)
  feex = format(x * exchange_fee)
  fundx = format(x + fee + feex)
  cost = fundx * (1 + credit_fee)

  document.getElementById(fund).innerHTML = fundx.toFixed(2);
  return format(cost).toFixed(2)
}

function add_moneybookers_fee(amount, fund) {
  amount.value = calc_mb_fee(amount, fund, 1.1, 1.0/100, 1.9/100, 0)
}

function add_moneybookers_fee_int(amount, fund) {
  amount.value = calc_mb_fee(amount, fund, 0.70, 1.0/100, 1.9/100, 1.75/100)
}
