Liquids=new Array()


function isgas(mol){
  var s=MolInfo[mol].tref
  return (s.indexOf("(g)")>=0||s.indexOf("(g,")>=0)
}

function findLiqGas(){
 var i=0
 var mol=""
 if(Liquids.length==0){
	for(var mol in TData){
		i=mol.indexOf("(l)")
		if(i>=0)Liquids[Liquids.length]=mol.substring(0,i)
	}
 }
 while(1){
	mol=Liquids[rand(Liquids.length)]
	if(TData[mol+"(g)"])return mol	
 }
}

function anySubstance(likethis){
 var S=new Array()
 for(var mol in TData){
	if(mol.indexOf(likethis)>=0)S[S.length]=mol
 }
 var s=S[rand(S.length)]
 return s
}

function getSdata(mol){
  //swhat: So, Ho, Go
  mol=mol.replace(/ /g,"")
  if(!TData[mol]){
	alert("Thermodynamic data are not available for "+mol)
	return 0
  }
  return TData[mol]["So"]
}

function getFormula(mol){
 return (TData[mol]?TData[mol].formula:mol)
}

function getMW(mol){
 return MW(getFormula(mol))
}

function addTData(mol,H,S,G){
 var d=0
 if(mol=="")return

 mol=mol.replace(/ /g,"")
 var smol=molclean(mol)
 TData[mol]=new Array()
 ntdata++
 d=TData[mol].So=parseFloat(S)
 TData[mol].Sov="So_"+smol
 eval(TData[mol].Sov+"="+(isNaN(d)?"?":d))
 d=TData[mol].Ho=parseFloat(H)
 TData[mol].Hov="dHo_f_"+smol
 eval(TData[mol].Hov+"="+(isNaN(d)?"?":d))

 d=TData[mol].Go=parseFloat(G)
 TData[mol].Gov="dGo_f_"+smol
 eval(TData[mol].Gov+"="+(isNaN(d)?"?":d))
 smol=mol.substring(0,mol.lastIndexOf("("))
 TData[mol].formula=smol
 if(MolInfo[smol]){
	TData[mol].BDE=MolInfo[smol].BDE
	MolInfo[smol].tref=mol
 }
}

function molclean(mol){
 return mol.replace(/\(/g,"_").replace(/\)/g,"").replace(/\,/g,"")
}

TData=new Array()

