function berkalkulatorOpen(bruttoVal){
	window.open('http://www.nexonber.hu/hu/berkalkulator.php?brutto='+bruttoVal,'kalkulator','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=575,height=640');
}

// JavaScript Document
ev=20072;
gyerek=0;
szamolasi_alap='n';
minimum_netto=50000;

function nteker(NFtmp, no) {
	xmin = 0;
		xmax = 30000000;
	pontossag = 0.001;
	l = 'false';
	while (l != 'true' && xmin<xmax) {
		i = (xmin+xmax)/2;
		if (no == "n") {
			p = calcNettoFromBr(i);
		} else if (no == "o") {
			p = calcOsszFromBr(i);
		}
		if (Math.abs(p-NFtmp)<pontossag) {
			l = 'true';
		} else if (p-NFtmp>0) {
			xmax = i;
		} else {
			xmin = i;
		}
	}
	return i;
}
function calcBrFromNetto(NFt) {
	out = nteker(NFt, "n");
	return out;
}
function calcBrFromOssz(OFt) {
	out = nteker(OFt, "o");
	return out;
}
function calcOsszFromNetto(NFt) {
	br = nteker(NFt, "n");
	out = calcOsszFromBr(br);
	return out;
}


function getSzakkepzesialapbaFromBr(BFt) {
	//2005,2004,2006,2007
	return BFt*0.015;
}
function getMunkaadoijarulekFromBr(BFt) {
	//2005,2004,2006,2007
	return BFt*0.03;
}
function getEugyihozzajarulasFromBr(BFt) {
	//2005,2004,2006,2007
	if (ev == 2004) {
		tmp = 3450;
	}
	if (ev == 2005) {
		tmp = 3450;
	}
	if (ev == 2006 || ev == 2007 || ev == 20072) {
		tmp = 1950;
	}
	return tmp;
}
function getMunkaltatoitbFromBr(BFt) {
	//2005,2004,2006,2007
	return BFt*0.29;
}
function getEujarulekFromBr(BFt) {
	if (ev == 20072) {
		//2007
		return BFt*0.07;
	} else if (ev == 2007) {
		//2007
		return BFt*0.06;
	} else {
		//2005,2004,2006
		return BFt*0.04;
	}
};
function getAllaminyugdijjarulekFromBr(BFt) {
	//2005,2004,2006,2007
	return BFt*0.005;
}
function getMagannyugdijbefizetesFromBr(BFt) {
	//2005,2004,2006,,2007
	return BFt*0.08;
}
function getMunkavallaloijarulekFromBr(BFt) {
	if (ev == 2007 || ev == 20072) {
		//2007
		return BFt*0.015;
	} else {
		//2004,2005,2006
		return BFt*0.01;
	}
}
function getSzamitottadoFromBr(BFt) {
	eves = BFt*12;
	//2004
	if (ev == 2004) {
		if (eves<800000) {
			tmp = BFt*0.18;
		}
		if (eves>=800000 && eves<1500000) {
			tmp1 = (800000/12)*0.18;
			tmp2 = ((eves-800000)/12)*0.26;
			tmp = tmp1+tmp2;
		}
		if (eves>=1500000) {
			tmp = BFt*0.38;
			tmp1 = (800000/12)*0.18;
			tmp2 = ((1500000-800000)/12)*0.26;
			tmp3 = ((eves-1500000)/12)*0.38;
			tmp = tmp1+tmp2+tmp3;
		}
	}
	//2005                                                                 
	if (ev == 2005) {
		if (eves<1500000) {
			tmp = BFt*0.18;
		}
		if (eves>=1500000) {
			tmp1 = 1500000*0.18;
			tmp2 = (eves-1500000)*0.38;
			tmp = (tmp1+tmp2)/12;
		}
	}
	//2006, 2007                                                                 
	if (ev == 2006 || ev == 2007) {
		if (eves<1550000) {
			tmp = BFt*0.18;
		}
		if (eves>=1550000) {
			tmp1 = (1550000/12)*0.18;
			tmp2 = ((eves-1550000)/12)*0.36;
			tmp = tmp1+tmp2;
		}
	}
	
	//2007                                                                 
	if (ev == 20072) {
		if (eves<1700000) {
			tmp = BFt*0.18;
		}
		if (eves>=1700000) {
			tmp1 = (1700000/12)*0.18;
			tmp2 = ((eves-1700000)/12)*0.36;
			tmp = tmp1+tmp2;
		}
	}
	return tmp;
}
function getAdojovairasFromBr(BFt) {
	eves = BFt*12;
	if (ev == 2006 || ev == 2007 || ev == 20072) {
		//2006, 2007
		if (eves>1950000) {
			out = 0;
		} else if (eves>1500000) {
			out = 108000-(eves-1500000)*0.18;
		} else if (eves>600000) {
			out = 108000;
		}
		out /= 12;
	} else {
		//2005, 2004
		if (eves>1950000) {
			out = 0;
		} else if (eves>1350000) {
			out = 108000-(eves-1350000)*0.18;
		} else if (eves>600000) {
			out = 108000;
		}
		out /= 12;
	}
	return out;
}
function getKiegAdojovairasFromBr(BFt) {
	//2005
	if (ev == 2005) {
		eves = BFt*12;
		if (eves>1302400) {
			out = 0;
		} else if (eves>1000000) {
			out = 15120-(eves-1000000)*0.05;
		} else if (eves>684000) {
			out = 15120;
		} else {
			out = (eves-600000)*0.18;
		}
		out /= 12;
	}
	//2004 
	if (ev == 2004) {
		out = 0;
	}
	//2006, 2007 
	if (ev == 2006 || ev == 2007 || ev == 20072) {
		out = 0;
		if (BFt<83333) {
			out = (BFt-50000)*0.18;
		} else {
			out=2340-((((BFt*12)-1000000)/12)*0.05)
		}
		if(out>2340)out=2340
		if(out<00)out=0
	}
	return out;
}
function getNyugdijjarulekUtaniKedvezmenyFromBr(BFt) {
	return 0;
}
function getGyerekkedvezmenyBr(BFt) {
	gyszam =gyerek;
	eves = BFt*12;
	//2004
	if (ev == 2004) {
		if (gyszam == 1) {
			return 3000;
		} else if (gyszam == 2) {
			return 8000;
		} else {
			return (gyszam*10000);
		}
	}
	//2005                                                               
	if (ev == 2005) {
		if (gyszam == 0) {
			return 0;
		} else if (gyszam == 1) {
			return 3000;
		} else if (gyszam == 2) {
			return 8000;
		} else {
			return (gyszam*10000);
		}
	}
	//2006,2007                                                              
	if (ev == 2006 || ev == 2007 || ev == 20072) {
		if (gyszam == 0) {
			return 0;
		} else if (gyszam == 1) {
			return 0;
		} else if (gyszam == 2) {
			return 0;
		} else {
			hatarAlso = 500000;
			hatarFelso = 500000+((gyszam-2)*50000);
			if (BFt<=hatarAlso) {
				tmp = gyszam*4000;
			} else if (BFt>=hatarFelso) {
				tmp = 0;
			} else {
				arany = ((hatarFelso-BFt)/(hatarFelso-hatarAlso));
				tmp = Math.round((gyszam*4000)*arany);
			}
			return tmp;
		}
	}
}
function getCsaladiPotlekFromBr(BFt) {
	gyszam = gyerek;
	egyedul = false;

	//2004 
	if (ev == 2004) {
		if (gyszam == 0) {
			tmp = 0;
		}
		if (gyszam == 1 && egyedul == false) {
			tmp = 4900;
		}
		if (gyszam == 1 && egyedul == true) {
			tmp = 5700;
		}
		if (gyszam == 2 && egyedul == false) {
			tmp = 5900;
		}
		if (gyszam == 2 && egyedul == true) {
			tmp = 6900;
		}
		if (gyszam>=3 && egyedul == false) {
			tmp = gyszam*7500;
		}
		if (gyszam>=3 && egyedul == true) {
			tmp = gyszam*8000;
		}
	}
	//2005 
	if (ev == 2005) {
		if (gyszam == 0) {
			tmp = 0;
		}
		if (gyszam == 1 && egyedul == false) {
			tmp = 5100;
		}
		if (gyszam == 1 && egyedul == true) {
			tmp = 6000;
		}
		if (gyszam == 2 && egyedul == false) {
			tmp = 6200;
		}
		if (gyszam == 2 && egyedul == true) {
			tmp = 7200;
		}
		if (gyszam>=3 && egyedul == false) {
			tmp = gyszam*7800;
		}
		if (gyszam>=3 && egyedul == true) {
			tmp = gyszam*8400;
		}
	}
	//2006, 2007 
	if (ev == 2006 || ev == 2007) {
		if (gyszam == 0) {
			tmp = 0;
		}
		if (gyszam == 1 && egyedul == false) {
			tmp = 11000;
		}
		if (gyszam == 1 && egyedul == true) {
			tmp = 12000;
		}
		if (gyszam == 2 && egyedul == false) {
			tmp = 24000;
		}
		if (gyszam == 2 && egyedul == true) {
			tmp = 26000;
		}
		if (gyszam>=3 && egyedul == false) {
			tmp = gyszam*14000;
		}
		if (gyszam>=3 && egyedul == true) {
			tmp = gyszam*15000;
		}
	}
	//2007 x
	if ( ev == 20072) {
		if (gyszam == 0) {
			tmp = 0;
		}
		if (gyszam == 1 && egyedul == false) {
			tmp = 11700;
		}
		if (gyszam == 1 && egyedul == true) {
			tmp = 12700;
		}
		if (gyszam == 2 && egyedul == false) {
			tmp = 25400;
		}
		if (gyszam == 2 && egyedul == true) {
			tmp = 27600;
		}
		if (gyszam>=3 && egyedul == false) {
			tmp = gyszam*14900;
		}
		if (gyszam>=3 && egyedul == true) {
			tmp = gyszam*15900;
		}
	}
	return tmp;
}

