function ESSOX_aktualizuj(typ) { var o = document.getElementById('ESSOX_'+typ+'_bezurocneObdobi'); if (o) { set_value('ESSOX_specialProduct', o[o.selectedIndex].value); } // nastavit odklad splatek!!! o = document.getElementById('ESSOX_'+typ+'_odkladSplatek'); if (o) { set_value('ESSOX_odkladSplatek', o[o.selectedIndex].value); } o = document.getElementById('productID'+typ); if (o) { o.checked = true; } return ESSOX_splatkyJS(typ, ESSOX_get('ESSOX_' + typ + '_akontace'), ESSOX_get('ESSOX_' + typ + '_pocetSplatek'), ESSOX_get('ESSOX_' + typ + '_bezurocneObdobi')); } function ESSOX_get(el) { if(document.getElementById(el)) { return (document.getElementById(el).type=="select") ? document.getElementById(el).options[document.getElementById(el).selectedIndex].value : document.getElementById(el).value; } else return false; } function setContent(el,res) { if (document.getElementById(el).textContent) document.getElementById(el).textContent = res; else document.getElementById(el).innerText = res; } function rozdilDnu(pujcDen,pujcMes,pujcRok,splDen,splMes,splRok) { /* spravne podle zakona (matematicky), ale ponekud neprehledne pujcDen = parseInt(pujcDen); pujcMes = parseInt(pujcMes); pujcRok = parseInt(pujcRok); splDen = parseInt(splDen); splMes = parseInt(splMes); splRok = parseInt(splRok); if (pujcMes <= 2) { pujcRok -=1; pujcMes +=12; } a = Math.floor( pujcRok/100 ); b = 2 - a + Math.floor( a/4 ); JulianDayPujcka = Math.floor( 365.25 * ( pujcRok + 4716 )) + Math.floor( 30.6001 * ( pujcMes + 1 )) + pujcDen + b; if (splMes <= 2) { splRok -=1; splMes +=12; } a = Math.floor( splRok/100 ); b = 2 - a + Math.floor( a/4 ); JulianDaySplatka = Math.floor( 365.25 * ( splRok + 4716 )) + Math.floor( 30.6001 * ( splMes + 1 )) + splDen + b; return ( JulianDaySplatka - JulianDayPujcka ); */ var pujc = new Date(pujcRok, pujcMes-1, pujcDen); var spl = new Date(splRok, splMes-1, splDen); return Math.floor((spl - pujc)/86400000 + 0.5); //spl a pujc je v ms, zaokrouhleno kvuli dnum, kdy se posunuje cas } function fhodnota(pujcka,rok,tsplatka,tcas,sazba) { soucet = 0; for (i=0; i12) ? Math.floor((i-1)/12) : 0; cas[(i-(pujcMes+1))] = rozdilDnu(pujcDen,pujcMes,pujcRok,splDen,splMes,splRok); } rozdilstr = 0; odhad1 = 0; odhad2 = 10.001; // i.e. predpoklada se, ze koren lezi mezi 0% a 1000% fhodnota1 = fhodnota(pujcka,rok,aSplatka,cas,odhad1); fhodnota2 = fhodnota(pujcka,rok,aSplatka,cas,odhad2); if (fhodnota1*fhodnota2<0) { odhadstr = (odhad1 + odhad2)/2; fhodnotastr = fhodnota(pujcka,rok,aSplatka,cas,odhadstr); do { if ((fhodnota1*fhodnotastr)>0) odhad1 = odhadstr; if ((fhodnota2*fhodnotastr)>0) odhad2 = odhadstr; fhodnota1 = fhodnota(pujcka,rok,aSplatka,cas,odhad1); fhodnota2 = fhodnota(pujcka,rok,aSplatka,cas,odhad2); rozdilstr = Math.abs(odhadstr - (odhad1 + odhad2)/2); odhadstr = (odhad1 + odhad2)/2; fhodnotastr = fhodnota(pujcka,rok,aSplatka,cas,odhadstr); } while (rozdilstr>0.000001); rpsn2 =Math.round(odhadstr*10000)/100; } else if (fhodnota1 == 0) rpsn2 = "0"; else rpsn2 = "0"; return rpsn2; } function ESSOX_splatkyJS(id,akontaceID,pocetSplatekID) { id = parseInt(id); castka = ESSOX_get('ESSOX_cena'); chyba = ""; eval('retVal = ESSOX_'+id+'_splatky(castka,akontaceID,pocetSplatekID)'); if (retVal[2] < castka) chyba = "Maximální možná částka je " + retVal[2] + " Kč."; if (chyba!="") { retVal = new Array(0,0,0); } setContent('ESSOX_'+id+'_kalkulacka',(retVal[0]) ? retVal[0] + ",- Kč/měs." : chyba); setContent('ESSOX_'+id+'_RPSN',(retVal[0]) ? "od " + retVal[1] + " %" : "-"); document.getElementById('ESSOX_tRPSN').value = retVal[1]; document.getElementById('ESSOX_splatka').value = retVal[0]; eval('akontace = ESSOX_'+id+'_akontace(akontaceID);'); eval('pocetSplatek = ESSOX_'+id+'_pocetSplatek(pocetSplatekID);'); document.getElementById('ESSOX_numberOfInstallments').value = pocetSplatek; document.getElementById('ESSOX_advancePercent').value = akontace; document.getElementById('ESSOX_predem').value = castka * 0.01 * akontace; } function set_zero(obj) { o = document.getElementById(obj); if (o) { o.selectedIndex = 0; } } function set_value(obj, val) { o = document.getElementById(obj); if (o) { o.value = val; } } function Numbers(e) { e.value=e.value.replace(/[^0-9]/g, ''); /* var keynum; var keychar; var numcheck; var retval = true; if(window.event) // IE { keynum = e.keyCode; } else if(e.which) // Netscape/Firefox/Opera { keynum = e.which; } if (keynum == 13 || keynum == 8 || keynum == 9 || keynum == 46 || keynum == 37 || keynum == 38 || keynum == 39 || keynum == 40 || (keynum >=96 && keynum <= 105) || e.altKey || e.ctrlKey || e.metaKey ) { retval = true; } else { keychar = String.fromCharCode(keynum); numcheck = new RegExp(re); retval = numcheck.test(keychar); } return retval; */ }