function pricePerUnit(keyversion, quantity, currency) {
  // calc volume discount for PayPal multi-orders
  // bloody work for an almost never used function... :\
  // 20080429, 20090219, 20090830. 20100101
  
  // lifetime; eu, us, uk
  var pricesXY1 = new Array();
  pricesXY1[0]=[49.95, 69.95, 44.95];
  pricesXY1[1]=[42.95, 59.95, 38.95];
  pricesXY1[2]=[30.95, 43.95, 27.95];
  pricesXY1[3]=[24.95, 34.95, 22.50];
  // standard; eu, us, uk
  var pricesXY2 = new Array();
  pricesXY2[0]=[29.95, 42.95, 26.95];
  pricesXY2[1]=[25.95, 36.95, 22.95];
  pricesXY2[2]=[18.95, 26.95, 16.95];
  pricesXY2[3]=[14.95, 21.50, 13.50];
  // standard; eu, us, uk
  var pricesXY3 = new Array();
  pricesXY3[0]=[19.95, 28.95, 17.95];
  pricesXY3[1]=[19.95, 28.95, 17.95];
  pricesXY3[2]=[19.95, 28.95, 17.95];
  pricesXY3[3]=[19.95, 28.95, 17.95];

  var iVDblock = 0;
  if (quantity == 1) {
    iVDblockock = 0;
  } else if (quantity < 10) {
    iVDblock = 1;
  } else if (quantity < 50) {
    iVDblock = 2;
  } else {
    iVDblock = 3;
  }
  
  var iCurrency = 0;
  if (currency == 'EUR') {
    iCurrency = 0;
  } else if (currency == 'USD') {
    iCurrency = 1;
  } else if (currency == 'GBP') {
    iCurrency = 2;
  }
  
  var price = 0;
  if (keyversion == 1) {
    price = pricesXY1[iVDblock][iCurrency]; 
  } else if (keyversion == 2) {
    price = pricesXY2[iVDblock][iCurrency]; 
  } else if (keyversion == 3) {
    price = pricesXY3[iVDblock][iCurrency]; 
  }
  return price;
}