function getKulonAdoElolegFromBr(BFt) {
	eves = BFt*12;
	if (ev == 20072) {
		if(eves>=6748850){
			tmp=((eves-6748850)/12)*0.04;
		} else {
			tmp=0;
		}
	}
	return tmp;
}

function getGyesFromBr(BFt) {
	//2004,2005,2006,2007
	return 0;
}
function getHaviOsszesBevetelFromBr(BFt) {
	//2004,2005,2006,2007
	tmp = _root.calcNettoFromBr(BFt)+ getCsaladiPotlekFromBr(BFt);
	return tmp;
}
function getOsszesKedvezmenyFromBr(BFt) {
	//2004,2005,2006,2007
	tmp=getGyerekkedvezmenyBr(BFt)+ getAdojovairasFromBr(BFt)+ getKiegAdojovairasFromBr(BFt);
	return tmp;
}
function getOsszesAdoFromBr(BFt) {
	//2004,2005,2006,2007
	tmp=getSzamitottadoFromBr(BFt)+getKulonAdoElolegFromBr(BFt)-getOsszesKedvezmenyFromBr(BFt);
	if (tmp>0) {
		return tmp;
	} else {
		return 0;
	}
}
function getLevonasBruttobolBr(BFt) {
	//2004,2005,2006,2007
	tmp=getEujarulekFromBr(BFt)+ getAllaminyugdijjarulekFromBr(BFt)+ getMagannyugdijbefizetesFromBr(BFt)+ getMunkavallaloijarulekFromBr(BFt)+ getOsszesAdoFromBr(BFt);
	return tmp;
}
function getHaviOsszesMunkaadoiJarulekFromBr(BFt) {
	//2004,2005,2006,2007
	tmp=getMunkaltatoitbFromBr(BFt)+ getEugyihozzajarulasFromBr(BFt)+ getMunkaadoijarulekFromBr(BFt)+ getSzakkepzesialapbaFromBr(BFt);
	return tmp;
}
function getHaviOsszesAzAllamnakFromBr(BFt) {
	//2004,2005,2006,2007
	tmp=getLevonasBruttobolBr(BFt)+ getHaviOsszesMunkaadoiJarulekFromBr(BFt);
	return tmp;
}
function calcOsszFromBr(BFt) {
	//2004,2005,2006,2007
	tmp = BFt+ getHaviOsszesMunkaadoiJarulekFromBr(BFt);
	return tmp;
}
function calcNettoFromBr(BFt) {
	//2004,2005,2006,2007
	tmp = BFt-getLevonasBruttobolBr(BFt);
	return tmp;
}

