  function setupCustomSensor()
  {
    var apBox = document.getElementById("sensor");
    var msg = "Sensor size (mm)";
    var val = 35;

    var ap = prompt(msg, val);
    while(!parseInt(ap))
      ap = prompt(msg, val);
    
    var myNewOption = new Option(ap+"mm",ap);
    apBox.appendChild(myNewOption);
    myNewOption.selected = true;
  }
  
  function sensChange()
  {
    var opts = document.getElementById("sensor");
    if (findSelected(opts).value == "Custom")
        setupCustomSensor();
  }  
  
  function setupCustomAp()
  {
    var apBox = document.getElementById("ap");
    var msg = "Lens aperture";
    var val = 5.6;

    var ap = prompt(msg, val);
    while(!parseInt(ap))
      ap = prompt(msg, val);
    
    var myNewOption = new Option("f/"+ap,ap);
    apBox.appendChild(myNewOption);
    myNewOption.selected = true;
  }

  
  function apChange()
  {
    var opts = document.getElementById("ap");
    if (findSelected(opts).value == "Custom")
        setupCustomAp();
  }  
  
  function presetChangeDOF()
  {
    var ele = findSelected(document.forms[0].preset);
    var json = eval('('+(Base64.decode(ele.attributes['value'].nodeValue))+')');
    var size = json.size;
    var sEle = document.getElementById("sensor");
    var found = false;
    
    
    for(var i=0; i<sEle.length; i++)
      if(sEle[i].value == size)
      {
        sEle.selectedIndex = i;
        found = true;
      }

  }

