
function PMT (ir, np, pv, fv ) {
 pmt = ( ir * ( pv * Math.pow ( (ir+1), np ) + fv ) ) / ( ( ir + 1 ) * ( Math.pow ( (ir+1), np) -1 ) );
 return pmt;
}

function KPO_oblicz()
{
	// proste pobranie wartosci i konwersja do liczby
	var KPO_B2 = (document.getElementById("KPO_B2").value-0).toFixed(2);
	var KPO_B3 = (document.getElementById("KPO_B3").value-0).toFixed(2);
	var KPO_B4T = (document.getElementById("KPO_B4").value-0).toFixed(2);
	var KPO_B4 = (KPO_B4T/100).toFixed(2);

	// glowne formuly
	var KPO_B5 = PMT(KPO_B4/12-0, KPO_B3*12-0, 0, KPO_B2);
	var KPO_B6 = PMT(KPO_B4/4-0, KPO_B3*4-0, 0, KPO_B2);
	var KPO_B7 = PMT(KPO_B4/2-0, KPO_B3*2-0, 0, KPO_B2);
	var KPO_B8 = PMT(KPO_B4-0, KPO_B3*1-0, 0, KPO_B2);

	//wypisanie wynikow

	document.getElementById("KPO_B5").innerHTML = (KPO_B5.toFixed(0)-0).numberFormat('# ### ### ###') + "";
	document.getElementById("KPO_B6").innerHTML = (KPO_B6.toFixed(0)-0).numberFormat('# ### ### ###') + "";
	document.getElementById("KPO_B7").innerHTML = (KPO_B7.toFixed(0)-0).numberFormat('# ### ### ###') + "";
	document.getElementById("KPO_B8").innerHTML = (KPO_B8.toFixed(0)-0).numberFormat('# ### ### ###') + "";

}

function KL_oblicz()
{

	// proste pobranie wartosci i konwersja do liczby

	var KL_B2 = (document.getElementById("KL_B2").value-0).toFixed(2);
	var KL_B3T = (document.getElementById("KL_B3").value-0).toFixed(2);
	var KL_B3 = (KL_B3T/100-0);

	var KL_B5 = (document.getElementById("KL_B5").value-0);
	var KL_C4 = (document.getElementById("KL_B4").value-0);
	var KL_C5 = (KL_B5/12-0);

	//=B2*(1+B3/C4)^(C5*C4)
	var KL_B6 =  KL_B2 * ( Math.pow((1+KL_B3.toFixed(2)/KL_C4.toFixed(2)),(KL_C5*KL_C4)) ).toFixed(8);
	var KL_B7 = KL_B6-KL_B2-0;

	//=(1+B3/C4)^C4-1
	var KL_B8 = Math.pow ((1+KL_B3/KL_C4),(KL_C4))-1;

	//wypisanie wynikow
	document.getElementById("KL_B6").innerHTML = (KL_B6.toFixed(0)-0).numberFormat('# ### ### ###') + "";
	document.getElementById("KL_B7").innerHTML = (KL_B7.toFixed(0)-0).numberFormat('# ### ### ###') + "";
	document.getElementById("KL_B8").innerHTML = ((KL_B8*100).toFixed(2)-0).numberFormat('# ### ### ###') + " %";
}

function KK_oblicz()
{


	// proste pobranie wartosci i konwersja do liczby

	var KK_B2 = (document.getElementById("KK_B2").value-0).toFixed(2);
	var KK_B3 = (document.getElementById("KK_B3").value-0).toFixed(2);
	var KK_B4T = document.getElementById("KK_B4").value-0;
	var KK_B4 = KK_B4T/100;
	var KK_B5 = 12-0;

	// glowne formuly
	var KK_B8 = KK_B2 * (Math.pow((1+KK_B4/12),(KK_B3*12))*(KK_B4/12)) / (Math.pow((1+KK_B4/12),(KK_B3*12))-1).toFixed(8);
	var KK_B6 = Math.round((KK_B8*KK_B3*KK_B5)-0);
	var KK_B7 = Math.round((KK_B6-KK_B2)-0);

	//wypisanie wynikow

	document.getElementById("KK_B8").innerHTML = (KK_B8.toFixed(0)-0).numberFormat('# ### ### ###') + " ";
	document.getElementById("KK_B7").innerHTML = (KK_B7-0).numberFormat('# ### ### ###') + " ";
	document.getElementById("KK_B6").innerHTML = (KK_B6-0).numberFormat('# ### ### ###') + " ";

}

