﻿// JScript File
function formatvalue(input, rsize)
{
   var invalid = "**************************";
   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 ClearLengths()
{
    document.getElementById("centimeters").value = "";
    document.getElementById("millimeters").value = "";
    document.getElementById("meters").value = "";
    document.getElementById("inches").value = "";
    document.getElementById("feet").value = "";
    document.getElementById("yards").value = "";
}
function DoLengthConversion()
{
    var inVal = "";
    if(document.getElementById("centimeters").value != "")
        inVal = document.getElementById("centimeters").value / 1;
    else if(document.getElementById("millimeters").value != "")
        inVal = document.getElementById("millimeters").value / 10;
    else if(document.getElementById("meters").value != "")
        inVal = document.getElementById("meters").value / 0.01;
    else if(document.getElementById("inches").value != "")
        inVal = document.getElementById("inches").value / 0.3937007874;
    else if(document.getElementById("feet").value != "")
        inVal = document.getElementById("feet").value / 0.03280839895;
    else if(document.getElementById("yards").value != "")
        inVal = document.getElementById("yards").value / 0.01093613298;
        
    document.getElementById("centimeters").value = formatvalue(1 * inVal,7);
    document.getElementById("millimeters").value = formatvalue(10 * inVal,7);
    document.getElementById("meters").value = formatvalue(0.01 * inVal,7);
    document.getElementById("inches").value =   formatvalue(0.3937007874 * inVal,7);
    document.getElementById("feet").value = formatvalue(0.03280839895 * inVal,7);
    document.getElementById("yards").value = formatvalue(0.01093613298 * inVal,7);
}
function ClearWeights()
{
    document.getElementById("kilograms").value = "";
    document.getElementById("pounds").value = "";
    document.getElementById("tons").value = "";
}
function DoWeightConversion()
{
    var inVal = "";
    if(document.getElementById("kilograms").value != "")
        inVal = document.getElementById("kilograms").value / 1;
    else if(document.getElementById("pounds").value != "")
        inVal = document.getElementById("pounds").value / 2.2046215;
    else if(document.getElementById("tons").value != "")
        inVal = document.getElementById("tons").value / .00110231075;
        
    document.getElementById("kilograms").value = formatvalue(1 * inVal,6);
    document.getElementById("pounds").value = formatvalue(2.2046215 * inVal,6);
    document.getElementById("tons").value = formatvalue(.00110231075 * inVal,6);
}
function ClearPressures()
{
    document.getElementById("bar").value = "";
    document.getElementById("kgCm").value = "";
    document.getElementById("psi").value = "";
}
function DoPressureConversion()
{
    var inVal = "";
    if(document.getElementById("bar").value != "")
        inVal = document.getElementById("bar").value / 0.980665;
    else if(document.getElementById("kgCm").value != "")
        inVal = document.getElementById("kgCm").value / 1;
    else if(document.getElementById("psi").value != "")
        inVal = document.getElementById("psi").value / 14.22;
        
    document.getElementById("bar").value = formatvalue(0.980665 * inVal,6);
    document.getElementById("kgCm").value = formatvalue(1 * inVal,6);
    document.getElementById("psi").value = formatvalue(14.22 * inVal,6);
}

function ClearVolumes()
{
    document.getElementById("liters").value = "";
    document.getElementById("fluidOunces").value = "";
    document.getElementById("quarts").value = "";
    document.getElementById("gallons").value = "";
    document.getElementById("cubicFeet").value = "";
    document.getElementById("cubicYards").value = "";
    document.getElementById("cubicMeters").value = "";
}
function DoVolumeConversion()
{
    var inVal = "";
    if(document.getElementById("liters").value != "")
        inVal = document.getElementById("liters").value / 1;
    else if(document.getElementById("fluidOunces").value != "")
        inVal = document.getElementById("fluidOunces").value / 33.8239926;
    else if(document.getElementById("quarts").value != "")
        inVal = document.getElementById("quarts").value / 1.056998;
    else if(document.getElementById("gallons").value != "")
        inVal = document.getElementById("gallons").value / 0.2642499;
    else if(document.getElementById("cubicFeet").value != "")
        inVal = document.getElementById("cubicFeet").value / 0.03531466668878;
    else if(document.getElementById("cubicYards").value != "")
        inVal = document.getElementById("cubicYards").value / 0.001307950618103;
    else if(document.getElementById("cubicMeters").value != "")
        inVal = document.getElementById("cubicMeters").value / 0.001;
        
    document.getElementById("liters").value = formatvalue(1 * inVal,6);
    document.getElementById("fluidOunces").value = formatvalue(33.8239926 * inVal,6);
    document.getElementById("quarts").value = formatvalue(1.056998 * inVal,6);
    document.getElementById("gallons").value = formatvalue(0.2642499 * inVal,6);
    document.getElementById("cubicFeet").value = formatvalue(0.03531466668878 * inVal,6);
    document.getElementById("cubicYards").value = formatvalue(0.001307950618103 * inVal,6);
    document.getElementById("cubicMeters").value = formatvalue(0.001 * inVal,6);
}

/*
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 = "**************************";
   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;
}
function Measurement(UnitOfMeasure,factor)
{
    this.UOM = UnitOfMeasure;
    this.Factor = factor;
}
*/
