function showPic(sel) {
//window.location.href = images[sel.selectedIndex+1];
}
// Database Variables
images = new Array("gratingno.gif","gratingno.gif","grating_150.gif","grating_300.gif","grating_600.gif","grating_1200.gif","grating_1800.gif","gratingno.gif","gratingno.gif")
pixelWidth =new Array(20,20,26,13.5,24,26,26,26,50,25,25);
chiplength=new Array(26.8,26.8,26.6,27.6,24.6,18,18,25,25.6,25.6);
horPixel=new Array(1340,1340,1024,2048,1024,1024,1024,1024,512,1024);
vertPixel=new Array(100,400,256,512,252,256,256,256,1,1);
res = new Array(2.5,2.5,2.5,2.5,2.5,3.6,3.1,3.5,2.5,2.5);
focal=new Array(150,300,306,500,750);
aperture =new Array(" f/4"," f/4"," f/3.9"," f/6.5"," f/9.7");
ebertangel=new Array(24.66,15.15,11.25,12.5,6.55);
gratingsize=new Array("32 x 32","68 x 68 std. 68 x 84 optional","68 x 68","68 x 68 std. 68 x 84 optional","68 x 68 std. 68 x 84 optional")
gratinglines=new Array(50,75,150,300,600,1200,1800,2400,3600)
data=0;

function swCamera() {
data=document.forms[1].Camera.selectedIndex;
document.forms[1].ccdPixelWidth.value  =pixelWidth[data];
document.forms[1].Chiplength.value  = chiplength[data];
document.forms[1].horPixel.value  = horPixel[data];
document.forms[1].vertPixel.value  = vertPixel[data];
document.forms[1].correction.value  = res[data];
calculateFocalLength();
}

function swMono() {
data=document.forms[1].Mono.selectedIndex;
document.forms[1].focallenght.value  = focal[data];
document.forms[1].aperture.value  = aperture[data];
document.forms[1].ebertangel.value = ebertangel[data];
document.forms[1].gratingsize.value  = gratingsize[data];
calculateFocalLength();}

function swGrating() {
data=document.forms[1].Grating.selectedIndex;
document.forms[1].gratinglines.value = gratinglines[data];
document.previewpic.src = images[data];

calculateFocalLength();}

function calculateFocalLength() {

//   Detector Data
wE = document.forms[1].ebertangel.value;
pW = document.forms[1].ccdPixelWidth.value;
cL = document.forms[1].Chiplength.value;
//   Spectrograph Data
fL = document.forms[1].focallenght.value;
rS = document.forms[1].correction.value; 
gL = document.forms[1].gratinglines.value;

//   Central Wavelength
cW = document.forms[1].centerwavelength.value;

//   Grating angle
A8 = (cW/1000*gL/2000)/Math.cos(wE* Math.PI/180);
C8 = Math.cos(wE*2/180*Math.PI); 
E8 = Math.asin(A8)*180/Math.PI;
document.forms[1].E8.value = Math.round(E8*100)/100 +" deg.";; 

//   Dispersion
F8a = Math.cos(Math.PI/180*(wE*1 + E8))*(1000000)/(gL*fL);
F8b = ( (1/cW) - (1/(parseFloat(cW) + parseFloat(F8a))) ) * 10000000;
document.forms[1].F8a.value = Math.round(F8a*100)/100 +" nm/mm";
document.forms[1].F8b.value = Math.round(F8b*100)/100 +" cm-1/mm";

//   CCD Coverage
CovA = F8a * ((cL)/1)
CovB = ((1/cW) - (1/(parseFloat(cW) + parseFloat(CovA))))*10000000;
document.forms[1].CoverageA.value = Math.round(CovA/1)+" nm";
document.forms[1].CoverageB.value = Math.round(CovB/1)+" cm-1";
BWPixelA = ((F8a/1000)*pW);
BWPixelB = ((1/cW) - (1/(parseFloat(cW) + parseFloat(BWPixelA))))*10000000;
document.forms[1].ResolutionA.value = Math.round(BWPixelA*1000)/1000 +" nm";
document.forms[1].ResolutionB.value = Math.round(BWPixelB*1000)/1000 +" cm-1";
CCDResA = (BWPixelA*rS);
CCDResB = ((1/cW) - (1/(parseFloat(cW) + parseFloat(CCDResA))))*10000000;
document.forms[1].ccdResolutionA.value = Math.round(CCDResA*1000)/1000 +" nm";
document.forms[1].ccdResolutionB.value = Math.round(CCDResB*1000)/1000 +" cm-1";
if ((A8 > 0.81) && (fL>100)) { document.forms[1].message.value ="Central wavelength too high"};
if (E8 < 29.9) { document.forms[1].message.value =""};
}
function setupPage() {
calculateFocalLength();
}