function field_check(field){
	field.value=field.value.replace(/[^0-9]/ig,"");
}

function alapbeallit(alap){
	szamolasi_alap=alap;
}

function szamol(){
	with(document.forms.berszamolo){
		if(szamolasi_alap=='n' && berszamolo_netto.value!=''){
			if(berszamolo_netto.value<minimum_netto)berszamolo_netto.value=minimum_netto;
			berszamolo_ossz.value=Math.round(calcOsszFromNetto(berszamolo_netto.value));
			berszamolo_brutto.value=Math.round(calcBrFromNetto(berszamolo_netto.value));
		}
		if(szamolasi_alap=='b' && berszamolo_brutto.value!=''){
			n=0;
			if(berszamolo_brutto.value>minimum_netto){
				n=Math.round(calcNettoFromBr(berszamolo_brutto.value));
			}
			if(n<minimum_netto || berszamolo_brutto.value<minimum_netto){
				berszamolo_netto.value=minimum_netto;
				berszamolo_brutto.value=Math.round(calcBrFromNetto(berszamolo_netto.value));
			} else {
				berszamolo_netto.value=n;
			}
			berszamolo_ossz.value=Math.round(calcOsszFromNetto(berszamolo_netto.value));
		}
		if(szamolasi_alap=='o' && berszamolo_ossz.value!=''){
			tmp=Math.round(calcBrFromOssz(berszamolo_ossz.value));
			n=Math.round(calcNettoFromBr(tmp));
			if(n<minimum_netto){
				berszamolo_netto.value=minimum_netto;
				berszamolo_brutto.value=Math.round(calcBrFromNetto(berszamolo_netto.value));
			} else {
				berszamolo_netto.value=n;
			}
			berszamolo_ossz.value=Math.round(calcOsszFromNetto(berszamolo_netto.value));
			berszamolo_brutto.value=Math.round(calcBrFromNetto(berszamolo_netto.value));
		}
		berkalkulatorOpen(berszamolo_brutto.value);
	}
}