function WyczyscPolaKalkulatora(form)
{
   form.elements['OplataSadowa'].value = '200.00';
   form.elements['PodatekOdCzynnosciCywilnoprawnych'].value = '';
   form.elements['ProwizjaAgencji'].value = '';
   form.elements['ProwizjaAgencjiVat'].value = '';
   form.elements['TaksaNotarialna'].value = '';
   form.elements['TaksaNotarialnaVat'].value = '';
   form.elements['KosztyDodatkowe'].value = '';
   form.elements['CalkowityKoszt'].value = '';
}

function Kalkulator()
{
	var form = document.forms['KalkulatorForm'];
	var FormaWlasnosci = form.elements['FormaWlasnosci'];
	var FormaWlasnosciZaznaczona;
	var i;
  	for(i = 0; i < FormaWlasnosci.length; i++)
  	{
   	if(FormaWlasnosci[i].checked)
   	{
   		FormaWlasnosciZaznaczona = FormaWlasnosci[i].value;
    	}
  	}
	
	if(FormaWlasnosciZaznaczona == 'spoldzielcze')
	{
		form.elements['SpoldzielczeWpisDoKsiegi'].disabled = false;
	}
	else
	{
		form.elements['SpoldzielczeWpisDoKsiegi'].disabled = true;
	}
	
  	var CenaNieruchomosci = NaprawPoleFloat(form.elements['CenaNieruchomosci']);
  	
  	if(CenaNieruchomosci == '')
  	{
   	WyczyscPolaKalkulatora(form);
    	return;
  	}
	
  	var PodatekOdCzynnosciCywilnoprawnych = CenaNieruchomosci * 0.02;
  	form.elements['PodatekOdCzynnosciCywilnoprawnych'].value = FormatWaluty(PodatekOdCzynnosciCywilnoprawnych,2);

  	if(CenaNieruchomosci <= 0) fee = 0;
	else if(CenaNieruchomosci <= 3000) fee = 100;
  	else if(CenaNieruchomosci <= 10000) fee = 100  + (CenaNieruchomosci - 3000) * 0.03;
  	else if(CenaNieruchomosci <= 30000) fee = 310  + (CenaNieruchomosci - 10000) * 0.02;
  	else if(CenaNieruchomosci <= 60000) fee = 710  + (CenaNieruchomosci - 30000) * 0.01;
  	else if(CenaNieruchomosci <= 1000000) fee = 1010 + (CenaNieruchomosci - 60000) * 0.004;
	else if(CenaNieruchomosci <= 2000000) fee = 4770 + (CenaNieruchomosci - 1000000) * 0.002;
  	else if(CenaNieruchomosci > 2000000) 
		{fee = 6770 + (CenaNieruchomosci - 2000000) * 0.0025;
			if(fee >= 10000) fee = 10000;
		};
  	
	if(!form.elements['SpoldzielczeWpisDoKsiegi'].disabled)
	{
		fee = fee / 2;
	}
	var TaksaNotarialna = Math.round(fee * 100) / 100;
  	form.elements['TaksaNotarialna'].value = FormatWaluty(TaksaNotarialna,2);

  	var TaksaNotarialnaVat = Math.round(TaksaNotarialna * 22)/100;
  	form.elements['TaksaNotarialnaVat'].value = FormatWaluty(TaksaNotarialnaVat,2);

  	//var ProwizjaAgencjiWProcentach = 2.90;
  	var ProwizjaAgencjiWProcentach = NaprawPoleFloat(form.elements['ProwizjaAgencjiWProcentach']);
  	
  	var ProwizjaAgencji = Math.round(CenaNieruchomosci * ProwizjaAgencjiWProcentach)/100;
  	form.elements['ProwizjaAgencji'].value = FormatWaluty(ProwizjaAgencji,2);
  	var ProwizjaAgencjiVat = Math.round(ProwizjaAgencji * 22)/100;
  	form.elements['ProwizjaAgencjiVat'].value = FormatWaluty(ProwizjaAgencjiVat,2);

  	if(FormaWlasnosciZaznaczona == 'spoldzielcze' && !form.elements['SpoldzielczeWpisDoKsiegi'].checked)
  	{
   	var OplataSadowa = 0;
    	form.elements['OplataSadowa'].value = "nie ma";
  	}
  	else
  	{
     	var OplataSadowa = 200.00;
    	form.elements['OplataSadowa'].value = FormatWaluty(OplataSadowa,2);
  	}

  	var KosztyDodatkowe = PodatekOdCzynnosciCywilnoprawnych + TaksaNotarialna + TaksaNotarialnaVat + OplataSadowa + ProwizjaAgencji + ProwizjaAgencjiVat;
  	form.elements['KosztyDodatkowe'].value = FormatWaluty(KosztyDodatkowe,2);
  	var CalkowityKoszt = CenaNieruchomosci + KosztyDodatkowe;
  	form.elements['CalkowityKoszt'].value = FormatWaluty(CalkowityKoszt,2);
}

function FormatWaluty(kwota, iloscMiejscPoPrzecinku)
{
	kwota = kwota.toString().replace(/\s+/g,'');
  	if(kwota == '') return '';
	if(typeof(iloscMiejscPoPrzecinku) != 'undefined')
	{
   	kwota = Math.round((0.0 + eval(kwota))*Math.pow(10, iloscMiejscPoPrzecinku)).toString();
    	kwota = kwota.replace(/\..*/, '');
    	if(iloscMiejscPoPrzecinku != 0)
    	{
      	while(kwota.replace('-', '').length <= iloscMiejscPoPrzecinku)
      	{
        		kwota = kwota.replace(/(\d+)/,'0$1');
      	}
      	kwota = kwota.replace(new RegExp('(.{' + iloscMiejscPoPrzecinku + '})$'), '.$1');
    	}
  	}

  	if(kwota.indexOf('.') < 0)
  	{
   	kwota = kwota.replace(/(\d)(?=(\d\d\d)+$)/g, '$1 ');
   }
  	else
   {
   	kwota = kwota.replace(/(\d)(?=(\d\d\d)+\.)/g, '$1 ');
   }
	
	return kwota;  
}

function NaprawPoleFloat(pole, CzyMozeBycPuste)
{
  	if(UsunSpacjeZNapisu(pole.value) == '')
  	{
   	if(CzyMozeBycPuste)
   	{
   		return '';
   	}
    	pole.value = '0';
  	}
  	var polePoprawione = pole.value.replace(/,/g, '.');;
  	while(polePoprawione.indexOf('.') != polePoprawione.lastIndexOf('.'))
  	{
   	polePoprawione = polePoprawione.replace('.', '');
  	}
  	polePoprawione = polePoprawione.replace(/[^\.0-9\s]/g, '');
  	if(polePoprawione != pole.value)
  	{
  		pole.value = polePoprawione;
  	}
  	return parseFloat(pole.value.replace(/ /g, ''));
}

function UsunSpacjeZNapisu(napis)
{
    return napis.replace( /^\s+|\s+$/g,"");
}

