
/*
	Created by jaapy (Daniël)
	Don't copy!
*/

function recalculate()
{
	if (getStr() < 10) setStr(10);
	if (getDex() < 10) setDex(10);
	if (getVit() < 10) setVit(10);
	if (getInt() < 10) setInt(10);
	if (getMag() < 10) setMag(10);
	if (getChr() < 10) setChr(10);

	if (getStr() > 200) setStr(200);
	if (getDex() > 200) setDex(200);
	if (getVit() > 200) setVit(200);
	if (getInt() > 200) setInt(200);
	if (getMag() > 200) setMag(200);
	if (getChr() > 200) setChr(200);

	var _str = getStr();
	var _dex = getDex();
	var _vit = getVit();
	var _int = getInt();
	var _mag = getMag();
	var _chr = getChr();

	var pnt = _str + _dex + _vit + _int + _mag + _chr - 60;
	var lvl = Math.ceil((pnt - 10) / 3) + 1;
	if (lvl < 1) lvl = 1;

	setLvl(lvl);
	setPnt(Math.abs(pnt - 10 - ((lvl - 1) * 3)));
	setExp(getLvlExp(lvl - 1));
	setHP(getHP());
	setMP(getMP());
}

function up(objid)
{
	var obj = document.getElementById(objid);
	var cur = parseInt(obj.value);
	var lvl = getLvl();
	var pnt = getPnt();
	if (lvl >= 180 && pnt == 0) return;
	cur = cur + 1;
	if (lvl == 1 && cur > 14 && pnt > 0) cur = 14;
	if (cur > 200) cur = 200;
	obj.value = cur;
	recalculate();
}

function down(objid)
{
	var obj = document.getElementById(objid);
	var cur = parseInt(obj.value);
	cur = cur - 1;
	if (cur < 10) cur = 10;
	obj.value = cur;
	recalculate();
}

function getLvlExp(lvl)
{
	if (lvl < 1) return 0;
	return Math.round(getLvlExp(lvl - 1) + lvl * (50 + (lvl * (lvl / 17) * (lvl / 17))));
}

function getHP()
{
	return Math.round(getVit() * 3 + getLvl() * 1.5 + getStr() / 2);
}
function setHP(val)
{
	document.getElementById('tbHP').value = val;
}

function getMP()
{
	return Math.round((2 * getMag()) + (2 * getLvl()) + (getInt() / 2));
}
function setMP(val)
{
	document.getElementById('tbMP').value = val;
}

function getLvl()
{
	return parseInt(document.getElementById('tbLevel').value);
}
function setLvl(val)
{
	document.getElementById('tbLevel').value = val;
}

function getExp()
{
	return parseInt(document.getElementById('tbExp').value);
}
function setExp(val)
{
	document.getElementById('tbExp').value = val;
}

function getPnt()
{
	return parseInt(document.getElementById('tbPoints').value);
}
function setPnt(val)
{
	document.getElementById('tbPoints').value = val;
}

function getStr()
{
	return parseInt(document.getElementById('tbStr').value);
}
function setStr(val)
{
	document.getElementById('tbStr').value = val;
}

function getDex()
{
	return parseInt(document.getElementById('tbDex').value);
}
function setDex(val)
{
	document.getElementById('tbDex').value = val;
}

function getVit()
{
	return parseInt(document.getElementById('tbVit').value);
}
function setVit(val)
{
	document.getElementById('tbVit').value = val;
}

function getInt()
{
	return parseInt(document.getElementById('tbInt').value);
}
function setInt(val)
{
	document.getElementById('tbInt').value = val;
}

function getMag()
{
	return parseInt(document.getElementById('tbMag').value);
}
function setMag(val)
{
	document.getElementById('tbMag').value = val;
}

function getChr()
{
	return parseInt(document.getElementById('tbChr').value);
}
function setChr(val)
{
	document.getElementById('tbChr').value = val;
}

