//list of the comopounds
clist=new Array("CO2","H2CO","H2CO2","BF3","NO2","NO2-","ClF3","NO3-","HNO3","CO3-","HCO3-","H2CO3","HCN","SO3","HSO3-","H2SO3","SO4-","HSO4-","H2SO4","Cl2CO","SCl2","SF2","SCl4","SF4","PF5","C2H6O","C2H4O","C2H2O","C2H6","C2H4","C2H2","C3H6","C3H4","CH5N","C2H7N","C2H5N","C2H3N","PO4-","HPO4-","H2PO4-","H3PO4","SF6","XeF2","XeF4","ClO2","ClO2-","HClO2","N2O","ClF5","BrF4-","BrF3","C2H4O2","C2H2O","CO","N2H4")
/*needed=whether a particular step is needed, 1=yes,0=no; 
sequence is
	central atom and + outlying with with octets
	extra electrons on central atom
	double bonds
	placement of hydrogens
	fine tuning to satisfy valence or minimize formal charge
*/
needed=new Array()
needed[0]="10000"
needed[1]="11000"
needed[2]="11100"
needed[3]="11110"
needed[4]="11111"
needed[5]="11011"
needed[6]="11001"
needed[7]="10100"
needed[8]="11010"
needed[9]="10110"
needed[10]="10001"
needed[11]="10011"
datalist=new Array()
datalist[0]=new Array("C",16,0,7,"CO2")
datalist[1]=new Array("C",12,2,3,"H2CO")
datalist[2]=new Array("C",18,2,3,"H2CO2")
datalist[3]=new Array("B",24,0,0,"BF3")
datalist[4]=new Array("N",17,0,2,"NO2")
datalist[5]=new Array("N",18,0,2,"NO2-")
datalist[6]=new Array("Cl",28,0,1,"ClF3")
datalist[7]=new Array("N",24,0,2,"NO3-")
datalist[8]=new Array("N",24,1,3,"HNO3")
datalist[9]=new Array("C",24,0,2,"CO3-2")
datalist[10]=new Array("C",24,1,3,"HCO3-")
datalist[11]=new Array("C",24,2,3,"H2CO3")
//datalist[12]=new Array("C",24,1,3,"HCN")
datalist[13]=new Array("S",26,0,2,"SO3")
datalist[14]=new Array("S",26,1,5,"HSO3-")
datalist[15]=new Array("S",26,2,5,"H2SO3")
datalist[16]=new Array("S",32,0,10,"SO4-2") 
datalist[17]=new Array("S",32,1,11,"HSO4-")
datalist[18]=new Array("S",32,2,11,"H2SO4")
datalist[19]=new Array("C",24,0,7,"Cl2CO")
datalist[20]=new Array("S",20,0,1,"SCl2")
datalist[21]=new Array("S",20,0,1,"SF2")
datalist[22]=new Array("S",34,0,1,"SCl4")
datalist[23]=new Array("S",34,0,1,"SF4")
datalist[24]=new Array("P",40,0,0,"PF5")
datalist[25]=new Array("C or O",20,6,8,"C2H6O")
datalist[26]=new Array("C",18,4,3,"C2H4O")
datalist[27]=new Array("C",16,2,9,"C2H2O")
datalist[28]=new Array("C",14,6,8,"C2H6")
datalist[29]=new Array("C",16,4,3,"C2H4")
datalist[30]=new Array("C",14,2,3,"C2H2")
datalist[31]=new Array("C",18,6,3,"C3H6")
datalist[32]=new Array("C",16,4,9,"C3H4")
datalist[33]=new Array("C",14,5,8,"CH5N")
datalist[34]=new Array("C or N",20,7,8,"C2H7N")
datalist[35]=new Array("C or N",18,5,3,"C2H5N")
datalist[36]=new Array("C",16,3,9,"C2H3N")
datalist[37]=new Array("P",32,0,10,"PO4-3")
datalist[38]=new Array("P",32,1,11,"HPO4-2")
datalist[39]=new Array("P",32,2,11,"H2PO4-")
datalist[40]=new Array("P",32,3,11,"H3PO4")
datalist[41]=new Array("S",48,0,0,"SF6")
datalist[42]=new Array("Xe",22,0,1,"XeF2")
datalist[43]=new Array("Xe",36,0,1,"XeF4")
datalist[44]=new Array("Cl",19,0,1,"ClO2")
datalist[45]=new Array("Cl",20,0,1,"ClO2-")
datalist[46]=new Array("Cl",20,1,8,"HClO2")
datalist[47]=new Array("N",16,0,7,"N2O")
datalist[48]=new Array("Cl",42,0,1,"ClF5")
datalist[49]=new Array("Br",36,0,1,"BrF4-")
datalist[50]=new Array("Br",28,0,1,"BrF3")
datalist[51]=new Array("C",24,4,9,"C2H4O2")
datalist[52]=new Array("C",16,2,9,"C2H2O")
datalist[53]=new Array("C",10,0,2,"CO")
datalist[54]=new Array("N",14,4,8,"N2H4")

