function init_page () {
  //  Disable all of the field options that we don't want enabled at the moment

  //  Make an array of all the field names we want to disable. We can only do this method because all the "names" are in fact unique. They're
  //  likely to stay unique too, being as the name is used with the PHP
  var toDisable = new Array ("sizeA", "sizeB", "sizeC", "sizeD", "sizeE", "returnSkirtMeasurement", "strapLength", "strapNumber",
                             "strapPosition", "handleDetail", "foldDetail");
                             
  textInputs = document.getElementsByTagName ('input');
  //  Go through each one and disable it, so long as it's a text input, and not called "radius"
  for (var i = 0, count = textInputs.length; i < count; i++) {
    //  Because IE doesn't support .indexOf, we have to pretty much rewrite .indexOf ourselves (in fact, performance wise, this'll be faster)
    for (var o = 0, countToDisable = toDisable.length; o < countToDisable; o++) {
      if (toDisable[o] == textInputs[i].getAttribute ('name') && textInputs[i].getAttribute ('type') == "text") textInputs[i].disabled = true;
    }
  }
}

function updateFieldAbled (whichField) {
  switch (whichField) {
    case "shapeSize":
      //  Nab all the inputs
      var inputs = document.getElementById('shapeSize').getElementsByTagName ('input');
      for (var i = 0, count = inputs.length; i < count; i++) {
        //  Find the value of the selected input
        if (inputs[i].getAttribute ('type') == "radio" && inputs[i].checked) {
          var selectedValue = inputs[i].getAttribute ('value');
        } else if (inputs[i].getAttribute ('type') == "text") {
          if ((inputs[i].getAttribute ('name') == "sizeA" || inputs[i].getAttribute ('name') == "sizeB") && (selectedValue == "Rectangle" || selectedValue == "Octagon")) {
            inputs[i].disabled = false;
		  } else if ((inputs[i].getAttribute ('name') == "sizeA" || inputs[i].getAttribute ('name') == "sizeB" || inputs[i].getAttribute ('name') == "sizeC" || inputs[i].getAttribute ('name') == "sizeD" || inputs[i].getAttribute ('name') == "sizeE") && (selectedValue == "One Cut Corner" || selectedValue == "Two Cut Corners")) {
            inputs[i].disabled = false;
          } else if ((inputs[i].getAttribute ('name') == "sizeA" || inputs[i].getAttribute ('name') == "sizeB" || inputs[i].getAttribute ('name') == "sizeC") && (selectedValue == "Hexagon" || selectedValue == "Cut Rectangle")) {
            inputs[i].disabled = false;
          } else if (inputs[i].getAttribute ('name') == "sizeA" && selectedValue == "Circular") {
            inputs[i].disabled = false;
          } else if (inputs[i].getAttribute ('name') != "radius") {
            inputs[i].disabled = true;
          }
        }
      }
    case "otherOptions":
      //  Check straps
      var strapsInputs1 = document.getElementById ('strapsDiv1');
      var strapsInputs = strapsInputs1.getElementsByTagName ('input');
      var straps = document.getElementById ('straps');
      for (var i = 0, count = strapsInputs.length; i < count; i++) {
        if (strapsInputs[i].getAttribute ('type') == "text") {
          if (straps.checked) {
            strapsInputs[i].disabled = false;
          } else {
            strapsInputs[i].disabled = true;
          }
        }
      }
	  
	  var returnSkirt = document.getElementById ('returnSkirt');
	  var returnSkirtMeasurement = document.getElementById ('returnSkirtMeasurement');
	  if (returnSkirt.checked) returnSkirtMeasurement.disabled = false; else returnSkirtMeasurement.disabled = true;
      
      var radioHandle = document.getElementById ('radioHandle1');
      var handleDetail = document.getElementById ('handleDetail1');
      if (radioHandle.checked) handleDetail.disabled = false; else handleDetail.disabled = true;
      
      var radioFold = document.getElementById ('radioFold1');
      var foldPosition = document.getElementById ('foldPosition1');
      if (radioFold.checked) foldPosition.disabled = false; else foldPosition.disabled = true;
  }
}