var fact = new Array(15)

function factfla()
  // conversion factors for area units
  // copyright Bernd Krueger, 2007-2009
{
  var m_in = 2.54e-2;         // metre per international inch (exact, NIST)
  var m_ft = 3.048e-1;        // metre per international foot (exact, NIST)
  var m_yd = 9.144e-1;        // metre per international yard (exact, NIST)
  var m_mi = 1.609344e3;      // metre per international mile (exact, NIST)
  var m_rod = 19800./3937.;   // metre per rod, US surv. (exact)
  var m_mis = 6336000./3937.; // metre per US surv. mile (exact)
 
  fact[0]  = 1.0;              // m2
  fact[1]  = 1.0e-4;           // cm2
  fact[2]  = 1.0e6;            // km2
  fact[3]  = 100.;             // ar
  fact[4]  = 1.0e4;            // hek
  fact[5]  = 1.0e-28;          // ba
  fact[6]  = m_in*m_in;        // sq in (int.)
  fact[7]  = m_ft*m_ft;        // sq ft (int.)
  fact[8]  = m_yd*m_yd;        // sq yd (int.)
  fact[9]  = m_mi*m_mi;        // sq mi (int.)
  fact[10] = 40.*m_rod*m_rod;  // rood (US surv.)
  fact[11] = 160.*m_rod*m_rod; // acre (US surv.)
  fact[12] = m_mis*m_mis;      // sq mi (US surv.)
  fact[13] = m_in*m_in*Math.PI/4.;    // circular inch (int.)
  fact[14] = m_in*m_in*Math.PI/4.0e6; // circular mil (int.)
  return;
}
function calcfla(form,index)
  // converts area units (Vers. 2), Jun. 24, 2007
  // copyright Bernd Krueger, 2007-2009
{
  factfla();
  if(index==-1) { v=form.storev.value; if(v==0) return; }
  else {
    v=parseFloat(form[index].value)*fact[index];
  }
  form.storev.value=v;
  for (i = 0; i < 15; i++)
  {
    form[i].value = ausga(form,v/fact[i]);
  }
  return;
}
