<!--
//(essencial)
function stopError() {
  return true;
}
window.onerror = stopError;

// Set cookie expiration date to a year from now
var expDate = new Date();                                   
expDate.setTime(expDate.getTime() + (1000 * 60 * 60 * 24 * 365));

var numDigs;
var curQuantity;
var quantities = new Array("Area", "Density", "Energy", "Force", "Length", "Mass", "Power", "Pressure", "Speed", "Temperature", "Volume");
var initializing = true;

function initialize(quantity){
  curQuantity = quantity;
  if (!initializing) setCookie("curQuantity", curQuantity);
  Convert();
}

function Convert(){
  with(parent.UC_text.document.ConvertForm){
    ValueTo.value = formatFloat(parseFloat(ValueFrom.value) * 
      parseFloat(UnitFrom.options[UnitFrom.selectedIndex].value) /
      parseFloat(UnitTo.options[UnitTo.selectedIndex].value), numDigs);
  }
}

function ConvertBack(){
  with(parent.UC_text.document.ConvertForm){
    ValueFrom.value = formatFloat(parseFloat(ValueTo.value) /
      parseFloat(UnitFrom.options[UnitFrom.selectedIndex].value) *
      parseFloat(UnitTo.options[UnitTo.selectedIndex].value), numDigs);
  }
}

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);
}

// Retrieve a cookie
function getCookie(name){
  var cname = name + "=";
  var dc = document.cookie;
  if (dc.length > 0) {
    begin = dc.indexOf(cname);
    if (begin != -1) {
      begin += cname.length;
      end = dc.indexOf(";", begin);
      if (end == -1) end = dc.length;
      return unescape(dc.substring(begin, end));
    }
  }
  return null;
}

// Save a cookie 
function setCookie(name, value) {
  document.cookie = name + "=" + escape(value) + "; path=/" +
    ((expDate == null) ? "" : "; expires=" + expDate.toGMTString());
}

function getNumDigs(){
  var numDigs = getCookie("UCNumDigs");
  if (numDigs != null) return parseInt(numDigs);
  else return 6;
}

function getUserQuantity(){
  var i;
  var returnQuantity;
  var cookieQuantity = getCookie("userQuantity");
  
  // Default value
  returnQuantity = "Length";

  // Check if valid cookie quantity exists
  if (cookieQuantity != null) {
    for (i = 0; i <= (quantities.length - 1); i++) {
      if (cookieQuantity == quantities[i]) returnQuantity = cookieQuantity;
    }
  }
  return returnQuantity;
}

function getUserQuantityIndex() {
  var i;
  var userQuantityIndex = -1;
  var userQuantity = getUserQuantity();

  for (i = 0; i <= (quantities.length -1); i++) {
      if (userQuantity == quantities[i]) userQuantityIndex = i;
  }
  return parseInt(userQuantityIndex);
}

function getDefaultQuantityMethod() {
  if (getCookie("defaultQuantityMethod") == "userDefined")
    return "userDefined";
  else return "remember";
}

function displayPage(URL)
{
  window.open(URL, "UC_text");
}

function loadOptions(){
  numDigs = getNumDigs();
  
  if (getDefaultQuantityMethod() == "userDefined")
    curQuantity = getUserQuantity();
  else curQuantity = getCookie("curQuantity");
  if (curQuantity == null) curQuantity = "Length";

  displayPage(curQuantity.toLowerCase() + ".htm");
  initializing = false;
}
// -->


