//updated 11/14/00-added complete solution
thepage="Atomic Theory - Atomic Particles"
//updated 12/02/02-netscape 7
//globals
refnumber=10
attempts=0
whichset=0
totl=0
corrt=0
tried=0
theans=new Array()
theanswer=""
function cleanse(){
	clear()
	document.forms[0].total.value=0
	document.forms[0].correct.value=0
	}
function clear(){
	attempts=0
	tried=0
	document.forms[0].results.value=""
	clearansspot()
	}
function dataset(name,sym,an,i1,i2,i3){
	this.name=name
	this.sym=sym
	this.an=an
	this.i1=i1
	this.i2=i2
	this.i3=i3
}
atom=new Array();
atom[1]=new dataset("hydrogen","H",1,1,2,3)
atom[2]=new dataset("helium","He",2,3,4,6)
atom[3]=new dataset("lithium","Li",3,6,7,8)
atom[4]=new dataset("beryllium","Be",4,9,10,11)
atom[5]=new dataset("boron","B",5,8,10,11)
atom[6]=new dataset("carbon","C",6,12,13,14)
atom[7]=new dataset("nitrogen","N",7,14,15,16)
atom[8]=new dataset("oxygen","O",8,16,17,18)
atom[9]=new dataset("fluorine","F",9,17,18,19)
atom[10]=new dataset("neon","Ne",10,20,21,22)
atom[11]=new dataset("sodium","Na",11,22,23,24)
atom[12]=new dataset("magnesium","Mg",12,24,25,26)
atom[13]=new dataset("aluminum","Al",13,26,27,28)
atom[14]=new dataset("silicon","Si",14,28,29,30)
atom[15]=new dataset("phosphorous","P",15,30,31,32)
atom[16]=new dataset("sulfur","S",16,32,33,34)
atom[17]=new dataset("chlorine","Cl",17,35,36,37)
atom[18]=new dataset("argon","Ar",18,39,40,41)
atom[19]=new dataset("potassium","K",19,39,40,41)
atom[20]=new dataset("calcium","Ca",20,40,42,44)
atom[21]=new dataset("scandium","Sc",21,44,45,46)
atom[22]=new dataset("titanium","Ti",22,46,47,48)
atom[23]=new dataset("vanadium","V",23,50,51,52)
atom[24]=new dataset("chromium","Cr",24,52,53,54)
atom[25]=new dataset("manganese","Mn",25,54,55,56)
atom[26]=new dataset("iron","Fe",26,54,56,57)
atom[27]=new dataset("cobalt","Co",27,58,59,60)
atom[28]=new dataset("nickel","Ni",28,58,60,62)
atom[29]=new dataset("copper","Cu",29,63,64,65)
atom[30]=new dataset("zinc","Zn",30,64,66,68)
atom[31]=new dataset("gallium","Ga",31,69,70,71)
atom[32]=new dataset("germanium","Ge",32,70,72,74)
atom[33]=new dataset("arsenic","As",33,74,75,76)
atom[34]=new dataset("selenium","Se",34,76,78,80)
atom[35]=new dataset("bromine","Br",35,79,80,81)
atom[36]=new dataset("krypton","Kr",36,83,84,86)
atom[37]=new dataset("rubidium","Rb",37,85,86,87)
atom[38]=new dataset("strontium","Sr",38,86,87,88)
atom[39]=new dataset("yttrium","Y",39,88,89,90)
atom[40]=new dataset("zirconium","Zr",40,90,92,94)
atom[41]=new dataset("niobium","Nb",41,90,93,95)
atom[42]=new dataset("molybdenum","Mo",42,95,96,98)
atom[43]=new dataset("technetium","Tc",43,101,102,104)
atom[44]=new dataset("ruthenium","Ru",44,102,103,104)
atom[45]=new dataset("rhodium","Rh",45,103,105,108)
atom[46]=new dataset("palladium","Pd",46,105,106,108)
atom[47]=new dataset("silver","Ag",47,107,109,110)
atom[48]=new dataset("cadmium","Cd",48,112,113,114)
atom[49]=new dataset("indium","In",49,113,115,117)
atom[50]=new dataset("tin","Sn",50,116,118,120)
atom[51]=new dataset("antimony","Sb",51,121,123,125)
atom[52]=new dataset("tellurium","Te",52,126,128,130)
atom[53]=new dataset("iodine","I",53,126,127,128)
atom[54]=new dataset("xenon","Xe",54,129,131,132)
atom[55]=new dataset("cesium","Cs",55,132,133,136)
atom[56]=new dataset("barium","Ba",56,136,137,138)
atom[57]=new dataset("lanthanum","La",57,138,139,140)
atom[58]=new dataset("cerium","Ce",58,140,142,144)
atom[59]=new dataset("praseodymium","Pr",59,141,143,144)
atom[60]=new dataset("neodymium","Nd",60,142,144,145)
atom[61]=new dataset("promethium","Pm",61,147,148,150)
atom[62]=new dataset("samarium","Sm",62,149,152,154)
atom[63]=new dataset("europium","Eu",63,151,153,155)
atom[64]=new dataset("gadollinium","Gd",64,156,158,160)
atom[65]=new dataset("terbium","Tb",65,158,159,160)
atom[66]=new dataset("dysprosium","Dy",66,162,163,164)
atom[67]=new dataset("holmium","Ho",67,164,165,166)
atom[68]=new dataset("erbium","Er",68,166,167,168)
atom[69]=new dataset("thullum","Tm",69,168,169,170)
atom[70]=new dataset("ytterbium","Yb",70,172,173,174)
atom[71]=new dataset("lutetium","Lu",71,174,174,176)
atom[72]=new dataset("hafnium","Hf",72,178,179,180)
atom[73]=new dataset("tantalum","Ta",73,180,181,182)
atom[74]=new dataset("tungsten","W",74,183,184,186)
atom[75]=new dataset("rhenium","Re",75,185,186,187)
atom[76]=new dataset("osmium","Os",76,189,190,192)
atom[77]=new dataset("iridium","Ir",77,191,192,193)
atom[78]=new dataset("platinum","Pt",78,194,195,196)
atom[79]=new dataset("gold","Au",79,196,197,198)
atom[80]=new dataset("mercury","Hg",80,200,201,202)
atom[81]=new dataset("thallium","Tl",81,203,205,207)
atom[82]=new dataset("lead","Pb",82,206,207,208)
atom[83]=new dataset("bismuth","Bi",83,208,209,210)
atom[84]=new dataset("polonium","Po",84,209,210,211)
atom[85]=new dataset("astatine","At",85,211,212,213)
atom[86]=new dataset("radon","Rn",86,220,222,224)
atom[87]=new dataset("francium","Fr",87,221,223,225)  
atom[88]=new dataset("radium","Ra",88,225,226,228)
atom[89]=new dataset("actinium","Ac",89,227,228,229)
atom[90]=new dataset("thorium","Th",90,230,232,234)
atom[91]=new dataset("protactinium","Pa",91,234,236,237)
atom[92]=new dataset("uranium","U",92,235,238,240)
atom[93]=new dataset("neptunium","Np",93,238,240,241)
atom[94]=new dataset("plutonium","Pu",94,244,246,247)
atom[95]=new dataset("americium","Am",95,243,245,247)
atom[96]=new dataset("curium","Cm",96,245,248,250)
atom[97]=new dataset("berkelium","Bk",97,249,250,251)
atom[98]=new dataset("californium","Cf",98,250,253,254)
atom[99]=new dataset("einsteinum","Es",99,252,253.255)
atom[100]=new dataset("fermium","Fm",100,256,257,258)
atom[101]=new dataset("mendelevium","Md",101,256,257,258)
atom[102]=new dataset("nobelium","No",102,252,257,258)
atom[103]=new dataset("lawrencium","Lr",103,258,259,260)
function closeout(p1,p2,p3){
	this.p1=p1
	this.p2=p2
	this.p3=p3
}
thesets=new Array()
thesets[1]=new closeout(1,2,3)
thesets[2]=new closeout(1,2,4)
thesets[3]=new closeout(1,5,3)
thesets[4]=new closeout(1,5,4)
function startit(){
	clear()
	totl++
	document.forms[0].total.value=totl
	document.forms[0].results.value=""
	d=Math.ceil(103*Math.random())
	problem(d)
}
function problem(d){
	if(d<3)charge=Math.round(Math.random())
	else charge=Math.floor(4*Math.random())
	if(Math.random()>.5)charge=-1*charge	
	var isotope=Math.ceil(3*Math.random())
	mass=atom[d]['i'+isotope]
	display(d,charge,mass)
}
function display(d,charge,mass){
//the following passes all variables to table 1
	document.forms[0].elements[0].value=atom[d].sym
	document.forms[0].elements[1].value=atom[d].an
	document.forms[0].elements[2].value=mass
	document.forms[0].elements[3].value=charge
	document.forms[0].elements[4].value=atom[d].an-charge
	document.forms[0].elements[5].value=mass-atom[d].an
	buildanswer()	
	setproblem()
}
//clears a number of cells to set up the problem
function setproblem(){
	whichset=Math.ceil(4*Math.random())
	for(j=1;j<=3;j++){
		theans[j]=document.forms[0].elements[thesets[whichset]['p'+j]].value
		document.forms[0].elements[thesets[whichset]['p'+j]].value=""
	}
}
function answer(form){
	if(tried==1)alert("You've already done this one. Get a new problem!");
	else{
	if(tried==2){totl++;document.forms[0].total.value=totl}
	attempts++
	sum=0
	for(j=1;j<=3;j++){
		if(theans[j]==form.elements[thesets[whichset]['p'+j]].value)sum++;
	}
	if(sum==3){
		corrt++
		form.results.value="Correct"
		form.correct.value=corrt
		tried=1
	}
	else {
		form.results.value="Incorrect"
		tried=2
	}
	}
}
function buildanswer(){
	theanswer=atom[d].name+" has atomic number "+atom[d].an+" therefore it has "+atom[d].an+" protons<br> "
	theanswer=theanswer+"The sum of the protons and neutons is the mass number:"+atom[d].an+"+"+document.forms[0].sixth.value+"="+mass+"<br>"
	theanswer=theanswer+"protons minus electrons equals the charge:"+atom[d].an+"-"+document.forms[0].fifth.value+"="+charge
}