function LZ(n){return(n!=null&&n<10&&n>=0?"0":"")+n;}
function StrU(X,M,N){var St=String(Math.round(X*Math.pow(10,N)));if(/\D/.test(St)){return SpcsTo(X,M+N+1);}
St=PrfxTo(St,M+N,"0");var J=St.length-N;return St.substring(0,J)+"."+St.substring(J);}
function Sign(X){return X>0?"+":X<0?"-":" ";}
function Expo(E){return"e"+(E<0?"-":"+")+LZ(Math.abs(E));}
function GetSEM(X){var U,Obj={S:Sign(X),E:0,M:X==U?U:Math.abs(X)};with(Obj){if(M==0||!isFinite(M)){return Obj;}
while(M>=10){E++;M/=10;}
while(M<1){E--;M*=10;}}
return Obj;}
function NumDecSigFig(X,N){var U;if(X==0||X==U){return X;}
with(GetSEM(X)){var P=Math.pow(10,N-E-1);}
return Math.round(X*P)/P;}
function SetValue(src,id,val){if(src==id){return;}
var tx=document.getElementById(id);var mxlen=tx.maxLength;var sval=val.toString();tx.value=NumDecSigFig(sval,8);}
function GetValue(id){return document.getElementById(id).value;}
function Fahrenheit(){var c=(GetValue("fahrenheit")-32)*5/9;SetValue("fahrenheit","celsius",c);SetValue("fahrenheit","kelvin",c-273.15);}
function Celsius(){var c=GetValue("celsius");SetValue("celsius","fahrenheit",c*9/5+32);SetValue("celsius","kelvin",c*1+273.15);}
function Kelvin(){var c=GetValue("kelvin")-273.15;SetValue("kelvin","fahrenheit",c*9/5+32);SetValue("kelvin","celsius",c);}
function Length(id,factor){var feet=GetValue(id)*factor;SetValue(id,"inches",feet*12);SetValue(id,"feet",feet);SetValue(id,"yards",feet/3);SetValue(id,"fathoms",feet/6);SetValue(id,"chains",feet/66);SetValue(id,"furlongs",feet/660);SetValue(id,"miles",feet/5280);SetValue(id,"nauticalmiles",feet/6076.11549);var km=feet/3280.8399;SetValue(id,"millimetres",km*1000000);SetValue(id,"centimetres",km*100000);SetValue(id,"metres",km*1000);SetValue(id,"kilometres",km);}
function Area(id,factor){var sqfeet=GetValue(id)*factor;SetValue(id,"sqinches",sqfeet*144);SetValue(id,"sqfeet",sqfeet);SetValue(id,"sqyards",sqfeet/9);SetValue(id,"acres",sqfeet/43560);SetValue(id,"hectares",sqfeet/107639.104);SetValue(id,"sqmiles",sqfeet/27878400);var km=sqfeet/10763910.4;SetValue(id,"sqmillimetres",km*1000000000000);SetValue(id,"sqcentimetres",km*10000000000);SetValue(id,"sqmetres",km*1000000);SetValue(id,"sqkilometres",km);}
function Weight(id,factor){var lb=GetValue(id)*factor;SetValue(id,"grams",lb*453.59237);SetValue(id,"kilograms",lb*0.45359237);SetValue(id,"tonnes",lb*0.00045359237);SetValue(id,"ounces",lb*16);SetValue(id,"pounds",lb);SetValue(id,"tonshort",lb/2000);SetValue(id,"tonlong",lb/2240);SetValue(id,"stone",lb/14);SetValue(id,"hundredweight",lb/112);}
function Volume(id,factor){var litre=GetValue(id)*factor;SetValue(id,"c3",litre*1000);SetValue(id,"litre",litre);SetValue(id,"m3",litre*0.001);SetValue(id,"fluidouncesuk",litre*35.1950652);SetValue(id,"pintsuk",litre*1.75975326);SetValue(id,"gallonsuk",litre*0.219969157);SetValue(id,"fluidouncesus",litre*33.8140226);SetValue(id,"pintsus",litre*2.11337641);SetValue(id,"gallonsus",litre*0.264172051);}
function Angle(id,factor){var d=GetValue(id)*factor;SetValue(id,"degrees",d);SetValue(id,"radians",d*3.14159265358979/180);SetValue(id,"mils",d*6400/360);}
function Speed(id,factor){var ms=GetValue(id)*factor;SetValue(id,"mps",ms);SetValue(id,"kph",ms*3.6);SetValue(id,"mph",ms*2.23693629);SetValue(id,"knots",ms*1.94384449);}
function Lp100k(){var l=GetValue("lpck");if(l!=0){SetValue("lpck","mpguk",282.481053149606/l);SetValue("lpck","mpgus",235.214584/l);}else{SetValue("lpck","mpguk",0);SetValue("lpck","mpgus",0);}}
function Mpguk(){var mpg=GetValue("mpguk");if(mpg!=0){var lpck=282.481053149606/mpg;SetValue("mpguk","lpck",lpck);SetValue("mpguk","mpgus",235.214584/lpck);}else{SetValue("mpguk","lpck",0);SetValue("mpguk","mpgus",0);}}
function Mpgus(){var mpg=GetValue("mpgus");if(mpg!=0){var lpck=235.214584/mpg;SetValue("mpgus","lpck",lpck);SetValue("mpgus","mpguk",282.481053149606/lpck);}else{SetValue("mpgus","lpck",0);SetValue("mpgus","mpgus",0);}}
function Pressure(id,factor){var p=GetValue(id)*factor;SetValue(id,"bar",p*0.0001);SetValue(id,"pascal",p);SetValue(id,"mmHg",p/133.322387415);SetValue(id,"atmospheres",p/101325);SetValue(id,"torr",p/133.322368421);SetValue(id,"psi",p*0.00014504);}
function Energy(id,factor){var j=GetValue(id)*factor;SetValue(id,"joule",j);SetValue(id,"calorie",j/4.1868);SetValue(id,"btu",j/1055.05585262);}
