// Database Variables Version 1 X-RAYCALC 11.01.08 W.Pfanhauser
nPixel = new Array("1340 x 100","1340 x 400","2048 x 512","1024 x 1024","2048 x 2048","1340 x 1300","1340 x 1300","1340 x 1300","2048 x 2048","1340 x 1300","1340 x 1300", " ");
pixelSize =new Array("20 x 20","20 x 20","13.5 x 13.5","13 x 13","13.5 x 13.5","20 x 20", "20 x 20", "20 x 20","13.5 x 13.5","20 x 20","20 x 20"," "  );
ccdTemp = new Array(-80,-75,-70,-75,-65,-55,-110,-45,-45,-45,-110,"");
readNoiseK = new Array(2.5,2.5,3.5,3,3,3,3,3.5,4,5,5,"");
readNoise1M = new Array(13,13,12,12,10,12,13,10,10,8,8, "");
readNoise2M = new Array(13,13,12,12,10,12,13,15,10,8,8, "");
readNoiseKHC = new Array(2.5,3.5,2.5,3,3.5,3,5,5,"");
readNoiseMHC = new Array(12,13,12,12,13,12,13,18,20,22,22, "");
gainln = new Array(1,2,4);
gainhc = new Array(4,8,16);
gainE = new Array(3,6,12);
data=0;

function swCamera() {
data=document.forms[0].Camera.selectedIndex;
document.forms[0].ccdpixelSize.value  =pixelSize[data] + " µ";
document.forms[0].nPixel.value  = nPixel[data];
document.forms[0].ccdTemp.value  = ccdTemp[data]+ " °C";
document.forms[0].readNoiseK.value = readNoiseK[data];
document.forms[0].readNoise1M.value = readNoise1M[data];
document.forms[0].readNoise2M.value = readNoise2M[data];
calculate();}

function swSpeed() {
data=document.forms[0].Speed.selectedIndex;
calculate();}

// Sel. Amplifer
function swAmplifier() {
data=document.forms[0].Amplifier.selectedIndex;
calculate();}           

// Sel.Gain1
function swGain1() {
data = document.forms[0].Gain1.selectedIndex;
document.forms[0].gainln.value = gainln[data];
document.forms[0].gainhc.value = gainhc[data];
document.forms[0].gainE.value = gainE[data];
calculate();}       

function calculate() {

//   Detector Data
SN1 = document.forms[0].gainln.value;
pS = document.forms[0].ccdpixelSize.value;
pA = document.forms[0].electrons.value;
nP = document.forms[0].nPixel.value;
dT = document.forms[0].ccdTemp.value;
rnK = document.forms[0].readNoiseK.value;
rn1M = document.forms[0].readNoise1M.value;
rn2M =  document.forms[0].readNoise2M.value;
cI = document.forms[0].Camera.selectedIndex;
sS = document.forms[0].Speed.selectedIndex;

//   XeV 
XeV = document.forms[0].Energy.value ;
document.forms[0].electrons.value = parseInt(XeV/3.65);

// Readout noise at 1 KHz, 1MHz or 2MHz
if (sS == 0) { document.forms[0].readNoise.value = rnK} 
if (sS == 1) { document.forms[0].readNoise.value = rn1M} 
if (sS == 2) { document.forms[0].readNoise.value = rn2M} 

//Total dark noise, e-/eff.pixel
document.forms[0].Resolution.value = Math.round (2.35 * Math.sqrt(((0.12)*(XeV/3.65))+ document.forms[0].readNoise.value * document.forms[0].readNoise.value)*365)/100 + " eV";

// X-ray Energy
Er = document.forms[0].Resolution.value;

// Supported 2 MHZ speed
if (cI==0&& sS == 0 ||cI==0&& sS == 2 ||cI==1&& sS == 0 ||cI==1&& sS == 2 ||cI==2&& sS == 0 ||cI==2&& sS == 2 ||cI==3&& sS == 0 ||cI==3&& sS == 2 ||cI==4&& sS == 0 ||cI==4&& sS == 2 ||cI==5&& sS == 0 ||cI==5&& sS == 2 ||cI==7&& sS == 2 ||cI==11&& sS == 1  ){ document.forms[0].message.value = "Select CCD readout rate";document.forms[0].Resolution.value = Er };
// 2 MHZ not supported
if (cI==5&& sS == 2 ||cI==6&& sS == 2 ||cI==8 && sS == 2 ||cI==9 && sS == 2 ||cI==10 && sS == 2 ){ document.forms[0].message.value = "2 MHz is not supported";document.forms[0].Resolution.value= "Na"};
// 1 MHZ not supported
if (cI==0&&sS==1||cI==1&&sS==1||cI==2&&sS==1||cI==3&&sS==1 ||cI==4&&sS==1||cI==5&&sS==1 ){ document.forms[0].message.value = "1 MHz is not supported";document.forms[0].Resolution.value= "Na"};
// 1 MHZ  supported
if (cI==5&&sS==1 ||cI==6&&sS==1||cI==7&&sS==1||cI==8&&sS==1||cI==9&&sS==1 ||cI==10&&sS==1){ document.forms[0].message.value = "Select CCD readout rate";document.forms[0].Resolution.value= Er};


}
function setupPage() {
calculate();}
