
// CED subroutine for cleaning up JavaScript rounding errors 
// to any reasonable number of decimal places 5/5/1997 last mod 2/19/2004
// round for decimal of (value of precision) places, default is 3
// This routine can be used to pass a number and a number for precision
// or just a number only, that is to be rounded to a set number of decimal
// places. This routine supports leading and training zeros, leading and
// trailing spaces, and padding. To prevent errors, pass variables as a string.

function perRound(num, precision) {
	var precision = 3; //default value if not passed from caller, change if desired
	// remark if passed from caller
	precision = parseInt(precision); // make certain the decimal precision is an integer
    var result1 = num * Math.pow(10, precision);
    var result2 = Math.round(result1);
    var result3 = result2 / Math.pow(10, precision);
    return zerosPad(result3, precision);
}

function zerosPad(rndVal, decPlaces) {
    var valStrg = rndVal.toString(); // Convert the number to a string
    var decLoc = valStrg.indexOf("."); // Locate the decimal point
    // check for a decimal 
    if (decLoc == -1) {
        decPartLen = 0; // If no decimal, then all decimal places will be padded with 0s
        // If decPlaces is greater than zero, add a decimal point
        valStrg += decPlaces > 0 ? "." : "";
    }
    else {
        decPartLen = valStrg.length - decLoc - 1; // If there is a decimal already, only the needed decimal places will be padded with 0s
    }
     var totalPad = decPlaces - decPartLen;    // Calculate the number of decimal places that need to be padded with 0s
    if (totalPad > 0) {
        // Pad the string with 0s
        for (var cntrVal = 1; cntrVal <= totalPad; cntrVal++) 
            valStrg += "0";
        }
    return valStrg;
}
// send the value in as "num" in a variable

// clears field of default value
function clear_field(field) {
		if (field.value==field.defaultValue) {
			field.value=''
		}
	}

function vAntenna() {
  var x = 468; // feet - 142.6464 meters
  var y = document.typev.freq.value;
  var i = document.typev.unit.selectedIndex;
  var factor = eval(document.typev.unit.options[i].value);
  var result=x / y;
  var result=result * (factor);
  var meters=(result) * (0.3048);
  var rdmeters=perRound(meters);
  var ft=Math.floor(result);
  var var1=result - ft;
  var var2= var1 * 12;
  var inch= Math.floor(var2);
  var var3= var2 - inch;
  if (var3 <= .03125) sifr = "1/32"
  else if ((var3 > .03125) && (var3 <=.0625)) sifr= "1/16"
  else if ((var3 > .0625) && (var3 <=.09375)) sifr = "3/32"
  else if ((var3 > .09375) && (var3 <=.125)) sifr= "1/8"
  else if ((var3 > .125) && (var3 <=.15625)) sifr= "5/32"
  else if ((var3 > .15625) && (var3 <=.1875)) sifr= "3/16"
  else if ((var3 > .1875) && (var3 <=.21875)) sifr= "7/32"
  else if ((var3 > .21875) && (var3 <=.25)) sifr="1/4"
  else if ((var3 > .25) && (var3 <=.28125)) sifr="9/32"
  else if ((var3 > .28125) && (var3 <=.3125)) sifr="5/16"
  else if ((var3 > .3125) && (var3 <=.34375)) sifr="11/32"
  else if ((var3 > .34375) && (var3 <=.375)) sifr="3/8"
  else if ((var3 > .375) && (var3 <=.40625)) sifr="13/32"
  else if ((var3 > .40625) && (var3 <=.4375)) sifr="7/16"
  else if ((var3 > .4375) && (var3 <=.46875)) sifr="15/32"
  else if ((var3 > .46875) && (var3 <=.5)) sifr="1/2"
  else if ((var3 > .5) && (var3 <=.53125)) sifr="17/32"
  else if ((var3 > .53125) && (var3 <=.5625)) sifr="9/16"
  else if ((var3 > .5625) && (var3 <=.59375)) sifr="19/32"
  else if ((var3 > .59375) && (var3 <=.625)) sifr="5/8"
  else if ((var3 > .625) && (var3 <=.65625)) sifr="21/32"
  else if ((var3 > .65625) && (var3 <=.6875)) sifr="11/16"
  else if ((var3 > .6875) && (var3 <=.71875)) sifr="23/32"
  else if ((var3 > .71875) && (var3 <=.75)) sifr="3/4"
  else if ((var3 > .75) && (var3 <=.78125)) sifr="25/32"
  else if ((var3 > .78125) && (var3 <=.8125)) sifr="13/16"
  else if ((var3 > .8125) && (var3 <=.84375)) sifr="27/32"
  else if ((var3 > .84375) && (var3 <=.875)) sifr="7/8"
  else if ((var3 > .875) && (var3 <=.90625)) sifr="29/32"
  else if ((var3 > .90625) && (var3 <=.9375)) sifr="15/16"
  else if (var3 > .9375) sifr="31/32";

  var vertlen = (ft + "ft. " + inch + " - " + sifr +"in." + " or " + rdmeters + " M")
  document.typev.cvl.value = vertlen;
}