<!--

var gUnit;

function setUnitSelectOption(aElementName, aOptionIndex) {

  var lElement = document.forms['ConvertForm'].elements[aElementName];

  if ((aOptionIndex >= 0) && 
      (aOptionIndex < lElement.options.length)) {
      
    lElement.selectedIndex = aOptionIndex;
  }

}

//function formatFloat(number, X) {
// rounds number to X decimal places, default is 6

//  X = (!X ? 6 : X);

//  return Math.round(number * Math.pow(10,X)) / Math.pow(10,X);
//}

function formatFloat(number) {
 //rounds number to X decimal places, default is 6

  var X = 6;

  return Math.round(number * Math.pow(10,X)) / Math.pow(10,X);
}

 
function isNumeric(aText) {
  var ValidChars = "0123456789.";
 
  for (i = 0; i < aText.length; i++) { 
    if (ValidChars.indexOf(aText.charAt(i)) == -1) {
      return false;
    }
  }

  return true;   
}  
  
function InsertUnitSelector(aElementName, aDefaultIndex, aUnit) {
  var lString;
  
  setGUnit(aUnit);
  lString = '        <select class="calcinput" name="' + aElementName + '" size="1" onchange="javascript:Convert(this.form, '  + aUnit +  ')">'
  
  document.writeln(lString);

  for (i=0; i<gUnit.length; i++) {
 	var sOptions = '        <option class="calccontent" value="' + i + '"';
 	
 	if (i==aDefaultIndex)
 		sOptions += ' selected="selected" ';
 		
 	sOptions += '>' + gUnit[i][0] + '</option>';
    document.writeln(sOptions);
  }

  document.writeln('</select>');
}

function ConvertInternal(aFromUnitIndex, value, aToUnitIndex) {

  var lUnitFrom = gUnit[aFromUnitIndex];
  var lUnitTo   = gUnit[aToUnitIndex];;

  if (isNumeric(lUnitFrom[1])) {
    value = value * lUnitFrom[1];
  }
  else {
    value = eval(lUnitFrom[1]);
  }

  if (isNumeric(lUnitTo[1])) {
    value = value / lUnitTo[1];
  }
  else {
    value = eval(lUnitTo[2]);
  }

  return formatFloat(value);

}

function setGUnit(aUnitId) {	

	if (aUnitId == MASSID)
		gUnit = units_mass;
		
	if (aUnitId == LENGTHID)
		gUnit = units_length;	
		
	if (aUnitId == TEMPERATUREID)
		gUnit = units_temperature;		

}

function Convert(aForm, aUnit) {
  var lFromValue = parseFloat(aForm.ValueFrom.value);

  if (isNaN(lFromValue)) {
	aForm.ValueTo.value = '';
  }
  else {
  
  	setGUnit(aUnit);
	var lUnitFromIndex = aForm.UnitFrom.selectedIndex;
	var lUnitToIndex   = aForm.UnitTo.selectedIndex;

	aForm.ValueTo.value = ConvertInternal(lUnitFromIndex, lFromValue, lUnitToIndex);
  }
}

function ConvertBack(aForm, aUnit) {
    var lFromValue = parseFloat(aForm.ValueTo.value);

    if (isNaN(lFromValue)) {
      aForm.ValueFrom.value = '';
    }
    else {
      setGUnit(aUnit);
      var lUnitFromIndex = aForm.UnitTo.selectedIndex;
      var lUnitToIndex   = aForm.UnitFrom.selectedIndex;

      aForm.ValueFrom.value = ConvertInternal(lUnitFromIndex, lFromValue, lUnitToIndex);
    }
}

-->