
	// Below this point are the functions for the depth of field calculator

	function changeDepth() // user changed target distance
	{
  	var h = parseFloat(document.getElementById('Senheight').value);
  	var w = parseFloat(document.getElementById('Senwidth').value);
  	var l = parseFloat(document.getElementById('Lenlength').value);
  	var d = parseFloat(document.getElementById('Tardistance').value);
  	var f = parseFloat(document.getElementById('fStop').value);

		if (isNaN(h) || h <= 0)
		{
			alert(h + " is not a valid value for sensor height.");
			return;
		}
		if (isNaN(w) || w <= 0)
		{
			alert(w + " is not a valid value for sensor width.");
			return;
		}
		if (isNaN(l) || l <= 0)
		{
			alert(l + " is not a valid value for lens length.");
			return;
		}
		if (isNaN(d) || d <= 0)
		{
			alert(d + " is not a valid value for target distance.");
			return;
		}
		if (isNaN(f) || f <= 0)
		{
			alert(f + " is not a valid value for f/Stop setting.");
			return;
		}
		var a = (((l*l)/(f*(Math.sqrt((w*w)+(h*h))/1730)))+l);
		var b = (d*304.8);

		var near = ((a*b/(a+b))/304.8);
		var far = ((a*b/(a-b))/304.8);
		var obj = d * 1;
		
		document.getElementById('near').innerHTML = near.toFixed(2);
		document.getElementById('targ').innerHTML = obj.toFixed(2);
		if (far <= 0) document.getElementById('far').innerHTML = "inf."
		else document.getElementById('far').innerHTML = far.toFixed(2);
	}

	function resetDepth() // user clicked the reset button
	{
  	document.getElementById('Senheight').value = 15.8;
  	document.getElementById('Senwidth').value = 23.6;
  	document.getElementById('Lenlength').value = 28;
  	document.getElementById('Tardistance').value = 10;
  	document.getElementById('fStop').value = 4.5;
  	changeDepth();
	}
