// ********** currency functions **********
var exchangeRates;

function setCurrencyArray(curr)
{
	exchangeRates = curr;
}
function setExchangeRate(curr, rate)
{
  exchangeRates[curr.toUpperCase()] = rate;
}
function getExchangeRate(curr)
{
  var key = curr.toUpperCase();
  var rate = exchangeRates[key];
  if (rate === null){
      rate = 1;
  }
  return rate;
}
function Round(num)
{  
  num /= 100;
  num = Math.round(num);
  num *= 100;
  return num;
}
function roundToNearest(number,nearest)
{
  number = Math.round(number);  
  if(nearest>number || nearest <= 0){
      return number;
  }
  var x = (number%nearest);
  return (x<(nearest/2))?number-x:number+(nearest-x);
}

function currencyConvert(value) // EUR to curCurrency
{    // optimize?
  if (curCurrency == 'EUR'){
      return value;
  }
  var rate = getExchangeRate(curCurrency); 
  return value * rate;
}

function currencyConvertEx(value, curr) // given curr to curCurrency
{
  if (curCurrency == curr){
      return value;
  }
  valInEuro=currencyConvertEuroEx(value, curr);
  return currencyConvert(valInEuro);
}

function currencyConvertEUR(value) // curCurrency to EUR
{    // optimize?
  if (curCurrency == 'EUR'){
      return value;
  }
  var rate = getExchangeRate(curCurrency); 
  return value / rate;
}

function currencyConvertEuroEx(value, curr) // given curr to EUR
{    // optimize?
  if (curr == 'EUR'){
      return value;  
  }
  var rate = getExchangeRate(curr);
  return value / rate;
}
function currencyConvertEurToGiven(value, curr) // EUR to given curr
{    // optimize?
  if (curr == 'EUR'){
      return value;
  }
  var rate = getExchangeRate(curr); 
  return value * rate;
}
function currencyConvertCurrToGiven(value, curr) // curCurrency to given curr
{
  if (curCurrency == curr){
      return value;
  }
  valInEuro=currencyConvertEUR(value);
  return currencyConvertEurToGiven(valInEuro, curr);
}