//dof calculators written by john hendry info@johnhendry.com copyright sept 2001;
// <!--
var noclear=new Array('units','coc','custcoc','calculate','clearbutton','focusunits','focus2units','nfunits','nf2units','ffunits','ff2units');function clearinputs(curform){;count=curform.elements.length;for(var i=0;i<(count);i++){;x=curform.elements[i].name;clear='yes';for(var j=0;j<noclear.length;j++){;if(noclear[j]==x){;clear='no';};};if(clear=='yes'){;curform.elements[i].value='';};};if(curform.name=='hypercalc'){;curform.hyperfocal.value='???';curform.nf.value='???';}else if(curform.name=='nfcalc'){;curform.ff.value='???';curform.nf.value='???';curform.dof.value='???';}else{;curform.fstop.value='???';curform.focus.value='???';curform.dof.value='???';};};function checkvalid(curformelement,testinch){;curform=curformelement.value;if((event.keyCode>47&&event.keyCode<58)||event.keyCode==46){;if(event.keyCode==46){;len=curform.length;for(var i=0;i<len;i++){;var ch=curform.substring(i,i+1);if(ch=="."){;return false;};};};}else{;return false;};};function whipzero(curformelement,testinch){;curform=curformelement.value;firstchar=curform.substring(0,1);secondchar=curform.substring(1,2);len=curform.length;if(firstchar=="0"&&secondchar=="."&&len>1){;}else if(len>1&&firstchar=="0"){;curformelement.value=curform.substring(1,len);}else if(len>1&&firstchar=="."){;curformelement.value='0'+curform;};if(testinch==1&&curform>=12){;alert('The \'inches box\' cannot contain 12\nor more inches, as that is equal to or \nmore than a foot. \n\nIf you want to work in \'inches\' only\nplease select \'inches\' as your units.\n\nPlease re-enter the correct inches.');curformelement.value="";curformelement.focus();};};function round(number,X){;X=(!X?2:X);return Math.round(number*Math.pow(10,X))/Math.pow(10,X);};function setcoc(myform,indxno){;myform.coc[indxno].checked=true;};function testset(myform){;custcocentry=myform.custcoc.value;if(custcocentry>0){;}else{;setcoc(myform,0);myform.custcoc.value="";};};function clearcust(myform){;myform.custcoc.value="";};function clearcoc(myform,indxno){;if(myform.custcoc.value==""){;for(i=0;i<myform.coc.length;i++){;myform.coc[i].checked=false;};};};function setboxes(curform){;for(i=0;i<curform.units.length;i++){;if(curform.units[i].checked){;units=curform.units[i].value;};};if(curform.focus2){;if(units=='metres'){;curform.focus.value='';curform.focus2.value='';curform.focus2.style.visibility='hidden';curform.focus2units.style.visibility='hidden';curform.focusunits.value='m';}else if(units=='feet'){;curform.focus.value='';curform.focus2.value='';curform.focus2.style.visibility='hidden';curform.focus2units.style.visibility='hidden';curform.focusunits.value='ft';}else if(units=='inches'){;curform.focus.value='';curform.focus2.value='';curform.focus2.style.visibility='hidden';curform.focus2units.style.visibility='hidden';curform.focusunits.value='in';}else{;curform.focus.value='';curform.focus2.value='';curform.focus2.style.visibility='visible';curform.focus2units.style.visibility='visible';curform.focusunits.value='ft';curform.focus2units.value='in';};}else{;if(units=='metres'){;curform.nf.value='';curform.nf2.value='';curform.nf2.style.visibility='hidden';curform.nf2units.style.visibility='hidden';curform.nfunits.value='m';curform.ff.value='';curform.ff2.value='';curform.ff2.style.visibility='hidden';curform.ff2units.style.visibility='hidden';curform.ffunits.value='m';}else if(units=='feet'){;curform.nf.value='';curform.nf2.value='';curform.nf2.style.visibility='hidden';curform.nf2units.style.visibility='hidden';curform.nfunits.value='ft';curform.ff.value='';curform.ff2.value='';curform.ff2.style.visibility='hidden';curform.ff2units.style.visibility='hidden';curform.ffunits.value='ft';}else if(units=='inches'){;curform.nf.value='';curform.nf2.value='';curform.nf2.style.visibility='hidden';curform.nf2units.style.visibility='hidden';curform.nfunits.value='in';curform.ff.value='';curform.ff2.value='';curform.ff2.style.visibility='hidden';curform.ff2units.style.visibility='hidden';curform.ffunits.value='in';}else{;curform.nf.value='';curform.nf2.value='';curform.nf2.style.visibility='visible';curform.nf2units.style.visibility='visible';curform.nfunits.value='ft';curform.nf2units.value='in';curform.ff.value='';curform.ff2.value='';curform.ff2.style.visibility='visible';curform.ff2units.style.visibility='visible';curform.ffunits.value='ft';curform.ff2units.value='in';};};};function unitformat(curform,num,units){;if(units=='metres'){;num=round(num*0.001,2);output=num+' metres';}else if(units=='feet'){;num=round(num*0.0032808,2);output=num+' feet';}else if(units=='inches'){;num=round(num*0.0393696,2);output=num+' inches';}else{;inches=num*0.03937;feet=Math.floor(inches/12);decfeet=inches/12;inches=Math.round(12*(decfeet-feet));if(inches==12){;inches=0;feet=feet+1;};output=feet+' ft '+inches+' in';};return output;};function calchyper(curform){;var H,L,f,d;L=parseFloat(document.hypercalc.lens.value);f=parseFloat(document.hypercalc.fstop.value);if(document.hypercalc.custcoc.value!=""){;d=document.hypercalc.custcoc.value;}else{;for(i=0;i<document.hypercalc.coc.length;i++){;if(document.hypercalc.coc[i].checked){;d=document.hypercalc.coc[i].value;};};};errorflag=0;warning='You must enter the following:\n\n';if(document.hypercalc.lens.value==""||document.hypercalc.lens.value==0){;warning=warning+'The lens focal length.\n';errorflag=1;};if(document.hypercalc.fstop.value==""||document.hypercalc.fstop.value==0){;warning=warning+'The aperture f-stop.\n';errorflag=1;};if(errorflag==1){;document.hypercalc.hyperfocal.value='???';document.hypercalc.nf.value='???';alert(warning);}else{;for(i=0;i<document.hypercalc.units.length;i++){;if(document.hypercalc.units[i].checked){;units=document.hypercalc.units[i].value;};};H=((L*L)/(f*d));document.hypercalc.hyperfocal.value=unitformat(curform,H,units);document.hypercalc.nf.value=unitformat(curform,(H/2),units);};};function calcnffar(curform){;if(document.nfcalc.custcoc.value!=""){;d=document.nfcalc.custcoc.value;}else{;for(i=0;i<document.nfcalc.coc.length;i++){;if(document.nfcalc.coc[i].checked){;d=document.nfcalc.coc[i].value;};};};for(i=0;i<document.nfcalc.units.length;i++){;if(document.nfcalc.units[i].checked){;units=document.nfcalc.units[i].value;};};errorflag=0;warning='You must enter the following:\n\n';if(document.nfcalc.lens.value==""||document.nfcalc.lens.value==0){;warning=warning+'The lens focal length.\n';errorflag=1;};if(units=="metres"||units=="feet"||units=="inches"){;if(document.nfcalc.focus.value==""||document.nfcalc.focus.value==0){;warning=warning+'The lens focus distance.\n';errorflag=1;};}else{;if((document.nfcalc.focus.value=="")||(document.nfcalc.focus.value==0)){;if((document.nfcalc.focus2.value=="")||(document.nfcalc.focus2.value==0)){;warning=warning+'The lens focus distance.\n';errorflag=1;}else{;document.nfcalc.focus.value=0;};};if((document.nfcalc.focus.value=="")||(document.nfcalc.focus.value=="0")){;}else{;if((document.nfcalc.focus2.value=="")||(document.nfcalc.focus2.value==0)){;document.nfcalc.focus2.value=0;};};};if(document.nfcalc.fstop.value==""||document.nfcalc.fstop.value==0){;warning=warning+'The aperture f-stop.\n';errorflag=1;};if(errorflag==1){;document.nfcalc.nf.value='???';document.nfcalc.ff.value='???';document.nfcalc.dof.value='???';alert(warning);}else{;var H,L,f,d,e,NL,FL,DF;L=parseFloat(document.nfcalc.lens.value);f=parseFloat(document.nfcalc.fstop.value);if(units=='metres'){;e=parseFloat(document.nfcalc.focus.value)*1000;}else if(units=='feet'){;e=parseFloat(document.nfcalc.focus.value)*304.8;}else if(units=='inches'){;e=parseFloat(document.nfcalc.focus.value)*25.4;}else{;e=(parseFloat(document.nfcalc.focus.value)*304.8)+(parseFloat(document.nfcalc.focus2.value)*25.4);};H=(L*L)/(f*d);document.nfcalc.nf.value=unitformat(curform,(H*e)/(H+(e-L)),units);document.nfcalc.ff.value=unitformat(curform,(H*e)/(H-(e-L)),units);document.nfcalc.dof.value=unitformat(curform,((H*e)/(H-(e-L)))-((H*e)/(H+(e-L))),units);if(e>=H){;document.nfcalc.ff.value=" inf";document.nfcalc.dof.value=" inf";};};};function calcfocusfstop(){;if(document.ffcalc.custcoc.value!=""){;d=document.ffcalc.custcoc.value;}else{;for(i=0;i<document.ffcalc.coc.length;i++){;if(document.ffcalc.coc[i].checked){;d=document.ffcalc.coc[i].value;};};};for(i=0;i<document.ffcalc.units.length;i++){;if(document.ffcalc.units[i].checked){;units=document.ffcalc.units[i].value;};};errorflag=0;warning='You must enter the following:\n\n';if(document.ffcalc.lens.value==""){;warning=warning+'The lens focal length.\n';errorflag=1;};if(units=="metres"||units=="feet"||units=="inches"){;if(document.ffcalc.nf.value==""||document.ffcalc.nf.value==0){;warning=warning+'The near focus limit.\n';errorflag=1;};}else{;if((document.ffcalc.nf.value=="")||(document.ffcalc.nf.value==0)){;if((document.ffcalc.nf2.value=="")||(document.ffcalc.nf2.value==0)){;warning=warning+'The near focus limit.\n';errorflag=1;}else{;document.ffcalc.nf.value=0;};};if((document.ffcalc.nf.value=="")||(document.ffcalc.nf.value=="0")){;}else{;if((document.ffcalc.nf2.value=="")||(document.ffcalc.nf2.value==0)){;document.ffcalc.nf2.value=0;};};};if(units=="metres"||units=="feet"||units=="inches"){;if(document.ffcalc.ff.value==""||document.ffcalc.ff.value==0){;warning=warning+'The far focus limit.';errorflag=1;};}else{;if((document.ffcalc.ff.value=="")||(document.ffcalc.ff.value==0)){;if((document.ffcalc.ff2.value=="")||(document.ffcalc.ff2.value==0)){;warning=warning+'The far focus limit.';errorflag=1;}else{;document.ffcalc.ff.value=0;};};if((document.ffcalc.ff.value=="")||(document.ffcalc.ff.value=="0")){;}else{;if((document.ffcalc.ff2.value=="")||(document.ffcalc.ff2.value==0)){;document.ffcalc.ff2.value=0;};};};var H,L,f,d,e,NL,FL,DF;L=parseFloat(document.ffcalc.lens.value);if(units=='metres'){;NL=parseFloat(document.ffcalc.nf.value)*1000;FL=parseFloat(document.ffcalc.ff.value)*1000;}else if(units=='feet'){;NL=parseFloat(document.ffcalc.nf.value)*304.8;FL=parseFloat(document.ffcalc.ff.value)*304.8;}else if(units=='inches'){;NL=parseFloat(document.ffcalc.nf.value)*25.4;FL=parseFloat(document.ffcalc.ff.value)*25.4;}else{;NL=(parseFloat(document.ffcalc.nf.value)*304.8)+(parseFloat(document.ffcalc.nf2.value)*25.4);FL=(parseFloat(document.ffcalc.ff.value)*304.8)+(parseFloat(document.ffcalc.ff2.value)*25.4);};if(errorflag==1){;document.ffcalc.focus.value='???';document.ffcalc.fstop.value='???';document.ffcalc.dof.value='???';alert(warning);}else if(NL>=FL){;document.ffcalc.focus.value='???';document.ffcalc.fstop.value='???';document.ffcalc.dof.value='???';alert('The \'near focus limit\' must be smaller than the \'far focus limit\'.\nPlease correct the values.');}else{;H=((L/NL)+(L/FL)-2)/((1/FL)-(1/NL));f=(L*L)/(H*d);e=(H-L)/((H/NL)-1);document.ffcalc.focus.value=unitformat(curform,e,units);document.ffcalc.fstop.value=round(f,2);document.ffcalc.dof.value=unitformat(curform,(FL-NL),units);};};
// -->