function number(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1))
	{
		x1 = x1.replace(rgx, '$1' + ' ' + '$2');
	}
	return x1 + x2;
}

function calc_price(input, service, formula, currency)
{	
	var a = input.value;

	var cost = document.getElementById('cost_' + service);
	cost.innerHTML = formula(a);
	if (isNaN(cost.innerHTML) || a < 0)
	{
		cost.innerHTML = 'error';
	}
	else
	{
		cost.innerHTML = number(Number(cost.innerHTML).toFixed(currency == 'credits' ? 2 : 0)) + ' ' + currency;
	}
}
