var talalat = 0;
var dbhuz = 0;
var dbhuzmax = 1000000;
var rnszamok = new Array (10);
var lszamok = new Array (10);
var ltalalat = new Array (11);
var talmin = new Array (11);
var talmax = new Array (11);
var szamok = new Array (100);
var modg = false;
var checknum = '1234567890';
var checkspace = ' ';
var elemx = new Array (7);
var eio = 0;
var ei = 0;
var sTime = new Date();
var sorszam = 1;
function postform() {
	document.getElementById("post_form").submit();
}
function newa() {
	document.getElementById("txt_form").lxtsimstart.disabled = 'disabled';		
	document.getElementById("txt_form").lxtsimstop.disabled = '';
	document.getElementById("txt_form").lxtsimnext.disabled = 'disabled';
	document.getElementById("txt_form").lxtsimrestart.disabled = 'disabled';
}
function newb(l) {
	document.getElementById("post_form").elements["gt"].disabled = l;
	document.getElementById("post_form").elements["l"].disabled = l;
	document.getElementById("post_form").elements["m0"].disabled = l;
	document.getElementById("post_form").elements["m1"].disabled = l;
	document.getElementById("post_form").elements["h"].disabled = l;
	document.getElementById("post_form").elements["lsza"].disabled = l;
	document.getElementById("post_form").elements["bsza"].disabled = l;
}
function newc(x) {
	for (i=1; i <= (elemx[0]); i++) {
		document.getElementById("txt_form").elements[i].disabled = '';
	}
	for (i=elemx[0]; i <=elemx[6]; i++) {
		document.getElementById("txt_form").elements[i].value = '';
	}
	for (i=elemx[6]; i <= (elemx[6]+dbstatszam+1); i++) {
		document.getElementById("txt_form").elements[i].value = '';
	}
	for (i=(elemx[6]+dbstatszam+3); i <= (elemx[6]+(dbstatszam*2)+2); i++) {
		document.getElementById("txt_form").elements[i].value = '';
	}
	document.getElementById("simspeed").innerHTML = '';
	document.getElementById("simspeed2").innerHTML = '';
	document.getElementById("txt_form").sorszambp.disabled = 'disabled';
	document.getElementById("txt_form").sorszambm.disabled = 'disabled';
	document.getElementById("txt_form").lxtsimstart.disabled = '';
	document.getElementById("txt_form").lxtsimstop.disabled = 'disabled';
	document.getElementById("txt_form").lxtsimnext.disabled = 'disabled';
	document.getElementById("txt_form").lxtsimrestart.disabled = 'disabled';
}
function newd(x) {
	lxtsim_end(x);
	newb("");
}
function lxtsimrng(x,lmax) {
	for (i=0; i < x; i++) {
		do {
			logg = false;
			r = Math.floor(Math.random()*lmax+1);
			for (j=0; j <= i; j++) if (rnszamok[j] == r) logg = true;
		} while (logg);
		rnszamok[i] = r;
	}
}
function lxtsimrngwrite(x,lmax) {
	for (i=0; i < x; i++) document.getElementById("txt_form").elements[i+1].value = rnszamok[i];
	if (modlog) {
		lxtsimrng(x,lmax);
		for (i=0; i < x; i++) document.getElementById("txt_form").elements[i+x+1].value = rnszamok[i];
	}
}
function lxtsim_start(x,lmax) {
	if (!modg)  {
		elemx[0] = (x+x+2);
		elemx[1] = (elemx[0]);
		elemx[2] = (elemx[1] + x + 2);
		elemx[3] = (elemx[2] + x + 2);
		elemx[4] = (elemx[3] + x + 2);
		elemx[5] = (elemx[4] + x + 2);
		elemx[6] = (elemx[5] + x);
		for (i=0; i < x; i++) {
			lszamok[i] = document.getElementById("txt_form").elements[i+1].value;
			if (modlog) lszamok[i+x] = document.getElementById("txt_form").elements[i+x+1].value;
		}
		if ((document.getElementById("post_form").h.value == '') || (document.getElementById("post_form").h.value == 0)) document.getElementById("post_form").h.value = 1000000;
		dbhuzmax = document.getElementById("post_form").h.value;
		for (j=0; j < dbhuzmax.length; j++) {
			if (checknum.indexOf(dbhuzmax.charAt(j)) == -1) {
   				if (checkspace.indexOf(dbhuzmax.charAt(j)) > -1) alert('A húzások száma érvénytelen! (Felesleges szóköz karakter.)');
				else alert('A húzások száma érvénytelen! (Nem numerikus karakter.)');
				return;
			}
		}
		if (modlog) ss = 14;
		else ss = x;
		for (i=0; i < ss; i++) {
			if (lszamok[i] > lmax) {
				alert('A(z) '+lszamok[i]+' érvénytelen szám!');
				return;
			}
			if ((lszamok[i] == "") || (lszamok[i] < 1)) {
				alert('Hiányos számsor! A(z) '+(i+1)+'. szám hiányzik.');
				return;
			}
			for (j=0; j < lszamok[i].length; j++) {
				if (checknum.indexOf(lszamok[i].charAt(j)) == -1) {
   					if (checkspace.indexOf(lszamok[i].charAt(j)) > -1) alert('A(z) '+(i+1)+'. szám helyén, egy felesleges szóköz karakter szerepel!');
					else alert('A(z) '+(i+1)+'. szám helyén, egy nem numerikus érték szerepel.');
					return;
				}
			}
			if (i < x) {
				for (j=0; j < i; j++) {
					if (lszamok[j] == lszamok[i]) {
						alert('Számazonosság a kijelölt számsoron belül! '+(j+1)+'. és '+(i+1)+'. szám.');
						return;
					}
				}
			}
			if (modlog) {
				for (j=7; j < i; j++) {
					if (lszamok[j] == lszamok[i]) {
						alert('Számazonosság a kijelölt számsoron belül! '+'2. számsor: '+(j-x+1)+'. és '+(i-x+1)+'. szám.');
						return;
					}
				}
			}
		}
		modg = true;
		dbhuz = 0;
		for (i=0; i <= elemx[6]; i++) {
			if (i < ltalalat.length) {
		 		ltalalat[i] = 0;
				talmin[i] = 0;
				talmax[i] = 0;
			}
			if ((i < elemx[0]) && (i > 0)) document.getElementById("txt_form").elements[i].disabled = 'disabled';
		}
		newb('disabled');
		for (i=0; i < lmax; i++) {
			if (i < szamok.length) szamok[i] = 0;
		}
		newa();
		if (sorszam > 1) document.getElementById("txt_form").sorszambm.disabled = '';
		if (sorszam < (lmax-x))document.getElementById("txt_form").sorszambp.disabled = '';
		sTime = new Date();
		sTime.getDate();
		lxtsim(x,lmax);
	}
}
function lxtsim(x,lmax) {
	if ((modg) && (dbhuzmax >= dbhuz)) {
		if ((dbhuz + dbvsz) < dbhuzmax) lxtsim_eng(x,lmax,dbvsz);
		else lxtsim_eng(x,lmax,(dbhuzmax-dbhuz));
		lxtsim_kiir(x);
		if (dbvszlog == 3) setTimeout('lxtsim('+x+','+lmax+')',10);
		else setTimeout('lxtsim('+x+','+lmax+')',800);
	}
	if (dbhuzmax <= dbhuz) {
		lxtsim_end(x);
		document.getElementById("txt_form").lxtsimnext.disabled = 'disabled';
	}
}
function lxtsim_eng(x,lmax,y) {
	if ((lottolog) && (!modlog)) if ((dbhuz + y) < dbhuzmax) y = (y / 2);
	for (e=0; e < y; e++) {
		lxtsimrng(x,lmax);
		lxtsim_eng_for(x,0,x);
		if (lottolog) {
			ss = talalat;
			if (!modlog) {
				lxtsimrng(x,lmax);
				lxtsim_eng_for(x,0,x);
			} else lxtsim_eng_for(x,7,14);
			if (talalat < ss) talalat = ss;
		}
		ltalalat[talalat]++;
		dbhuz++;
		if (talmin[talalat] == 0) talmin[talalat] = dbhuz;
		else talmax[talalat] = dbhuz;
	}
}
function lxtsim_eng_for(x,i1,i2) {
	talalat = 0;
	for (i=0; i < x; i++) {
		j = i1;
		do {
			if (lszamok[j] == rnszamok[i]) {
				talalat++;
				j = i2;
			} else j++;
		} while (j < i2);
		szamok[rnszamok[i]-1]++;
	}
}
function lxtsim_kiir(x) {
	if (dbhuz > dbvsz) {
		kTime = new Date();
		kTime.getDate();
		ei = (((dbhuzmax - dbhuz)/dbvsz) * (kTime-fTime));
		eiof();
		document.getElementById("simspeed2").innerHTML = 'Time remaining:&nbsp;'+ eio + Math.floor(ei / 1000);
		if (dbvszlog > 1) {
			if ((kTime-fTime) > 2300) dbvsz = (dbvsz - 500);
			else {
				if ((kTime-fTime) < 1500) dbvsz = (dbvsz + 2000);
				else if ((kTime-fTime) < 1800) dbvsz = (dbvsz + 500);
			}
		}
	}
	for (i=0; i <= x; i++) {
		document.getElementById("txt_form").elements[elemx[1]+i].value = ltalalat[i];
		if ((ltalalat[i] > 0) && (talmin[i] > 0)) document.getElementById("txt_form").elements[elemx[2]+i].value = talmin[i]+'.';
		if (ltalalat[i] > 1) {
			document.getElementById("txt_form").elements[elemx[3]+i].value = talmax[i]+'.';
			document.getElementById("txt_form").elements[elemx[4]+i].value = Math.round(dbhuz/ltalalat[i]);
			document.getElementById("txt_form").elements[elemx[5]+i].value = ((ltalalat[i]/dbhuz)*100) +'%';
		}
	}
	document.getElementById("txt_form").dbhuzas.value = dbhuz + ' db';
	document.getElementById("txt_form").dbhuzasev.value = Math.floor(dbhuz/52) + ' év';
	if (Math.round(dbhuz%52) > 0) document.getElementById("txt_form").dbhuzashet.value = Math.round(dbhuz%52) + '. játékhét';
	else document.getElementById("txt_form").dbhuzashet.value = '1. játékhét';
	lxtsim_stat_kiir();
	fTime = new Date();
	fTime.getDate();
	ei = (fTime-sTime);	
	eiof ();
	eio = eio + Math.floor(ei / 1000) + '.';
	document.getElementById("simspeed").innerHTML = 'Elapsed time&nbsp;&nbsp;:&nbsp;' + eio + Math.floor(ei % 1000);
}
function lxtsim_end(x) {
	if (modg) {
		modg = false;
		document.getElementById("txt_form").lxtsimstop.disabled = 'disabled';
		document.getElementById("txt_form").lxtsimnext.disabled = '';
		document.getElementById("txt_form").lxtsimrestart.disabled = '';
		for (i=1; i < elemx[0]; i++) {
			document.getElementById("txt_form").elements[i].disabled = '';
		}
		lxtsim_kiir(x);
		newd(x);
	}
}
function lxtsim_next(x,lmax) {
	if (!modg) {
		modg = true;
		newa();
		newb('disabled');
		for (i=1; i < elemx[0]; i++) {
			document.getElementById("txt_form").elements[i].disabled = 'disabled';
		}
		lxtsim(x,lmax);
	}
}
function ieset(mezo) {
	dbvszlog = mezo.value;
	if (mezo.value == 1) dbvsz = 2000;
	else dbvsz = 5000;
}
function eiof() {
	eio = '';
	if (ei < 3600000) eio = '00:';
	else {
		if (Math.floor(ei / 3600000) < 10) eio = eio + '0';
		eio = eio + Math.floor(ei / 3600000) + ':';
		ei = ei - (Math.floor(ei / 3600000) * 3600000);
	}
	if (ei < 60000) eio = eio + '00:';
	else {
		if (Math.floor(ei / 60000) < 10) eio = eio + '0';
		eio = eio + Math.floor(ei / 60000) + ':';
		ei = ei - (Math.floor(ei / 60000) * 60000);
	}
	if (Math.floor(ei/1000) < 10) eio = eio + '0';
}
function lxtsim_stat_kiir() {
	for (i=0; i < dbstatszam; i++) {
		document.getElementById("txt_form").elements[elemx[6]+2+i].value = (sorszam+i);
		document.getElementById("txt_form").elements[elemx[6]+(dbstatszam+3+i)].value = szamok[(sorszam+i)-1];
	}
}
function sorszamm() {
	if (sorszam > dbstatszam) sorszam = (sorszam - dbstatszam);
	else sorszam = 1;
	lxtsim_stat_kiir();
	if (sorszam == 1) document.getElementById("txt_form").sorszambm.disabled = 'disabled';
	document.getElementById("txt_form").sorszambp.disabled = '';
}
function sorszamp(lmax) {
	if (sorszam < (lmax-(dbstatszam*2))) sorszam = (sorszam + dbstatszam);
	else sorszam = (lmax-(dbstatszam-1));
	lxtsim_stat_kiir();
	if (sorszam == (lmax-(dbstatszam-1))) document.getElementById("txt_form").sorszambp.disabled = 'disabled';
	document.getElementById("txt_form").sorszambm.disabled = '';
}