thephrases=new Array("Position the outlying atoms around the central atom and fill their octets.","Additional electrons are placed on the central atom as pairs","Double bonds are added by converting outlying pairs into bonding pairs inorder to complete the octet on the central atom.","The Hs are placed to satisfy normal valence.", "As a final 'tuning', additional double bonds are added to decrease formal charges and/or fulfil normal valences.")
notneeded=new Array("","There are no additional electrons to place on the central atom.","The octet on the central atom is satisfied, so no double bonds are needed.","The compound has no Hs to place.","No additional changes are needed.")
thisbrowser=""
thequest=""
choice=0
n=-1

function whatbrowser(){
	if(document.layers)thisbrowser="NN4";
	if(document.all)thisbrowser="IE";
	if(!document.all && document.getElementById)thisbrowser="NN7";
	//cleanse()
	}
function showquest(whichstructure){
	if(thisbrowser=="IE"){
		qspot.innerHTML=whichstructure
		}
	else{
		if(thisbrowser=="NN4"){
		document.qspot.document.open()
		document.qspot.document.write(whichstructure)
		document.qspot.document.close()
		}
		else{
			document.getElementById("qspot").innerHTML=whichstructure
			}
		}
}
function showstructure(thequest){
	if(thisbrowser=="IE"){
		compoundspot.innerHTML=thequest
		}
	else{
		if(thisbrowser=="NN4"){
		document.compoundspot.document.open()
		document.compoundspot.document.write(thequest)
		document.compoundspot.document.close()
		}
		else{
			document.getElementById("compoundspot").innerHTML=thequest
			}
		}
}
function showphrases(thephrase){
	if(thisbrowser=="IE"){
		infospot.innerHTML=thephrase
		}
	else{
		if(thisbrowser=="NN4"){
		document.infospot.document.open()
		document.infospot.document.write(thephrase)
		document.infospot.document.close()
		}
		else{
			document.getElementById("infospot").innerHTML=thephrase
			}
		}
}
numstring="r0123456789"
function completeformula(x){
	thestring=x
	theformula=""
	addon=""
	if(thestring.charAt(thestring.length-2)=="-" || thestring.charAt(thestring.length-2)=="+"){
			addon="<sup><b>"
			for(j=thestring.length-1;j>thestring.length-3;j--)addon+=thestring.charAt(j);
			addon+="</b></sup>"
			stopat=thestring.length-2
	}
	else stopat=thestring.length;
	for(var j=0;j<stopat;j++){
	if(numstring.indexOf(thestring.charAt(j))>0)theformula+="<sub>"+thestring.charAt(j)+"</sub>";
	else{
		if(thestring.charAt(j)=="-" || thestring.charAt(j)=="+")theformula+="<sup><b>"+thestring.charAt(j)+"</b></sup>";
		else theformula+=thestring.charAt(j);	
	}}
	theformula+=addon
	return(theformula)
}
function clearcspot(){
	if(thisbrowser=="IE"){
		compoundspot.innerHTML=""
		}
	else{
		if(thisbrowser=="NN4"){
		document.compoundspot.document.open()
		document.compoundspot.document.write("")
		document.compoundspot.document.close()
		}
		else{
			document.getElementById("compoundspot").innerHTML=""
			}
		}
}
function clearqspot(){
	if(thisbrowser=="IE"){
		qspot.innerHTML=""
		}
	else{
		if(thisbrowser=="NN4"){
		document.qspot.document.open()
		document.qspot.document.write("")
		document.qspot.document.close()
		}
		else{
			document.getElementById("qspot").innerHTML=""
			}
		}
}
function clearinfospot(){
	if(thisbrowser=="IE"){
		infospot.innerHTML=""
		}
	else{
		if(thisbrowser=="NN4"){
		document.infospot.document.open()
		document.infospot.document.write("")
		document.infospot.document.close()
		}
		else{
			document.getElementById("infospot").innerHTML=""
			}
		}
}