function KAP_oblicz()
{

	// proste pobranie wartosci i konwersja do liczby

	var KAP_B2 = (document.getElementById("KAP_B2").value-0);
	var KAP_B3 = (document.getElementById("KAP_B3").value-0);
	var KAP_B4T = (document.getElementById("KAP_B4").value-0);
	var KAP_B4 = KAP_B4T/100;
	var KAP_B5 = document.getElementById("KAP_B5").value-0;
	var KAP_C3 = KAP_B3-0;
	var KAP_B6 = KAP_B2 * ((Math.pow((1+KAP_B4/KAP_C3), (KAP_C3*KAP_B5))-1) /  (KAP_B4/KAP_C3));

	//wypisanie wynikow
	document.getElementById("KAP_B6").innerHTML = (KAP_B6.toFixed(0)-0).numberFormat('# ### ### ###') + " ";
}

function IsNumeric(fText)

{

   var sText = document.getElementById(fText).value;

   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;


   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
	  return IsNumber;
}

function KPO_sprawdz_B2()
{
	var czy_ok = IsNumeric('KPO_B2');
	if (czy_ok!=true)
	{
		alert("Kwota do zgromadzenia musi być liczbą.")
		KPO_B2.value="";
	}
}

function KPO_sprawdz_B3()
{
	var czy_ok = IsNumeric('KPO_B3');
	if (czy_ok!=true)
	{
		alert("Okres  w latach musi być liczbą.")
		KPO_B3.value="";
	}
}


function KPO_sprawdz_B4()
{
	var czy_ok = IsNumeric('KPO_B4');
	if (czy_ok!=true)
	{
		alert("Oprocentowanie roczne musi być liczbą.")
		KPO_B4.value="";
	}
}

function KL_sprawdz_B2()
{
	var czy_ok = IsNumeric('KL_B2');
	if (czy_ok!=true)
	{
		alert("Kwota lokaty musi być liczbą.")
		KL_B2.value="";
	}
}


function KL_sprawdz_B3()
{
	var czy_ok = IsNumeric('KL_B3');
	if (czy_ok!=true)
	{
		alert("Oprocentowanie nominalne musi być liczbą.")
		KL_B4.value="";
	}
}


function KL_sprawdz_B5()
{
	var czy_ok = IsNumeric('KL_B5');
	if (czy_ok!=true)
	{
		alert("Okres lokaty musi być liczbą.")
		KL_B4.value="";
	}
}


function KK_sprawdz_B2()
{
	var czy_ok = IsNumeric('KK_B2');
	if (czy_ok!=true)
	{
		alert("Kwota kredytu musi być liczbą.")
		KK_B2.value="";
	}
}

function KK_sprawdz_B3()
{
	var czy_ok = IsNumeric('KK_B3');
	if (czy_ok!=true)
	{
		alert("Okres kredytowania w latach musi być liczbą.")
		KK_B3.value="";
	}
}


function KK_sprawdz_B4()
{
	var czy_ok = IsNumeric('KK_B4');
	if (czy_ok!=true)
	{
		alert("Oprocentowanie nominalne musi być liczbą.")
		KK_B4.value="";
	}
}





function KAP_sprawdz_B2()
{
	var czy_ok = IsNumeric('KAP_B2');
	if (czy_ok!=true)
	{
		alert("Kwota oszczędzana musi być liczbą.")
		KAP_B2.value="";
	}
}


function KAP_sprawdz_B4()
{
	var czy_ok = IsNumeric('KAP_B4');
	if (czy_ok!=true)
	{
		alert("Oprocentowanie nominalne musi być liczbą.")
		KAP_B4.value="";
	}
}


function KAP_sprawdz_B5()
{
	var czy_ok = IsNumeric('KAP_B5');
	if (czy_ok!=true)
	{
		alert("Liczba lat musi być liczbą.")
		KAP_B4.value="";
	}
}
