// Zestaw funkcji potrzebnych do kalkulatora opłat.
// Autor: Studio Graficzne Impress 2008
// Wszelkie prawa zastrzeżone

var countPPC = true;

var baseForm;

var lastChar;

var oplataSadowa;

var cenaNieruchomosci;
var podatekOdCzynnosci;
var taksaNotarialna2;
var vatOdTaksy;
var oplataSadowa2;
var prowizjaWart;
var vatOdProwizji;
var wniosek;

function init() {
	baseForm = document.forms['kalkulatorOplat'];
	oplataSadowa = 200;
	countPPC = true;
}

window.onload = init;

function changeStance(element) {
	
	baseForm.elements['wpis'].checked = false;
	switch(element.value) {
	
		case 'mieszkanie':
			countPPC = true;
			baseForm.elements['wpis'].disabled = false;
		break
		case 'mieszkaniedomdzialka':
			countPPC = true;
			baseForm.elements['wpis'].disabled = true;
		break
		case 'odplatnika':
			countPPC = false;
			baseForm.elements['wpis'].disabled = true;
		break
		default:
			countPPC = true;
			baseForm.elements['wpis'].disabled = true;
		break
	
	}
	
	countPrice();
}

function formatPrice(price) {
	var price2 = new NumberFormat(price);
	price2.setSeparators(true, ' ');
	return price2.toFormatted();
}

function countPrice() {
	element = baseForm.elements['CenaNieruchomosci'];
	cenaNieruchomosci = element.value;
	
	wniosek = !isNaN(parseFloat(baseForm.elements['Wniosek'].value)) ? (baseForm.elements['Wniosek'].value) : 0;
	
	if(countPPC) {
		baseForm.elements['PodatekOdCzynnosci'].value = formatPrice(element.value * 2/100);
		podatekOdCzynnosci = element.value * 2/100;
		
	} else {
		baseForm.elements['PodatekOdCzynnosci'].value = 'brak';
		podatekOdCzynnosci = 0;
	}
	
	taksa = taksaNotarialna(element.value);
	
	taksaNotarialna2 = taksa;
	vatOdTaksy = taksa*22/100;
	
	baseForm.elements['TaksaNotarialna'].value = formatPrice(taksa);
	baseForm.elements['VATOdTaksyNotarialnej'].value = formatPrice(taksa*22/100);
	
	if(document.getElementById('opcja2').checked || document.getElementById('opcja3').checked || baseForm.elements['wpis'].checked) {
		baseForm.elements['OplataSadowa'].value = formatPrice(oplataSadowa);
		oplataSadowa2 = oplataSadowa;
	} else {
		baseForm.elements['OplataSadowa'].value = 'brak';
		oplataSadowa2 = 0;
	}
	
	var prowizja = element.value*baseForm.elements['Prowizja'].value/100;
	
	prowizjaWart = prowizja;
	vatOdProwizji = prowizja*22/100;
	
	baseForm.elements['ProwizjaWart'].value = formatPrice(prowizja);
	baseForm.elements['VATOdProwizji'].value = formatPrice(prowizja*22/100);
	
	baseForm.elements['CalkowityKoszt'].value = formatPrice(countFinalPrice());
	
}

function countFinalPrice() {
	var finalPrice;
	finalPrice = parseFloat(cenaNieruchomosci) + parseFloat(podatekOdCzynnosci) + parseFloat(taksaNotarialna2) + parseFloat(vatOdTaksy) + parseFloat(oplataSadowa2) + parseFloat(prowizjaWart) + parseFloat(vatOdProwizji) + parseFloat(wniosek);
	return finalPrice;
	
}

function taksaNotarialna(price) {
	var taksa;
	if(price<=0)
		taksa = 0;
	else if(price<=3000) 
		taksa = 100;
	else if(price<=10000)
		taksa = 100+(price-3000)*3/100;
	else if(price<=30000)
		taksa = 310+(price-10000)*2/100;
	else if(price<=60000)
		taksa = 710+(price-30000)*1/100;
	else if(price<=1000000)
		taksa = 1010+(price-60000)*5/1000;
	else
		taksa = 5710+(price-1000000)*25/10000;
		
	if(document.getElementById('opcja1').checked) {
		taksa = taksa/2;
	}
	
	return taksa;
}

function validateFloat(e, field) {
	if(window.event) // IE
	{
	keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
	keynum = e.which;
	}
	keychar = String.fromCharCode(keynum);
	
	var valids = '1234567890.';
	
	if((valids.match(keychar) || keynum == 8) && !((field.value.indexOf('.')>=0) && keynum==46)) {
		var returnval = true;
	} else {
		var returnval = false;
	}
	
	lastChar = keynum;
	
	return returnval;
}
