function calcwas(form,index)
  // converts water hardness, July 10, 2004
  // copyright Bernd Krueger, 2004-2006
{
  var mCapp  =  40.0780;      // molar mass Ca2+,  g/mol
  var mCaO   =  56.0774;      // molar mass CaO,   g/mol
  var mCaCO3 = 100.0872;      // molar mass CaCO3, g/mol
  var grain  = 6.479891e-2;   // g/grain  
  var galUS  = 3.785412;      // l/gal(US)
  var galUK  = 4.54609;       // l/gal(UK)

  if(index==-1) { v=form.storev.value; if(v==0) return; }
  if(index==0) v=parseFloat(form.mmol.value);                    // mmol/l (base)
  if(index==1) v=parseFloat(form.dhgr.value)/mCaO*10.;           // dH
  if(index==2) v=parseFloat(form.fhgr.value)/mCaCO3*10.;         // TH
  if(index==3) v=parseFloat(form.ehgr.value)/mCaCO3*grain/galUK*1000.; // e
  if(index==4) v=parseFloat(form.ppmm.value)/mCaCO3;             // ppm
  if(index==5) v=parseFloat(form.valk.value)/2;                  // mval/kg
  if(index==6) v=parseFloat(form.ggal.value)/mCaCO3*grain/galUS*1000.; // gr/gal
  if(index==7) v=parseFloat(form.mcao.value/mCaO);               // mg CaO/kg 
  if(index==8) v=parseFloat(form.caco.value/mCaCO3);             // mg CaCO3/kg
  if(index==9) v=parseFloat(form.capp.value/mCapp);              // mg Ca2+/kg
  form.storev.value=v;

  form.mmol.value=ausga(form,v);                      // mmol/l (base)
  form.dhgr.value=ausga(form,v*mCaO/10.);             // dH	   
  form.fhgr.value=ausga(form,v*mCaCO3/10.);           // TH	   
  form.ehgr.value=ausga(form,v*mCaCO3/grain*galUK/1000.);   // e
  form.ppmm.value=ausga(form,v*mCaCO3);               // ppm	   
  form.valk.value=ausga(form,v*2);                    // mval/kg   
  form.ggal.value=ausga(form,v*mCaCO3/grain*galUS/1000.);   // gr/gal(US)
  form.mcao.value=ausga(form,v*mCaO);                 // mg CaO/kg 
  form.caco.value=ausga(form,v*mCaCO3);               // mg CaCO3/kg
  form.capp.value=ausga(form,v*mCapp);                // mg Ca2+/kg
}
