function microsoftKeyPress(formID) {
    if (window.event.keyCode == 13)
        myCon(formID);
}

function myCon(formID) {
  var formSelected;
  var FromVal, ToVal, FromName, ToName, v1, Factor;
  
  switch (formID){
  	case 1:
  	formSelected = document.FormArea;
  	break;
  	
  	case 2:
  	formSelected = document.FormLength;
  	break;

  	case 3:
  	formSelected = document.FormWeight;
  	break;

  	case 4:
  	formSelected = document.FormVolume;
  	break;
  }
    
  v1 = formSelected.what.value;
  v1 = stripBad(v1);
  v1 = parseFloat(v1);
  if (isNaN(v1)) v1 = 1;
  v1 = Math.abs(v1);
  formSelected.what.value = v1;
  
  FromVal = formSelected.from[formSelected.from.selectedIndex].value;
  ToVal = formSelected.to[formSelected.to.selectedIndex].value;
  FromName = formSelected.from.options[formSelected.from.selectedIndex].text;
  ToName = formSelected.to.options[formSelected.to.selectedIndex].text;

  Factor = eval("(" + FromVal + ")/(" + ToVal + ")");

  formSelected.answer.value = v1 + " " + FromName + " = " + get_result(v1, Factor) + " " + ToName;
}

function resetanswer(formID) {
  var formSelected;

  switch (formID){
  	case 1:
  	formSelected = document.FormArea;
  	break;
  	
  	case 2:
  	formSelected = document.FormLength;
  	break;

  	case 3:
  	formSelected = document.FormWeight;
  	break;

  	case 4:
  	formSelected = document.FormVolume;
  	break;
  }

  formSelected.answer.value = "";
}

function get_result(ff,factor){
 ff *= factor;

 if (Number.prototype.toFixed) {
   ff = ff.toFixed(7);
   ff = parseFloat(ff);
 }
 else {
   var leftSide = Math.floor(ff);
   var rightSide = ff - leftSide;
   ff = leftSide + Math.round(rightSide *10000000)/10000000;
 }
 return comma(ff);
}

function stripBad(string) {
    for (var i=0, output='', valid="eE-0123456789."; i<string.length; i++)
       if (valid.indexOf(string.charAt(i)) != -1)
          output += string.charAt(i)
    return output;
} 

function comma(num) {
 var n = Math.floor(num);
 var myNum = num + "";
 var myDec = ""
 
 if (myNum.indexOf('.',0) > -1){
  myDec = myNum.substring(myNum.indexOf('.',0),myNum.length);
 }

  var arr=new Array('0'), i=0; 
  while (n>0) 
    {arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
  arr=arr.reverse();
  for (var i in arr) if (i>0) //padding zeros
    while (arr[i].length<3) arr[i]='0'+arr[i];
  return arr.join() + myDec;
}