Number.prototype.format = function()
{
	var a = new String(this)
	a = a.split(/\,|\./)
	a[0] = a[0].split('')
	var st = a[0].length%3
	var ret = ""
	var i=0
	for(var j=0; j < a[0].length; i++)
		ret+=(i == st || (i-st)%4 == 0 ? " " : a[0][j++])
	return ret.replace(/(^\s*)|(\s*$)/g, "") + (a[1] ? "." + a[1] : "")
}

var sp_w = true
var wpis = false //wpis do ksiegi wieczystej

function setval(src)
{
	sp_w = src.value != 20
	calculate()
}

function calculate()
{
	var m = parseFloat(document.forms.opcalc.cn.value)
	var tpod = parseFloat(0.02*m).toFixed(2) //podatek od czynnosci cywilno-prawnych
	var tvat //vat od operacji
	var ttn = 0 //taksa notarialna
	var tops = 200; //oplata sadowa
	var tprow //prowizja
	var topd //oplaty dodatkowe
	var tsuma

	document.forms.opcalc.pod.value = tpod
	if(m > 0 && m < 3000)
		ttn = 100
	if(m >= 3000 && m < 10000)
		ttn = 100 + 0.03*(m - 3000)
	if(m >=10000 && m < 30000)
		ttn = 310 + 0.02*(m - 10000)
	if(m >= 30000 && m < 60000)
		ttn = 710 + 0.01*(m - 30000)
	if(m >= 60000 && m <1000000)
		ttn = 1010 + 0.004*(m - 60000)
	if(m >= 1000000 && m <2000000)
		ttn = 4770 + 0.002*(m - 1000000)
	if(m >= 2000000)
		ttn = 6770 + 0.0025*(m - 2000000)

	if (ttn >=10000)
		ttn = 10000

	//oplata sadowa
//	if(m < 10000)
//		tops = 0.08*m
//	if(m >= 10000 && m < 50000)
//		tops = 800 + 0.07*(m - 10000)
//	if(m >= 50000 && m < 100000)
//		tops = 3600 + 0.06*(m - 50000)
//	if(m >= 100000)
//		tops = 6600 + 0.05*(m - 100000)
//	tops = tops * 0.2
	
	ttn = ttn/2




	if(sp_w)
		{
		
		if(tops < 20)
			tops = 20
		if(!wpis)
			tops = 0;
		}
	if(!sp_w && tops < 20)
		tops = 20
		

	tvat = parseFloat(0.23 * ttn).toFixed(2)
	tprow = (parseFloat(document.forms.opcalc.prow.value)/100) * m
	tprovagent = parseFloat(0.23 * tprow).toFixed(2)
	topd = parseFloat(parseFloat(tpod) + parseFloat(ttn) + parseFloat(tops) + parseFloat(tprow) + parseFloat(tvat) + parseFloat(tprovagent))  
	tsuma = parseFloat(m + topd)

	tops = parseFloat(tops).toFixed(2)
	ttn = parseFloat(ttn).toFixed(2)
	tprow = parseFloat(tprow).toFixed(2)
	tprovagent = parseFloat(tprovagent).toFixed(2)
	topd = parseFloat(topd).toFixed(2)
	tsuma = parseFloat(tsuma).toFixed(2)

	document.forms.opcalc.ops.value = tops
	document.forms.opcalc.tn.value = ttn
	document.forms.opcalc.vat.value = tvat
	document.forms.opcalc.cprow.value = tprow
	document.forms.opcalc.opd.value = topd
	document.forms.opcalc.vatcprow.value = tprovagent
	document.forms.opcalc.suma.value = parseFloat(tsuma)
	
}

function check()
{
	var m = parseFloat(document.forms.opcalc.cn.value)
//alert(m)
	if(isNaN(m))
		document.forms.opcalc.cn.value = 0
	else
		document.forms.opcalc.cn.value = m
	calculate()
}


function check2()
{
	var p = String(document.forms.opcalc.prow.value).replace(",",".")
	document.forms.opcalc.prow.value = p
	if(p == "")
	   {
	   document.forms.opcalc.prow.value = 0
	   calculate()
	   }

	p = parseFloat(p)
	//if(isNaN(p))
		//document.forms.opcalc.prow.value = 0
	//else
		//document.forms.opcalc.prow.value = p
	if(!isNaN(parseInt(p)))
	   calculate()
}

function chops()
{
	if(wpis)
		wpis = false
	else
		wpis = true
	calculate()

}
