function zaokruzi(ebroj) {

	decimala=parseFloat(10);
	var strbroj = ebroj + " ";
	if (strbroj.charAt(0) == ".") {strbroj = "0" + strbroj};
	var intbroj = strbroj.length - 1;
	deczarez(strbroj);

	if (intbroj > 16 && eksp == -1) {
		if (decimala == -1) {decimala = 14};
		strbroj = izazareza(strbroj.substring(0,intbroj)) + " ";
		intbroj = strbroj.length - 1;
		deczarez(strbroj)
	}

	if (decimala >= 0 && decimala != 14) {
		if (tocka > 0) {
			var odgovor = izazareza(strbroj.substring(0,intbroj))
		}
		else {
			ebroj = strbroj.substring(0,intbroj);
			if (decimala > 0) {
				ebroj += ".";
				for (var n = 0; n < decimala; n++) {
					ebroj += "0"
				}
			}
			var odgovor = ebroj
		}
	}
	else {
		decimala = 14;
		var odgovor = izazareza(strbroj)
	}

	if (odgovor.charAt(0) == ".") {odgovor = "0" + odgovor};

	document.form1.rezultat.value = odgovor;
	document.form1.calculate_result.value=odgovor;
}
function deczarez(novibroj) {
	tocka = 0;
	eksp = 0;

	tocka = novibroj.indexOf(".");
	eksp = novibroj.indexOf("e")
}
function izazareza(novibroj) {
 with (Math) {

	if (eksp == -1) {
		var duzina = tocka;
		if (duzina == -1) {duzina = novibroj.length};
		var desni = "";

		if (duzina > 16) {
			var privremeni = round(novibroj*pow(10, 18)) + " ";
			var novie = privremeni.indexOf("e");
			var lijevi = (privremeni.substring(0,novie));

			lijevi = round(lijevi*pow(10, 15))/pow(10, 15) + " ";
			desni = (privremeni.substring(novie+2,privremeni.length-1));
			desni = "e+" + (desni-18)
		}
		else {
			var lijevi = round(novibroj*pow(10, decimala))/pow(10, decimala) + " "
		}
	}
	else {
		var lijevi = novibroj.substring(0,eksp);
		var desni = novibroj.substring(eksp,novibroj.length);

		lijevi = round(lijevi*pow(10, decimala))/pow(10, decimala) + " "
	}

	lijevi = lijevi.substring(0,lijevi.length - 1);

	if (lijevi.charAt(0) == ".") {lijevi = "0" + lijevi};

	if (decimala < 14) {
		if (lijevi.indexOf(".") == -1 && decimala != 0) {lijevi += "."};
		var nula = (tocka + decimala) - (lijevi.length - 1);
		if (nula > 0 && decimala > 0) {
			for (var n = 0; n < nula; n++) {
				lijevi += "0"
			}
		}
	}

	return (lijevi + " " + desni)
 }
}
function ubacirezultat(znak) {
	var ubacirezultat="*/+";
	for (var i=0; i<ubacirezultat.length; i++)
		if (znak == ubacirezultat.charAt(i)) {return true}
	return false
}
function izracunaj(zarez) {
	var pitanje = "";
	var mem = 0;

	if (zarez >= 1) {
		if (document.form1.zadatak.value == "") {
			broj = document.form1.rezultat.value
		}
		else {
	    	broj = document.form1.zadatak.value;
			if (ubacirezultat(broj.charAt(0))) {
				broj = document.form1.rezultat.value + broj
			}
		}
	}

	for (var i=0; i<broj.length; i++) {
		if (slovo(broj.charAt(i))) {var kem = 1};
		if (broj.charAt(i) == ",") {pitanje += "."}
		else if (broj.charAt(i) == " ") {}
		else {pitanje += broj.charAt(i)}
	}

	if (operator(broj.charAt(broj.length-1))) {return false};

	if (zarez == 1) {
		//document.form1.notes.value += pitanje + enter;
		if (kem == 1) {
			var atom = "+" + pitanje;
			pitanje = masa(atom)
		}
		else {
			pitanje = eval("1*" + pitanje)
		}
	}
	else if (zarez > 1) {
		pitanje = eval("1*" + pitanje);
		pitanje = matematika(zarez, pitanje)
	}

	document.form1.oldrezultat.value = pitanje;

	zaokruzi(pitanje);

	document.form1.zadatak.value = "";
}
function masa(atom) {
 with (Math) {
 	var atominfo = false
	var mm=""
	var mmdn=""
	var mmup=""
	var znak=""
	var izraz=""
	var H=1.00794
	var He=4.002602
	var Li=6.941
	var Be=9.012182
	var B=10.811
	var C=12.0107
	var N=14.0067
	var O=15.9994
	var F=18.9984032
	var Ne=20.1797
	var Na=22.98977
	var Mg=24.305
	var Al=26.981538
	var Si=28.0855
	var P=30.973761
	var S=32.065
	var Cl=35.453
	var Ar=39.948
	var K=39.0983
	var Ca=40.078
	var Sc=44.95591
	var Ti=47.867
	var V=50.9415
	var Cr=51.9961
	var Mn=54.938049
	var Fe=55.845
	var Co=58.9332
	var Ni=58.6934
	var Cu=63.546
	var Zn=65.39
	var Ga=69.723
	var Ge=72.64
	var As=74.9216
	var Se=78.96
	var Br=79.904
	var Kr=83.8
	var Rb=85.4678
	var Sr=87.62
	var Y=88.90585
	var Zr=91.224
	var Nb=92.90638
	var Mo=95.94
	var Tc=98
	var Ru=101.07
	var Rh=102.9055
	var Pd=106.42
	var Ag=107.8682
	var Cd=112.411
	var In=114.818
	var Sn=118.71
	var Sb=121.76
	var Te=127.6
	var I=126.90447
	var Xe=131.293
	var Cs=132.90545
	var Ba=137.327
	var La=138.9055
	var Ce=140.116
	var Pr=140.90765
	var Nd=144.24
	var Pm=145
	var Sm=150.36
	var Eu=151.964
	var Gd=157.25
	var Tb=158.92534
	var Dy=162.5
	var Ho=164.93032
	var Er=167.259
	var Tm=168.93421
	var Yb=173.04
	var Lu=174.967
	var Hf=178.49
	var Ta=180.9479
	var W=183.84
	var Re=186.207
	var Os=190.23
	var Ir=192.217
	var Pt=195.078
	var Au=196.96655
	var Hg=200.59
	var Tl=204.3833
	var Pb=207.2
	var Bi=208.98038
	var Po=209
	var At=210
	var Rn=222
	var Fr=223
	var Ra=226
	var Ac=227
	var Th=232.0381
	var Pa=231.03588
	var U=238.02891
	var Np=237
	var Pu=244
	var Am=243
	var Cm=247
	var Bk=247
	var Cf=251
	var Es=252
	var Fm=257
	var Md=258
	var No=259
	var Lr=262
	var Pi=3.141592653589793;
	
	for (var i=0; i<atom.length; i++) {
		mm = atom.charAt(i)
		mmup = atom.charAt(i+1)
		bigup=mm.toUpperCase()
		mmdn = atom.charAt(i-1);

		if (mm == "[") {mm = "("}
		else if (mm == "]") {mm = ")"}
		else if (mm == ",") {mm = "."}

		if (slovo(mm)) {atominfo = true};
		if (matoperator(mm)) {atominfo = false; znak=""};
		if (atominfo) {
			if (matoperator(mmup)) {znak=")"}
			if (matoperator(mmdn)) {izraz += "(" + mm + znak}
			else if (mmdn=="(") {izraz += mm + znak}
			else if (mmdn=="[") {izraz += mm + znak}
			else if (slovo(mm)) {izraz += "+" + mm + znak}
			else if (BrojAtoma(mmdn)) {izraz += mm + znak}
			else if (BrojAtoma(mm)) {izraz += "*" + mm + znak}
			else {izraz += mm + znak}
		}
		else {izraz += mm}
	}
	odgovor = eval(izraz);
	return odgovor
 }
}

function slovo(znak) {
	var slovo="(ABCDEFGHIKLMNOPRSTUVWXYZ";
	for (var i=0; i<slovo.length; i++)
		if (znak == slovo.charAt(i)) {return true} {return false}
}


function operator(znak) {
	var matoperator="*/+-";
	for (var i=0; i<matoperator.length; i++)
		if (znak == matoperator.charAt(i)) {return true}
	return false
}
function fn_reset_calculate(o){
	o.calculate_result.value="";
	o.zadatak.value=0;
}

