/*
Reg Standards Converter v1.1; Novermber 2007.
Copyright Vulture Central Standards Soviet.
(You don't want to rip off this code anyway. It's horible. You'd be much better off starting from scratch. MP)
*/

function roundNum(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function process_area(field) {
  var givenfield = field.name;
  var givenvalue = field.value.replace(/,/g, ''); //remove any commas
  var ValidChars = "0123456789.-";
  var IsNumber=true;
  for (i = 0; i < givenvalue.length && IsNumber == true; i++) {
    Char = givenvalue.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
  }
  if (!IsNumber) { alert('You need to specify a number for conversion!'); return false;} // alert and end of NaN.
  givenvalue=givenvalue-0; //force cast as a number


  var f = new Array();
  f["squaremile"] = 1;
  f["acre"] = 640;
  f["squareyard"] = 3098000;
  f["squarefoot"] = 27880000;
  f["squareinch"] = 4014000000;
  f["squarekilometre"] = 2.59;
  f["hectare"] = 259;
  f["squaremetre"] = 2590000;
  f["squarecentimetre"] = 25900000000;
  f["squaremillimetre"] = 2590000000000;
  f["nanowales"] = 1000000000 / 8022;
  f["microwales"] = 1000000 / 8022;
  f["milliwales"] = 1000 / 8022;
  f["wales"] = 1 / 8022;
  f["footballpitch"] = 639.38618
  f["belgium"] = 1 / 11787;
  f["congo"] = 1 / 908892.6;
  
  var d = f[givenfield];


  document.areaform.squaremile.value = roundNum(givenvalue * (f["squaremile"] / d),4);
  document.areaform.acre.value = roundNum(givenvalue * (f["acre"] / d),4);
  document.areaform.squareyard.value = roundNum(givenvalue * (f["squareyard"] / d),4);
  document.areaform.squarefoot.value = roundNum(givenvalue * (f["squarefoot"] / d),4);
  document.areaform.squareinch.value = roundNum(givenvalue * (f["squareinch"] / d),4);
  document.areaform.squarekilometre.value = roundNum(givenvalue * (f["squarekilometre"] / d),4);
  document.areaform.hectare.value = roundNum(givenvalue * (f["hectare"] / d),4);
  document.areaform.squaremetre.value = roundNum(givenvalue * (f["squaremetre"] / d),4);
  document.areaform.squarecentimetre.value = roundNum(givenvalue * (f["squarecentimetre"] / d),4);
  document.areaform.squaremillimetre.value = roundNum(givenvalue * (f["squaremillimetre"] / d),4);
  document.areaform.nanowales.value = roundNum(givenvalue * (f["nanowales"] / d),4);
  document.areaform.milliwales.value = roundNum(givenvalue * (f["milliwales"] / d),4);
  document.areaform.wales.value = roundNum(givenvalue * (f["wales"] / d),4);
  document.areaform.microwales.value = roundNum(givenvalue * (f["microwales"] / d),4);
  document.areaform.footballpitch.value = roundNum(givenvalue * (f["footballpitch"] / d),4);
  document.areaform.belgium.value = roundNum(givenvalue * (f["belgium"] / d),4);
  document.areaform.congo.value = roundNum(givenvalue * (f["congo"] / d),4);

}


function process_force(field) {
  var givenfield = field.name;
  var givenvalue = field.value.replace(/,/g, ''); //remove any commas
  var ValidChars = "0123456789.-";
  var IsNumber=true;
  for (i = 0; i < givenvalue.length && IsNumber == true; i++) {
    Char = givenvalue.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
  }
  if (!IsNumber) { alert('You need to specify a number for conversion!'); return false;} // alert and end of NaN.
  givenvalue=givenvalue-0; //force cast as a number


  var f = new Array();
  f["poundals"] = 723.3;
  f["newtons"] = 100;
  f["pof"] = 22.481;
  f["kof"] = 10.197;
  f["kn"] = 0.1;
  f["norris"] = 1;
  
  var d = f[givenfield];


  document.forceform.poundals.value = roundNum(givenvalue * (f["poundals"] / d),4);
  document.forceform.newtons.value = roundNum(givenvalue * (f["newtons"] / d),4);
  document.forceform.pof.value = roundNum(givenvalue * (f["pof"] / d),4);
  document.forceform.kof.value = roundNum(givenvalue * (f["kof"] / d),4);
  document.forceform.kn.value = roundNum(givenvalue * (f["kn"] / d),4);
  document.forceform.norris.value = roundNum(givenvalue * (f["norris"] / d),4);
}

function process_length(field) {
  var givenfield = field.name;
  var givenvalue = field.value.replace(/,/g, ''); //remove any commas
  var ValidChars = "0123456789.-";
  var IsNumber=true;
  for (i = 0; i < givenvalue.length && IsNumber == true; i++) {
    Char = givenvalue.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
  }
  if (!IsNumber) { alert('You need to specify a number for conversion!'); return false;} // alert and end if NaN.
  givenvalue=givenvalue-0; //force cast as a number


  var f = new Array();
  f["mile"] = 0.00008699;
  f["furlong"] = 0.0006959;
  f["yard"] = 0.1531;
  f["foot"] = 0.4593;
  f["inch"] = 5.512;
  f["kilometre"] = 0.00014;
  f["metre"] = 0.14;
  f["decimetre"] = 1.4;
  f["centimetre"] = 14;
  f["millimetre"] = 140;
  f["linguine"] = 1;
  f["ddb"] = 1 / 65.85;
  f["brontosaurus"] = 1 / 987.751;
  var d = f[givenfield];


  document.lengthform.mile.value = roundNum(givenvalue * (f["mile"] / d),4);
  document.lengthform.furlong.value = roundNum(givenvalue * (f["furlong"] / d),4);
  document.lengthform.yard.value = roundNum(givenvalue * (f["yard"] / d),4);
  document.lengthform.foot.value = roundNum(givenvalue * (f["foot"] / d),4);
  document.lengthform.inch.value = roundNum(givenvalue * (f["inch"] / d),4);
  document.lengthform.kilometre.value = roundNum(givenvalue * (f["kilometre"] / d),4);
  document.lengthform.metre.value = roundNum(givenvalue * (f["metre"] / d),4);
  document.lengthform.decimetre.value = roundNum(givenvalue * (f["decimetre"] / d),4);
  document.lengthform.centimetre.value = roundNum(givenvalue * (f["centimetre"] / d),4);
  document.lengthform.millimetre.value = roundNum(givenvalue * (f["millimetre"] / d),4);
  document.lengthform.linguine.value = roundNum(givenvalue * (f["linguine"] / d),4);
  document.lengthform.ddb.value = roundNum(givenvalue * (f["ddb"] / d),4);
  document.lengthform.brontosaurus.value = roundNum(givenvalue * (f["brontosaurus"] / d),4);
}

function process_temp(field) {
  var givenfield = field.name;
  var givenvalue = field.value.replace(/,/g, ''); //remove any commas
  var ValidChars = "0123456789.-";
  var IsNumber=true;
  for (i = 0; i < givenvalue.length && IsNumber == true; i++) {
    Char = givenvalue.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
  }
  if (!IsNumber) { alert('You need to specify a number for conversion!'); return false;} // alert and end if NaN.
  givenvalue=givenvalue-0; //force cast as a number


  if (givenfield=='df') {
	var c = ((5/9) * (givenvalue - 32));
    document.tempform.dc.value = roundNum(c,4);
	var h = ((c * 0.1) - 2);
    document.tempform.hilton.value = roundNum(h,4);
  }
  else if (givenfield=="dc") {
    document.tempform.df.value = roundNum((((9/5)*givenvalue) + 32),4);
    document.tempform.hilton.value = roundNum(((givenvalue * 0.1) - 2),4);
  }
  else if (givenfield=="hilton") {
	var c = ((givenvalue + 2) / 0.1);
    document.tempform.dc.value = roundNum(c,4);
	var f = (((9/5)*c) + 32);
	document.tempform.df.value = roundNum(f,4);

  }
}


function process_volume(field) {
  var givenfield = field.name;
  var givenvalue = field.value.replace(/,/g, ''); //remove any commas
  var ValidChars = "0123456789.-";
  var IsNumber=true;
  for (i = 0; i < givenvalue.length && IsNumber == true; i++) {
    Char = givenvalue.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
  }
  if (!IsNumber) { alert('You need to specify a number for conversion!'); return false;} // alert and end if NaN.
  givenvalue=givenvalue-0; //force cast as a number


  var f = new Array();
  f["cyard"] = 0.0006848;
  f["cfoot"] = 0.01849;
  f["cinch"] = 31.95;
  f["cmetre"] = 0.0005236;
  f["ccentimetre"] = 523.6;
  f["cmillimetre"] = 523600;
  f["walnut"] = 1 / 0.16;
  f["chickensegg"] = 1 / 0.35;
  f["grapefriut"] = 1;
  f["airbag"] = 1 / 1.1;
  f["funbag"] = 1 / 3.27;
  f["football"] = 1 / 11.07;
  f["swimmingpool"] = 1 / 4780114;
  var d = f[givenfield];


  document.volumeform.cyard.value = roundNum(givenvalue * (f["cyard"] / d),4);
  document.volumeform.cfoot.value = roundNum(givenvalue * (f["cfoot"] / d),4);
  document.volumeform.cinch.value = roundNum(givenvalue * (f["cinch"] / d),4);
  document.volumeform.cmetre.value = roundNum(givenvalue * (f["cmetre"] / d),4);
  document.volumeform.ccentimetre.value = roundNum(givenvalue * (f["ccentimetre"] / d),4);
  document.volumeform.cmillimetre.value = roundNum(givenvalue * (f["cmillimetre"] / d),4);
  document.volumeform.walnut.value = roundNum(givenvalue * (f["walnut"] / d),4);
  document.volumeform.chickensegg.value = roundNum(givenvalue * (f["chickensegg"] / d),4);
  document.volumeform.grapefriut.value = roundNum(givenvalue * (f["grapefriut"] / d),4);
  document.volumeform.airbag.value = roundNum(givenvalue * (f["airbag"] / d),4);
  document.volumeform.funbag.value = roundNum(givenvalue * (f["funbag"] / d),4);
  document.volumeform.football.value = roundNum(givenvalue * (f["football"] / d),4);
  document.volumeform.swimmingpool.value = roundNum(givenvalue * (f["swimmingpool"] / d),4);
}

function process_weight(field) {
  var givenfield = field.name;
  var givenvalue = field.value.replace(/,/g, ''); //remove any commas
  var ValidChars = "0123456789.-";
  var IsNumber=true;
  for (i = 0; i < givenvalue.length && IsNumber == true; i++) {
    Char = givenvalue.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
  }
  if (!IsNumber) { alert('You need to specify a number for conversion!'); return false;} // alert and end of NaN.
  givenvalue=givenvalue-0; //force cast as a number


  var f = new Array();
  f["hundredweightuk"] = 0.08267;
  f["hundredweightus"] = 0.09259;
  f["stone"] = 0.6614;
  f["pound"] = 9.259;
  f["ounce"] = 148.2;
  f["tonne"] = 0.0042;
  f["kilogram"] = 4.2;
  f["gram"] = 4200;
  f["centigram"] = 420000;
  f["milligram"] = 4200000;
  f["microjub"] = 1000000;
  f["millijub"] = 1000;
  f["jub"] = 1;
  f["kilojub"] = 0.001;
  var d = f[givenfield];


  document.weightform.hundredweightuk.value = roundNum(givenvalue * (f["hundredweightuk"] / d),4);
  document.weightform.hundredweightus.value = roundNum(givenvalue * (f["hundredweightus"] / d),4);
  document.weightform.stone.value = roundNum(givenvalue * (f["stone"] / d),4);
  document.weightform.pound.value = roundNum(givenvalue * (f["pound"] / d),4);
  document.weightform.ounce.value = roundNum(givenvalue * (f["ounce"] / d),4);
  document.weightform.tonne.value = roundNum(givenvalue * (f["tonne"] / d),4);
  document.weightform.kilogram.value = roundNum(givenvalue * (f["kilogram"] / d),4);
  document.weightform.gram.value = roundNum(givenvalue * (f["gram"] / d),4);
  document.weightform.centigram.value = roundNum(givenvalue * (f["centigram"] / d),4);
  document.weightform.milligram.value = roundNum(givenvalue * (f["milligram"] / d),4);
  document.weightform.microjub.value = roundNum(givenvalue * (f["microjub"] / d),4);
  document.weightform.millijub.value = roundNum(givenvalue * (f["millijub"] / d),4);
  document.weightform.jub.value = roundNum(givenvalue * (f["jub"] / d),4);
  document.weightform.kilojub.value = roundNum(givenvalue * (f["kilojub"] / d),4);
}

function process_sheep(field) {
  var givenfield = field.name;
  var givenvalue = field.value.replace(/,/g, ''); //remove any commas
  var ValidChars = "0123456789.-";
  var IsNumber=true;
  for (i = 0; i < givenvalue.length && IsNumber == true; i++) {
    Char = givenvalue.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) { IsNumber = false; }
  }
  if (!IsNumber) { alert('You need to specify a number for conversion!'); return false;} // alert and end of NaN.
  givenvalue=givenvalue-0; //force cast as a number


  var f = new Array();
  f["milesps"] = 1862.871;
  f["milesph"] = 6706335.6;
  f["feetps"] = 9835958;
  f["feetpm"] = 590157500;
  f["kps"] = 2998;
  f["mps"] = 2998000;
  f["kph"] = 10792800;
  f["mpm"] = 179880000;
  f["sheep"] = 100; 
  var d = f[givenfield];


  document.velocityform.milesps.value = roundNum(givenvalue * (f["milesps"] / d),4);
  document.velocityform.milesph.value = roundNum(givenvalue * (f["milesph"] / d),4);
  document.velocityform.feetps.value = roundNum(givenvalue * (f["feetps"] / d),4);
  document.velocityform.feetpm.value = roundNum(givenvalue * (f["feetpm"] / d),4);
  document.velocityform.kps.value = roundNum(givenvalue * (f["kps"] / d),4);
  document.velocityform.mps.value = roundNum(givenvalue * (f["mps"] / d),4);
  document.velocityform.kph.value = roundNum(givenvalue * (f["kph"] / d),4);
  document.velocityform.mpm.value = roundNum(givenvalue * (f["mpm"] / d),4);
  document.velocityform.sheep.value = roundNum(givenvalue * (f["sheep"] / d),4);
}
