// HIDE

function openWin(url, width, height) {         
          windowName  = "buttons";
          params      = "toolbar=0,";
          params     += "location=0,";
          params     += "directories=0,";
          params     += "status=0,";
          params     += "menubar=0,";
          params     += "scrollbars=1,";
          params     += "resizable=1,";
          params     += "top=50,";
          params     += "left=50,";

          params += "width="+width+",";
          params += "height="+height;

          win = window.open(url, windowName, params);
          win.opener.name = "opener";
}

function nullFunction(){
}

function upcase(check){
	var upcase="ABCDEFGHIJKLMNOPQRSTUVWXYZ(";
	for (var i=0; i<upcase.length; i++)
		if (check == upcase.charAt(i)) {return true;}
	return false;
}

function digit(check){
	var digit="1234567890";
	for (var i=0; i<digit.length; i++)
		if (check == digit.charAt(i)) {return true;}
	return false;
}

function operate(check){
	var operate="*/+-[]";
	for (var i=0; i<operate.length; i++)
		if (check == operate.charAt(i)) {return true;}
	if (check == "") {return true;}
	if (check == null) {return true;}
	return false;
}

function docalc(formula){
	var H=1.008
	var He=4.003
	var Li=6.941
	var Be=9.012
	var B=10.81
	var C=12.01
	var N=14.01
	var O=16.00
	var F=19.00
	var Ne=20.18
	var Na=22.99
	var Mg=24.30
	var Al=26.98
	var Si=28.09
	var P=30.97
	var S=32.07
	var Cl=35.45
	var Ar=39.95
	var K=39.10
	var Ca=40.08
	var Sc=44.96
	var Ti=47.88
	var V=50.94
	var Cr=52.00
	var Mn=54.94
	var Fe=55.85
	var Co=58.93
	var Ni=58.69
	var Cu=63.55
	var Zn=65.39
	var Ga=69.72
	var Ge=72.61
	var As=74.92
	var Se=78.96
	var Br=79.90
	var Kr=83.80
	var Rb=85.47
	var Sr=87.62
	var Y=88.91
	var Zr=91.22
	var Nb=92.91
	var Mo=95.94
	var Tc=98.91
	var Ru=101.1
	var Rh=102.9
	var Pd=106.4
	var Ag=107.9
	var Cd=112.4
	var In=114.8
	var Sn=118.7
	var Sb=121.8
	var Te=127.6
	var I=126.9
	var Xe=131.3
	var Cs=132.9
	var Ba=137.3
	var La=138.9
	var Ce=140.1
	var Pr=140.9
	var Nd=144.2
	var Pm=144.9
	var Sm=150.4
	var Eu=152.0
	var Gd=157.2
	var Tb=158.9
	var Dy=162.5
	var Ho=164.9
	var Er=167.3
	var Tm=168.9
	var Yb=173.0
	var Lu=175.0
	var Hf=178.5
	var Ta=180.9
	var W=183.8
	var Re=186.2
	var Os=190.2
	var Ir=192.2
	var Pt=195.1
	var Au=197.0
	var Hg=200.6
	var Tl=204.4
	var Pb=207.2
	var Bi=209.0
	var Po=210.0
	var At=210.0
	var Rn=222.0
	var Fr=223.0
	var Ra=226.0
	var Ac=227.0
	var Th=232.0
	var Pa=231.0
	var U=238.0
	var Np=237.0
	var Pu=244.0
	var Am=243.0
	var Cm=247.0
	var Bk=247.0
	var Cf=251.0
	var Es=252.0
	var Fm=257.0
	var Md=258.0
	var No=259.0
	var Lr=260.0
	var R=8.314510 
	var c=2.998e8
	var h=6.6260755e-34
	var cal=4.184
	var k = 1.380658e-23
	var na=6.0221367e23
	var E=1.60217733e-19
	var f=9.6485309e4
	var mp=1.6726231e-27
	var me=9.1093897e-31
	var amu=1.660574e-27
	var formulainfo = false
	var parcap=""
	var newformula="";
	for (var i=0; i<formula.length; i++){
		if (upcase(formula.charAt(i))) {formulainfo = true}
		if (operate(formula.charAt(i))) {formulainfo = false; parcap=""}
		if (formulainfo){
			if (operate(formula.charAt(i+1))) {parcap=")"}
			if (i==0) {newformula += "(" + formula.charAt(i) + parcap; continue}
			if (operate(formula.charAt(i-1))) {newformula += "(" + formula.charAt(i) + parcap}
			else if (formula.charAt(i-1)=="(") {newformula += formula.charAt(i) + parcap}
			else if (upcase(formula.charAt(i))) {newformula += "+" + formula.charAt(i) + parcap}
			else if (digit(formula.charAt(i-1))) {newformula += formula.charAt(i) + parcap}
			else if (digit(formula.charAt(i))) {newformula += "*" + formula.charAt(i) + parcap}
			else {newformula += formula.charAt(i) + parcap}
		}
		else{
			if (formula.charAt(i)=="[") {newformula += "("}
			else if (formula.charAt(i)=="]") {newformula += ")"}
			else {newformula += formula.charAt(i)}
		}
	}
	return eval(newformula);
}

function roundnum(num, decs){
	var str = "" + Math.round (eval(num) * Math.pow(10, decs))
	while (str.length <= decs){
		str= "0" + str
	}
	var decpoint = str.length - decs
	return str.substring(0, decpoint) + "." + str.substring(decpoint, str.length)
}

function update(field){
	var formula = field.value;
	if (formula != ""){
		var output =  docalc(formula);
		field.value = output;
	}
	else {field.value = ""}
}

function entryError(){
	document.inputForm.input.value = "Entry Error"
	return true
}

// STOP HIDE