addTData('Ag (s)','0','42.55','0')
addTData('Ag2CO3 (s)','-505.8','167.4','-436.8')
addTData('Ag2O (s)','-31.05','121.3','-11.2')
addTData('AgCl (s)','-127.068','96.2','-109.789')
addTData('AgBr (s)','-100.37','107.1','-96.9')
addTData('AgI (s)','-61.83','115.5','-66.19')
addTData('AgNO3 (s)','-124.39','140.92','-33.47')
addTData('','','','')
addTData('Al (s)','0','28.33','0')
addTData('AlCl3 (s)','-704.2','110.67','-628.8')
addTData('Al2O3 (s)','-1675.7','50.92','-1582.3')
addTData('','','','')
addTData('Ar (g)','0','154.843','0')
addTData('','','','')
addTData('B (s)','0','5.86','0')
addTData('BF3 (g)','-1137','254.01','-1120.35')
addTData('','','','')
addTData('Ba (s)','0','62.8','0')
addTData('BaCO3 (s)','-1216.3','112.1','-1137.6')
addTData('BaCl2 (s)','-858.6','123.68','-810.4')
addTData('BaO (s)','-553.5','70.42','-525.1')
addTData('BaSO4 (s)','-1473.2','132.2','-1362.2')
addTData('','','','')
addTData('Be (s)','0','9.5','0')
addTData('BeO (s)','-609.6','14.14','-580.3')
addTData('','','','')
addTData('Br (g)','111.88','174.91','82.429')
addTData('Br2 (l)','0','152.231','0')
addTData('Br2 (g)','30.907','245.463','3.11')
addTData('HBr (g)','-36.4','198.695','-53.45')
addTData('','','','')
addTData('C (s,graphite)','0','5.74','0')
addTData('C (s,diamond)','1.895','2.377','2.9')
addTData('C (g)','716.682','158.096','671.257')
addTData('CO (g)','-110.525','197.674','-137.168')
addTData('CO2 (g)','-393.509','213.74','-394.359')
addTData('COCl2 (g,phosgene)','-218.8','283.53','-204.6')
addTData('CH3Cl (g)','-80.83','234.58','-57.37')
addTData('CHCl3 (g)','-103.14','295.71','-70.34')
addTData('CCl4 (g)','-102.9','309.85','-60.59')
addTData('CCl4 (l)','-135.44','216.4','-65.27')
addTData('HCN (g)','135.1','201.78','124.7')
addTData('CH4 (g,methane)','-74.81','186.264','-50.72')
addTData('C2H2 (g,acetylene)','226.73','200.94','209.2')
addTData('','','','')
addTData('C2H4 (g,ethene)','52.25','219.45','68.12')
addTData('C2H6 (g,ethane)','-84.68','229.6','-32.82')
addTData('C3H8 (g,propane)','-103.8','269.9','-23.49')
addTData('C6H6 (l,benzene)','49.03','172.8','124.5')
addTData('CH3OH (g,methanol)','-200.66','239.7','-162')
addTData('CH3OH (l,methanol)','-238.66','126.8','-166.36')
addTData('C2H5OH (g,ethanol)','-235.1','282.7','-168.49')
addTData('C2H5OH (l,ethanol)','-277.69','160.7','-174.78')
addTData('','','','')
addTData('Ca (s)','0','41.42','0')
addTData('Ca (g)','178.2','158.884','144.3')
addTData('CaC2 (s)','-59.8','69.96','-64.9')
addTData('CaCO3 (s, calcite)','-1206.92','92.9','-1128.79')
addTData('CaCO3 (s, aragonite)','-1207.13','88.7','-1127.75')
addTData('CaCl2 (s)','-795.8','104.6','-748.1')
addTData('CaF2 (s)','-1219.6','68.87','-1167.3')
addTData('CaH2 (s)','-186.2','42','-147.2')
addTData('CaO (s)','-635.09','39.75','-604.03')
addTData('Ca(OH)2 (s)','-986.09','83.39','-898.49')
addTData('Ca(OH)2 (aq)','-1002.82','-74.5','-868.07')
addTData('CaSO4 (s)','-1434.11','106.7','-1321.79')
addTData('','','','')
addTData('Cl (g)','121.679','165.198','105.68')
addTData('Cl2 (g)','0','223.066','0')
addTData('ClO (g)','101.219','226.65','97.48')
addTData('ClO2 (g)','102.5','256.84','120.5')
addTData('','','','')
addTData('Cs (s)','0','85.23','0')
addTData('CsCl (s)','-443.04','101.17','-414.53')
addTData('','','','')
addTData('Cu (s)','0','33.15','0')
addTData('CuO (s,tenorite)','-157.3','42.63','-129.7')
addTData('Cu2O (s,cuprite)','-168.6','93.14','-146')
addTData('CuS (s,covellite)','-53.1','66.5','-53.6')
addTData('Cu2S (s,chalcocite)','-79.5','120.9','-86.2')
addTData('','','','')
addTData('F (g)','78.99','158.754','61.91')
addTData('F2 (g)','0','202.78','0')
addTData('HF (g)','-271.1','173.779','-273.2')
addTData('','','','')
addTData('Fe (s)','0','27.28','0')
addTData('FeCl2 (s)','-341.79','117.95','-302.3')
addTData('FeCl3 (s)','-399.49','142.3','-344')
addTData('Fe(CO)5 (l)','-774','338.1','-705.3')
addTData('Fe2O3 (s,hematite)','-824.2','87.4','-742.2')
addTData('Fe3O4 (s,magnetite)','-1118.4','146.4','-1015.4')
addTData('Fe(OH)3 (s)','-823','106.7','-696.5')
addTData('FeS2 (s,pyrite)','-178.2','52.93','-166.9')
addTData('','','','')
addTData('H (g)','217.965','114.713','203.247')
addTData('H2 (g)','0','130.684','0')
addTData('HF (g)','-271.1','173.779','-273.2')
addTData('HBr (g)','-36.4','198.695','-53.45')
addTData('HCl (g)','-92.307','186.908','-95.299')
addTData('HCN (g)','135.1','201.78','124.7')
addTData('HI (g)','26.48','206.594','1.7')
addTData('H2O (g)','-241.818','188.825','-228.572')
addTData('H2O (l)','-285.83','69.91','-237.129')
addTData('H2O2 (g)','-136.31','232.7','-105.57')
addTData('H2O2 (l)','-187.78','109.6','-120.35')
addTData('H2S (g)','-20.63','205.79','-33.56')
addTData('','','','')
addTData('He (g)','0','126.15','0')
addTData('','','','')
addTData('Hg (l)','0','76.02','0')
addTData('HgCl2 (s)','-224.3','146','-178.6')
addTData('Hg2Cl2 (s)','-265.22','192.5','-210.745')
addTData('HgO (s, red)','-90.83','70.29','-58.539')
addTData('HgS (s, red)','-58.2','82.4','-50.6')
addTData('HgS (s, black)','-53.6','88.3','-47.7')
addTData('Hg2SO4 (s)','-743.12','200.66','-625.815')
addTData('','','','')
addTData('I (g)  ','106.838','180.791','70.25')
addTData('I2 (s)','0','116.135','0')
addTData('I2 (g)','62.438','260.69','19.327')
addTData('ICl (g)','17.78','247.551','-5.46')
addTData('','','','')
addTData('K (s)','0','64.18','0')
addTData('K (g)','89.24','160.336','60.59')
addTData('KBr (s)','-393.798','95.9','-380.66')
addTData('KCl (s)','-436.747','82.59','-409.14')
addTData('KClO3 (s)','-397.73','143.1','-296.25')
addTData('KF (s)','-567.27','66.57','-537.75')
addTData('KI (s)','-327.9','106.32','-324.892')
addTData('KNO3 (s)','-494.63','133.05','-394.86')
addTData('KOH (s)','-424.764','78.7','-379.08')
addTData('','','','')
addTData('Mg (s)','0','32.68','0')
addTData('MgCl2 (s)','-641.32','89.62','-591.79')
addTData('MgCO3 (s,magnesite)','-1095.8','65.7','-1012.1')
addTData('MgF2 (s)','-1123.4','57.24','-1070.2')
addTData('MgO (s)','-601.7','26.94','-569.43')
addTData('Mg(OH)2 (s)','-924.54','63.18','-833.51')
addTData('MgS (s)','-346','50.33','-341.8')
addTData('','','','')
addTData('Mn (s,alpha)','0','32.01','0')
addTData('MnO2 (s)','-520.03','53.05','-465.14')
addTData('MnS (s, green)','-214.2','78.2','-218.4')
addTData('','','','')
addTData('N (g)','472.704','153.298','455.563')
addTData('N2 (g)','0','191.61','0')
addTData('NH3 (g)','-46.11','192.45','-16.45')
addTData('N2H4 (l)','50.63','121.21','149.34')
addTData('NH4Cl (s)','-314.43','94.6','-202.87')
addTData('NH4Cl (aq)','-299.66','169.9','-210.52')
addTData('NH4NO3 (s)','-365.56','151.08','-183.87')
addTData('NH4NO3 (aq)','-339.87','259.8','-190.56')
addTData('NO (g)','90.25','210.761','86.55')
addTData('NO2 (g)','33.18','240.06','51.31')
addTData('N2O (g)','82.05','219.85','104.2')
addTData('N2O4 (g)','9.16','304.29','97.89')
addTData('N2O4 (l)','-19.5','209.2','97.54')
addTData('NOCl (g)','51.71','261.69','66.08')
addTData('NOBr (g)','82.17','273.66','82.42')
addTData('','','','')
addTData('Na (s)','0','51.21','0')
addTData('Na (g)','107.32','153.712','76.761')
addTData('NaF (s)','-573.647','51.46','-543.494')
addTData('NaCl (s)','-411.153','72.13','-384.138')
addTData('NaCl (g)','-176.65','229.81','-196.66')
addTData('NaCl (aq)','-407.27','115.5','-393.133')
addTData('NaBr (s)','-361.062','86.82','-348.983')
addTData('NaI (s)','-287.78','98.53','-286.06')
addTData('Na2CO3 (s)','-1130.68','134.98','-1044.44')
addTData('NaNO2 (s)','-358.65','103.8','-284.55')
addTData('NaNO3 (s)','-467.85','116.52','-367')
addTData('NaOH (s)','-425.609','64.455','-379.494')
addTData('NaOH (aq)','-470.114','48.1','-419.15')
addTData('Na2O (s)','-414.22','75.06','-375.46')
addTData('','','','')
addTData('Ne (g)','0','146.328','0')
addTData('','','','')
addTData('Ni (s)','0','29.87','0')
addTData('NiCl2 (s)','-305.332','97.65','-259.032')
addTData('NiO (s)','-239.7','37.99','-211.7')
addTData('NiS (s)','-82','52.97','-79.5')
addTData('','','','')
addTData('O (g)','249.17','161.055','231.731')
addTData('O2 (g)','0','205.138','0')
addTData('O3 (ozone)','142.7','238.93','163.2')
addTData('','','','')
addTData('P (g)','314.64','163.193','278.25')
addTData('P4 (s,white)','0','164.36','0')
addTData('P4 (s,red)','-70.4','91.2','-48.4')
addTData('PH3 (g)','5.4','210.23','13.4')
addTData('PCl3 (g)','-287','311.78','-267.8')
addTData('PCl5 (g)','-360.18','364.21','-305')
addTData('P4O10 (s)','-2984','228.86','-2697.7')
addTData('H3PO4 (s)','-1279','110.5','-1119.1')
addTData('','','','')
addTData('Pb (g)','195','175.373','161.9')
addTData('Pb (s)','0','64.81','0')
addTData('PbBr2 (s)','-278.9','161.5','-261.92')
addTData('PbCl2 (s)','-359.41','-136','-314.1')
addTData('PbO (s,red)','-218.99','66.5','-189.93')
addTData('PbO (s,yellow)','-217.32','68.7','-187.89')
addTData('PbO2 (s)','-277.4','68.6','-217.33')
addTData('Pb3O4 (s)','-718.4','211.3','-601.2')
addTData('PbS (s,galena)','-100.4','91.2','-98.7')
addTData('PbSO4 (s)','-919.94','148.57','-813.14')
addTData('','','','')
addTData('S (s,rhombic)','0','31.8','0')
addTData('S (g)','278.805','167.821','238.25')
addTData('SF6 (g)','-1209','291.82','-1105.3')
addTData('SO2 (g)','-296.83','248.22','-300.194')
addTData('SO3 (g)','-395.72','256.76','-371.06')
addTData('SO3 (l)','-441.04','113.8','-373.75')
addTData('SO2Cl2 (g)','-364','311.94','-320')
addTData('H2SO4 (l)','-813.989','156.904','-690.003')
addTData('H2SO4 (aq)','-909.27','20.1','-744.53')
addTData('','','','')
addTData('Si (s)','0','18.83','0')
addTData('SiBr4 (l)','-457.3','277.8','-443.9')
addTData('SiC (s)','-65.3','16.61','-62.8')
addTData('SiCl4 (g)','-657.01','330.73','-616.98')
addTData('SiH4 (g)','34.3','204.62','56.9')
addTData('SiF4 (g)','-1614.94','282.49','-1572.65')
addTData('SiO2 (s,quartz)','-910.94','41.84','-856.64')
addTData('','','','')
addTData('Sn (s,white)','0','51.55','0')
addTData('Sn (s,gray)','-2.09','44.14','0.13')
addTData('SnCl4 (g)','-471.5','365.8','-432.2')
addTData('SnCl4 (l)','-511.3','258.6','-440.1')
addTData('SnO (s)','-285.8','56.5','-256.9')
addTData('SnO2 (s,cassiterite)','-580.7','52.3','-519.6')
addTData('SnS (s)','-100','77','-98.3')
addTData('','','','')
addTData('Ti (s)','0','30.63','0')
addTData('TiCl4 (g)','-763.2','354.9','-726.7')
addTData('TiCl4 (l)','-804.2','252.34','-737.2')
addTData('','','','')
addTData('Xe (g)','0','169.683','0')
addTData('','','','')
addTData('Zn (s)','0','41.63','0')
addTData('ZnCl2 (s)','-415.05','111.46','-369.398')
addTData('ZnO (s)','-348.28','43.64','-318.3')
addTData('ZnS (s, sphalerite)','-205.98','57.7','-201.29')

