<!-- Author: Brian Mackenzie -->
<!-- Date: 23rd April 2006 -->
<!-- Version: 1.0 -->
<!-- Function:  Calculate time for a distance using 3 given distances and times  -->
<!-- Required by: racecalc.htm -->
<!-- Copyright Brian Mackenzie 2006 -->

function calpoly3()
{
  var a5 = document.speed.dist1.value;
  var a6 = document.speed.dist2.value;
  var a7 = document.speed.dist3.value
  var b5 = document.speed.time1.value;
  var b6 = document.speed.time2.value;
  var b7 = document.speed.time3.value;
  var d5 = document.speed.dist4.value;

  a10=1;
  a11=1;
  a12=1;

  b10=a5;
  b11=a6;
  b12=a7;

  c10=b10*b10;
  c11=b11*b11;
  c12=b12*b12;

  d10=b5;
  d11=b6;
  d12=b7;

  a14=a10;
  a15=a11-a10;
  a16=a12-a10;

  b14=b10;
  b15=b11-b10;
  b16=b12-b10;

  c14=b14*b14;
  c15=c11-c10;
  c16=c12-c10;

  d14=d10;
  d15=d11-d10;
  d16=d12-d10;

  a18=1;
  a19=a15;
  a20=a16;

  b18=b14;
  b19=b15;
  b20=b16-(b16/b15)*b15;

  c18=c14;
  c19=c15;
  c20=c16-(b16/b15)*c15;

  d18=d14;
  d19=d15;
  d20=d16-(b16/b15)*d15;

  f20=d20/c20;
  f19=(d19-(f20*c19))/b19;
  f18=d18-(+f20*c18)-(+f19*b18);

  e5=f18+(d5*f19)+((d5*d5)*f20);

  document.speed.time4.value = nt2dp(e5,2);
}

function valclear3()
{
  document.speed.time4.value = "";
}

function nt2dp(num,dp)
{
<!-- rounds num to dp decimal places -->
  num=num*1+(0.55/Math.pow(10,dp));
  if (dp>0) dp=dp+1;
  b=Math.floor(num).toString().length+dp;
  return num.toString().substr(0,b);
}