Manipulate[
If[P<=0,P=1];
If[And[P>A,unknown=!="A"],P=A];
If[And[P>A,unknown=!="P"],A=P];

startDate=DateObject[{tY1,tM1,tD1}];
endDate=DateObject[{tY2,tM2,tD2}];

If[startDate>=endDate,
enableCalculation=False;
tY2=tY1;
tM2=tM1;
tD2=tD1+1;
enableCalculation=True;];

t=tStandard[{tD1,tM1,tY1},{tD2,tM2,tY2}];

If[enableCalculation,
Grid[{
{"současná hodnota",NumberForm[N@If[unknown==="P",eP/.Solve[equation/.{eA->A,ei->i,et->t}][[1]],P],{Infinity,precision}]},
{"budoucí hodnota",NumberForm[N@If[unknown==="A",eA/.Solve[equation/.{eP->P,ei->i,et->t}][[1]],A],{Infinity,precision}]},
{"úroková míra",NumberForm[N@If[unknown==="i",ei/.Solve[equation/.{eP->P,eA->A,et->t}][[1]],i],{Infinity,precision}]},
{"počet období"<>" (years)",NumberForm[N@If[unknown==="t",et/.Solve[equation/.{eP->P,eA->A,ei->i}][[1]],t],{Infinity,precision}]}
},
Alignment->Left,
Frame->All,
ItemSize->{20,2}]],

Style["Jednoduché úročení",Bold],
Delimiter,

{{unknown,"P","neznámá"},{"P"->"současná hodnota","A"->"budoucí hodnota","i"->"úroková míra","t"->"období"}},
{{precision,2,"desetinná místa"},0,10,1,AppearanceElements->None, Appearance->"Labeled"},

Delimiter,

{{P,1,"současná hodnota"}, 1,10^6,TrackingFunction->(P=If[And[#>A,unknown=!="A"],A,#];&),Appearance->"Labeled",Enabled->(unknown=!="P"), AppearanceElements->None},
{{A,1,"budoucí hodnota"}, 1,10^6,TrackingFunction->(A=If[And[#<P,unknown=!="P"],P,#];&),Appearance->"Labeled",Enabled->(unknown=!="A"),AppearanceElements->None},
{{i,1,"úroková míra"}, 1,100,Appearance->"Labeled",Enabled->(unknown=!="i"),AppearanceElements->None},

{{tStandard,tStandard30E360,"úrokový standard"},{tStandard30E360->"30E/360",tStandardACT360->"ACT/360",tStandardACT365->"ACT/365"},ControlType->RadioButton,Enabled->(unknown=!="t"),AppearanceElements->None},

{t, ControlType->None},
{startDate, ControlType->None},
{endDate, ControlType->None},

"",

"Období",
Grid[
{
{"od",
Control[{{tD1,1,""},Range[1,31], ControlType->PopupMenu,Enabled->(unknown=!="t")}],Control[{{tM1,1,""},Range[1,12], ControlType->PopupMenu,Enabled->(unknown=!="t")}],
Control[{{tY1,2000,""},Range[2000,2100], ControlType->Slider,Enabled->(unknown=!="t"), Appearance->"Labeled",ImageSize->Small}]
},
{"do",
Control[{{tD2,1,""},Range[1,31], ControlType->PopupMenu,Enabled->(unknown=!="t")}],Control[{{tM2,1,""},Range[1,12], ControlType->PopupMenu,Enabled->(unknown=!="t")}],
Control[{{tY2,2001,""},Range[2000,2100], ControlType->Slider,Enabled->(unknown=!="t"), Appearance->"Labeled",ImageSize->Small}]
}
}],

Initialization:>(
equation=eA==eP+eP*ei/100*et;
tStandard30E360[{d1_,m1_,r1_}, {d2_,m2_,r2_}]:=((360*(r2-r1)+30*(m2-m1)+(d2-d1))/360)//N;
tStandardACT360[{d1_,m1_,r1_}, {d2_,m2_,r2_}]:=((DayCount[{r2,m2,d2},{r1,m1,d1}])/360)//N;tStandardACT365[{d1_,m1_,r1_}, {d2_,m2_,r2_}]:=((DayCount[{r2,m2,d2},{r1,m1,d1}])/365)//N;

enableCalculation=True;
),
AppearanceElements->"ResetButton",
SaveDefinitions->True
]