﻿/*********************************************/
function LibJS_ParseCislo(LibJS_Vstup)
{
    LibJS_Cislo='';
    LibJS_Vstup=LibJS_Vstup.toString();
    for(LibJS_Index=0; LibJS_Index<LibJS_Vstup.length; LibJS_Index++)
    {
        LibJS_Znak=LibJS_Vstup.charAt(LibJS_Index);
        if (LibJS_Znak==' ')
            LibJS_Znak='';  // mezery ignorovat
        else if (LibJS_Znak==',')  // desetinny carky zmenit na tecky
            LibJS_Znak='.';
        LibJS_Cislo+=LibJS_Znak;
    }
    LibJS_Cislo=LibJS_Cislo*1;
    return LibJS_Cislo;
}
/*********************************************/
function LibJS_CisloVystup(LibJS_Cislo)
{
    if(isNaN(LibJS_Cislo))
    {
	    return "";
    }
    LibJS_Cislo=LibJS_Cislo.toString();
    LibJS_Pozice=LibJS_Cislo.indexOf('.');
    LibJS_Cislo=LibJS_Cislo.replace('.',',');
    if (LibJS_Pozice==-1)  // desetinna tecka nenalezena
        LibJS_Pozice=LibJS_Cislo.length;
    LibJS_Vystup=LibJS_Cislo.substring(LibJS_Pozice, LibJS_Cislo.length);
    while(LibJS_Pozice>=4) {
        LibJS_Pozice-=3;
        LibJS_Vystup=' '+LibJS_Cislo.substring(LibJS_Pozice, LibJS_Pozice+3)+LibJS_Vystup;
    }
    LibJS_Vystup=LibJS_Cislo.substring(0, LibJS_Pozice)+LibJS_Vystup;
    return LibJS_Vystup;
}
/*********************************************/
function RoundUp(number, ext)
{
	if(number % ext > 0)
    	return Math.ceil(number/ext)*ext 
	else
	    return Math.ceil(number)
}
/*********************************************/
function CalcHypo()
{
    var uver 	= LibJS_ParseCislo(document.getElementById("cl_1").value);
    var sazba	= LibJS_ParseCislo(document.getElementById("cl_2").value);
    var doba	= LibJS_ParseCislo(document.getElementById("cl_3").value);
    var fixace	= LibJS_ParseCislo(document.getElementById("cl_4").value);
    
    var splatka = ( uver*sazba/12/100 ) / ( 1 - ( 1 / Math.pow(1+sazba/100/12, doba*12) ) );
    document.getElementById("cl_5").innerHTML = LibJS_CisloVystup( Math.round(splatka) ) + " Kč";
    document.getElementById("cl_6").innerHTML = LibJS_CisloVystup( Math.round(splatka*12*doba) ) + " Kč";
    document.getElementById("cl_7").innerHTML = LibJS_CisloVystup( Math.round(splatka*12*doba) -  Math.round(uver) ) + " Kč";
    
    var nesplaceno = splatka * ( 1 - ( 1 / Math.pow(1+sazba/100/12, doba*12-fixace*12) ) ) / ( sazba/100/12 );
    document.getElementById("cl_8").innerHTML = fixace>doba ? "Doba fixace je kratší než doba splácení úvěru" : ( LibJS_CisloVystup( Math.round(splatka*fixace*12) ) + " Kč" );
    document.getElementById("cl_9").innerHTML = fixace>doba ? "Doba fixace je kratší než doba splácení úvěru" : ( LibJS_CisloVystup( Math.round(splatka*fixace*12 - (uver - nesplaceno)) ) + " Kč" );
    document.getElementById("cl_10").innerHTML = fixace>doba ? "Doba fixace je kratší než doba splácení úvěru" : ( LibJS_CisloVystup( Math.round(uver - nesplaceno) ) + " Kč" );
    document.getElementById("cl_11").innerHTML = fixace>doba ? "Doba fixace je kratší než doba splácení úvěru" : ( LibJS_CisloVystup( Math.round(nesplaceno) ) + " Kč" );


    var uverA 	= LibJS_ParseCislo(document.getElementById("cl_12").value);
    var sazbaA	= LibJS_ParseCislo(document.getElementById("cl_13").value);
    var dobaA	= LibJS_ParseCislo(document.getElementById("cl_14").value);
    
    if(uverA*sazbaA/100/12/dobaA < 1)
    {
        var splatek = RoundUp(Math.log(1-(uverA*sazbaA/100/12)/dobaA)/Math.log(1/(1+sazbaA/100/12)), 1);
        document.getElementById("cl_15").innerHTML = LibJS_CisloVystup( splatek );
        document.getElementById("cl_16").innerHTML = LibJS_CisloVystup( Math.round( (uverA - dobaA * (1- Math.pow(1/(1+sazbaA/100/12), splatek-1))/(sazbaA/100/12)) * Math.pow((1+sazbaA/100/12),splatek) ) ) + " Kč";
    }
    else
    {
        document.getElementById("cl_15").innerHTML = "Úvěr nebude nikdy splacen";
        document.getElementById("cl_16").innerHTML = "Úvěr nebude nikdy splacen";
    }

    document.getElementById("cl_1").value = LibJS_CisloVystup(Math.round(uver));
    document.getElementById("cl_2").value = LibJS_CisloVystup(Math.round(100*sazba)/100);

    document.getElementById("cl_12").value = LibJS_CisloVystup(Math.round(uverA));
    document.getElementById("cl_13").value = LibJS_CisloVystup(Math.round(100*sazbaA)/100);
    document.getElementById("cl_14").value = LibJS_CisloVystup(Math.round(dobaA));
}
 