var sf=100000000000;function Convert(direction)
{var fromValueInput=document.getElementById('fromValue');var fromValue=fromValueInput.value;var fromFactor=document.getElementById('fromFactor').value;var toValueInput=document.getElementById('toValue');var toValue=toValueInput.value;var toFactor=document.getElementById('toFactor').value;var category=document.getElementById('category').value;var fromUnitName=document.getElementById('fromUnitName').value;var toUnitName=document.getElementById('toUnitName').value;if(fromValue=="-"){toValueInput.value="";return};fromValue=parseFloat(fromValue);if(isNaN(fromValue)&&fromValueInput.value.length>0)
{alert(fromUnitName+" must be a number or leave it blank.");fromValueInput.value="";toValueInput.value="";return;}
if(toValue=="-"){fromValueInput.value="";return};toValue=parseFloat(toValue);if(isNaN(toValue)&&toValueInput.value.length>0)
{alert(toUnitName+" must be a number or leave it blank.");fromValueInput.value="";toValueInput.value="";return;}
if(category=="temperature")
{if(direction=="to"&&fromValueInput.value.length>0)
{var converted=ConvertTemperature(fromValue,fromUnitName,toUnitName);if(converted!=null)toValueInput.value=Math.round(converted*10000000)/10000000;else{fromValueInput.value='';toValueInput.value='';}}
else if(direction=="from"&&toValueInput.value.length>0)
{var converted=ConvertTemperature(toValue,toUnitName,fromUnitName);if(converted!=null)fromValueInput.value=Math.round(converted*10000000)/10000000;else{fromValueInput.value='';toValueInput.value='';}}}
else
{fromValue=fromValue*sf;toValue=toValue*sf;if(direction=="to"&&fromValueInput.value.length>0)
{fromFactor=eval(fromFactor);toFactor=eval(toFactor);var converted=(fromValue*fromFactor)/toFactor;toValueInput.value=ProcessResult(converted);}
else if(direction=="from"&&toValueInput.value.length>0)
{fromFactor=eval(fromFactor);toFactor=eval(toFactor);var converted=(toValue*toFactor)/fromFactor;fromValueInput.value=ProcessResult(converted);}}}
function ProcessResult(result)
{var answer=result.toFixed(0)/sf;return answer;}
function ConvertTemperature(n,from,to)
{if(from=="Kelvin"&&n<0)
{alert('Kelvin cannot be below absolute zero(0)');return null;}
if(from=="Kelvin"&&to=="Celsius")return n-273.15;else if(from=="Kelvin"&&to=="Fahrenheit")return n*9/5-459.67;else if(from=="Celsius"&&to=="Kelvin")return n+273.15;else if(from=="Celsius"&&to=="Fahrenheit")return n*9/5+32;else if(from=="Fahrenheit"&&to=="Kelvin")return(n+459.67)*5/9;else if(from=="Fahrenheit"&&to=="Celsius")return(n-32)*5/9;else return null;}