function numbersonly(myfield, e, dec) {
	var key;
	var keychar;
	
	if (window.event) 
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	
	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==13) || (key==27) )
	   return true;
	
	// numbers
	else if ((("0123456789.").indexOf(keychar) > -1))
	   return true;
	
	// decimal point jump
	else if (dec && (keychar == "."))
	   {
	   myfield.form.elements[dec].focus();
	   return false;
	   }
	else
	   return false;
}


function formatNumber(myNum, numOfDec, comma) { 
  var decimal = 1 
  for(i=1; i<=numOfDec;i++) 
     decimal = decimal *10 

  var myFormattedNum = (Math.round(myNum * decimal)/decimal).toFixed(numOfDec);
  if(comma) {
  	baseNum = myFormattedNum.split('.');
  	dec = baseNum[1];
  	baseNum = baseNum[0];
  	myFormattedNum = '';
  	while (baseNum) {
  		section = baseNum.slice(-3); baseNum = baseNum.slice(0,-3);
  		myFormattedNum = section + ',' + myFormattedNum;
  	}
  	myFormattedNum = myFormattedNum.slice(0,-1) + '.' + dec;
  }
  return myFormattedNum;
}


function updateTotal(mode) {
  var price = 10;
  var distance = document.getElementById('km');
  var dollar = document.getElementById('amount');
  if(mode == 'distance') {
    dollar.value = +distance.value * price;
  } else {
    distance.value = formatNumber((+dollar.value / price), 1);
  }
}
