window.onload=function(){

//FACTORS DE LONGITUD
document.forms[0].count = 9;  // cantidad de medidas
document.forms[0].rsize = 7;  // redondeo
document.forms[0].val1.factor = 1;            // mm-mm.
document.forms[0].val2.factor = 0.03937007874;  // mm-plg.
document.forms[0].val3.factor = 0.001;  // mm-m.
document.forms[0].val4.factor = 0.003280839895;  // mm-pie.
document.forms[0].val5.factor = 0.001093613298; //mm-yarda.
document.forms[0].val6.factor = 0.1; //mm-cm.
document.forms[0].val7.factor = 0.00000054; //mm-millas marinas.
document.forms[0].val8.factor = 0.000000621; //mm-millas terrestres.
document.forms[0].val9.factor = 0.000001; //mm to km. 

// FACTORS DE PES
document.forms[1].count = 8;
document.forms[1].rsize = 7;
document.forms[1].val1.factor = 1; // kg-kg
document.forms[1].val2.factor = 2.2046215; // kg-lb
document.forms[1].val3.factor = 1000; // kg-g
document.forms[1].val4.factor = 100; // kg-Dg
document.forms[1].val5.factor = 35.273962; // kg-Oz
document.forms[1].val6.factor = 1000000; // kg-mg
document.forms[1].val7.factor = 0.001; // kg-Tn
document.forms[1].val8.factor = 0.0009842519; // kg-Tm 

// FACTORS DE CAPACITAT VOLUM
document.forms[2].count = 10;
document.forms[2].rsize = 7;
document.forms[2].val1.factor = 1; // litros
document.forms[2].val2.factor = 33.81; // onzas
document.forms[2].val3.factor = 0.001;  // m3
document.forms[2].val4.factor = 1; // dm3
document.forms[2].val5.factor = 1000; // cm3
document.forms[2].val6.factor = 0.01; // hlt
document.forms[2].val7.factor = 1000; // ml
document.forms[2].val8.factor = 0.03531; // pie3
document.forms[2].val9.factor = 2.113; // pintas
document.forms[2].val10.factor = 0.2642; // galones
}

function convertform(form){
    var firstvalue = 0;
    for (var i = 1; i <= form.count; i++) {

       if (form.elements[i].value != null && form.elements[i].value.length != 0) {
          if (i == 1 && form.elements[2].value != "") return false;
          firstvalue = form.elements[i].value / form.elements[i].factor;
          break;
       }
    }
    if (firstvalue == 0) {
       clearform(form);
       return false;
    }
    for (var i = 1; i <= form.count; i++)
       form.elements[i].value = formatvalue((firstvalue * form.elements[i].factor), form.rsize);
    return true;
}
function formatvalue(input, rsize) {
   var invalid = "Err";
   var nines = "999999999999999999999999";
   var strin = "" + input;
   var fltin = parseFloat(strin);
   if (strin.length <= rsize) return strin;
    if (strin.indexOf("e") != -1 || fltin > parseFloat(nines.substring(0,rsize)+".4"))
      return invalid.substring(0, rsize);
   var rounded = "" + (fltin + (fltin - parseFloat(strin.substring(0, rsize))));
   return rounded.substring(0, rsize);
}
function resetform(form) {
    clearform(form);
    form[1].value = 1;
    convertform(form);
    return true;
}
function clearform(form) {
    for (var i = 1; i <= form.count; i++) form[i].value = "";
    return true;
}

