<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>利息计算器</title>
<script type="text/javascript" charset="utf-8" src="js/TimeCalendarForCal.js"></script>
<script type="text/javascript" charset="utf-8" src="js/AjaxHelper.js" ></script>
<link rel="stylesheet" type="text/css" href="css/cal.css">
</head>
<body>
<div class="c_column">
<div class="c_header">个 人 存 款 计 算 器</div>
<div class="c_con">
<table cellspacing="1" cellpadding="0" border="0" class="c_table">
<tr class="c_row">
<td id="tdl_1" class="txt">存款类型</td>
<td id="tdr_1" colspan="3" class="rightpart">
<div id="r_div_1"><select id="savingtype" onchange="ontypechange()"></select></div>
</td>
</tr>
<tr class="c_row">
<td id="tdl_2" class="txt">币种</td>
<td id="tdr_2" class="rightpart">
<div id="r_div_2"><select id="savingcurrency" onchange="oncurchange()"></select></div>
</td>
<td id="tdl_3" class="txt">初始存款金额</td>
<td id="tdr_3" class="rightpart">
<div id="r_div_3"><input id="initamount" type="text" onfocus="showtip()" onblur="hidetip()" /></div>
<div id="divtip" class="tip" style="display:none"><i></div>
</td>
</tr>
<tr class="c_row">
<td id="tdl_4" class="txt">存款期限</td>
<td id="tdr_4" class="rightpart"><div id="r_div_4"><select id="savingterm" onchange="oncurchange()"></select></div></td>
<td id="tdl_5" class="txt">年利率</td>
<td id="tdr_5" class="rightpart"><div id="r_div_5" style="height:20px; line-height:20px"><input id="savingrate" type="text"/>%</div></td>
</tr>
<tr class="c_row">
<td id="tdl_6" class="txt">初始存入日期</td>
<td id="tdr_6" class="rightpart"><div id="r_div_6"><input id="initdate" type="text" class="shortinput" onclick="getCMBCalendar('yyyy-mm-dd', 'B', new Date()).show(this);" readonly="readonly" onchange="onDHLBchange();"/></div></td>
<td id="tdl_7" class="txt">月存入金额</td>
<td id="tdr_7" class="rightpart"><div id="r_div_7"><input id="monthamount" type="text"/></div></td>
</tr>
<tr class="c_row">
<td id="tdl_8" class="txt">支取频次</td>
<td id="tdr_8" class="rightpart"><div id="r_div_8"><select id="drawfre"></select></div></td>
<td id="tdl_9" class="txt">提取日期</td>
<td id="tdr_9" class="rightpart"><div id="r_div_9"><input id="drawdate" type="text" class="shortinput" onclick="getCMBCalendar('yyyy-mm-dd', 'B', new Date()).show(this);" readonly="readonly" onchange="onDHLBchange();"/></div></td>
</tr>
</table>
<div class="divbtn">
<input id="btnCal" type="button" value="提交试算" class="btncal" onclick="onCalBtnClick()"/>
</div>
<table cellspacing="1" cellpadding="0" border="0" class="c_table">
<tr id="tramount" class="c_row" style="display:none">
<td class="txt">每次支取金额</td>
<td class="paddingleft"><input id="termamount" type="text" readonly="readonly" class="shortinput" /></td>
</tr>
<tr class="c_row">
<td class="txt">所得利息金额</td>
<td class="paddingleft"><input id="interest" type="text" readonly="readonly" class="shortinput" /></td>
</tr>
<tr class="c_row">
<td class="txt">利息税金额</td>
<td class="paddingleft"><input id="tax" type="text" readonly="readonly" class="shortinput"/></td>
</tr>
<tr class="c_row">
<td class="txt">本息合计(税后)</td>
<td class="paddingleft"><input id="result" type="text" readonly="readonly" class="shortinput" /></td>
</tr>
</table>
<div style="width:95%; height:60px; line-height:20px; margin:0 auto; margin-top:20px">
温馨提示:<br />
1. 理财计算器的数据、计算结果仅供参考。具体以办理业务或交易实际结果为准,据此投资风险自负。<br />
2. 理财计算器在计息过程中,一年以360天为标准。
</div>
</div>
</div>
<script type="text/javascript">
var path = "/jsq";
ClearAll();
ClearCalResult();
var ajaxType = new XmlHttp();
(function getSavingType() {
var url = path + "/calculator.php?func=getsavingtype";
ajaxType.getopen(url, successType, failFun);
})();
function successType() {
var data = eval(ajaxType.text);
try {
if (0 == data.code) {
getID("savingtype").options.add(new Option("==请选择==", ""));
var typelist = data.SavingType;
for (var i = 0; i < typelist.length; i++) {
getID("savingtype").options.add(new Option(typelist[i].value, typelist[i].key));
}
}
} catch (err) {}
}
var CurrencyRecord = "";
var ajaxchange = new XmlHttp();
function ontypechange() {
getID("savingcurrency").options.length = 0;
ClearAll();
ClearCalResult();
switch (getID("savingtype").value) {
case "hq":
SetToReadOnly("4,7,8");
if (getID("initdate") && getID("drawdate")) {
var d = new Date();
getID("initdate").value = d.format("yyyy-MM-dd");
d.setFullYear(d.getFullYear() + 1);
getID("drawdate").value = d.format("yyyy-MM-dd");
}
break;
case "zczq":
SetToReadOnly("6,7,8,9");
break;
case "lczq":
SetToReadOnly("6,8,9");
break;
case "cbqx":
getID("tramount").style.display = "";
SetToReadOnly("6,7,9");
break;
case "zclq":
getID("tramount").style.display = "";
SetToReadOnly("6,7,9");
break;
case "dhlb":
SetToReadOnly("4,7,8");
if (getID("initdate") && getID("drawdate")) {
var d = new Date();
getID("initdate").value = d.format("yyyy-MM-dd");
d.setFullYear(d.getFullYear() + 1);
getID("drawdate").value = d.format("yyyy-MM-dd");
}
break;
case "tzck":
SetToReadOnly("7,8");
if (getID("initdate") && getID("drawdate")) {
var d = new Date();
getID("initdate").value = d.format("yyyy-MM-dd");
d.setFullYear(d.getFullYear() + 1);
getID("drawdate").value = d.format("yyyy-MM-dd");
}
break;
case "jycx":
SetToReadOnly("6,8,9");
break;
}
if (getID("savingtype").value != "") {
var url = path + "/calculator.php?func=getdetailbytype&t=" + encodeURIComponent(getID("savingtype").value);
ajaxchange.getopen(url, successChange, failFun);
}
}
function successChange() {
var data = eval(ajaxchange.text);
try {
if (0 == data.code) {
var currencylist = data.Currency;
for (var i = 0; i < currencylist.length; i++) {
getID("savingcurrency").options.add(new Option(currencylist[i].value, currencylist[i].key));
}
CurrencyRecord = getID("savingtype").value == "zczq" ? (getID("savingcurrency").value == "10" ? "RMB" : "NotRMB") : "";
var termlist = data.Term;
getID("savingterm").options.length = 0;
if (termlist != null) {
for (var i = 0; i < termlist.length; i++) {
getID("savingterm").options.add(new Option(termlist[i].value, termlist[i].key));
}
}
var drawfrelist = data.DrawFre;
getID("drawfre").options.length = 0;
if (drawfrelist != null) {
for (var i = 0; i < drawfrelist.length; i++) {
getID("drawfre").options.add(new Option(drawfrelist[i].value, drawfrelist[i].key));
}
}
oncurchange();
}
} catch (err) {}
}
var ajaxcurchange = new XmlHttp();
function oncurchange() {
if (getID("savingtype").value == "zczq") {
if (getID("savingcurrency").value != "10" && CurrencyRecord == "RMB") {
ontermchange();
CurrencyRecord = "NotRMB";
}
if (getID("savingcurrency").value == "10" && CurrencyRecord != "RMB") {
ontermchange();
CurrencyRecord = "RMB";
}
}
if (getID("savingtype").value != "dhlb") {
var url = path + "/calculator.php?func=getrate&t=" + encodeURIComponent(getID("savingtype").value) + "&c=" + encodeURIComponent(getID("savingcurrency").value) + "&term=" + encodeURIComponent(getID("savingterm").value);
ajaxcurchange.getopen(url, successCurChange, failFun);
} else {
onDHLBchange();
}
}
function successCurChange() {
var data = eval(ajaxcurchange.text);
try {
if (0 == data.code) {
getID("savingrate").value = data.Rate;
}
} catch (err) {}
}
var ajaxtermchange = new XmlHttp();
function ontermchange() {
var url = path + "/calculator.php?func=gettermbycurrency&t=" + encodeURIComponent(getID("savingtype").value) + "&c=" + encodeURIComponent(getID("savingcurrency").value);
ajaxtermchange.getopen(url, successTermChange, failFun);
}
function successTermChange() {
var data = eval(ajaxtermchange.text);
try {
if (0 == data.code) {
getID("savingterm").options.length = 0;
var termlist = data.Term;
if (termlist != null) {
for (var i = 0; i < termlist.length; i++) {
getID("savingterm").options.add(new Option(termlist[i].value, termlist[i].key));
}
}
}
} catch (err) {}
}
//定活两便
var ajaxDHLBchange = new XmlHttp();
function onDHLBchange() {
if (getID("savingtype").value == "dhlb") {
var days = GetDateDiff(getID("initdate").value, getID("drawdate").value);
if (days <= 0) {
getID("savingrate").value = "";
} else if (days > 0 && days < 90) {
var url = path + "/calculator.php?func=getrate&t=hq&c=10&term=";
ajaxcurchange.getopen(url, successDHLBChange, failFun);
} else if (days >= 90 && days < 180) {
var url = path + "/calculator.php?func=getrate&t=zczq&c=10&term=03";
ajaxcurchange.getopen(url, successDHLBChange, failFun);
} else if (days >= 180 && days < 360) {
var url = path + "/calculator.php?func=getrate&t=zczq&c=10&term=06";
ajaxcurchange.getopen(url, successDHLBChange, failFun);
} else if (days >= 360) {
var url = path + "/calculator.php?func=getrate&t=zczq&c=10&term=12";
ajaxcurchange.getopen(url, successDHLBChange, failFun);
}
}
};
function successDHLBChange() {
var data = eval(ajaxcurchange.text);
try {
if (0 == data.code) {
var days = GetDateDiff(getID("initdate").value, getID("drawdate").value);
if (days > 0 && days < 90) {
getID("savingrate").value = data.Rate;
} else {
getID("savingrate").value = (data.Rate * 0.6).toFixed(4);
}
}
} catch (err) {}
}
function SetToReadOnly(ids) {
var idlist = ids.split(",");
for (var i = 0; i < idlist.length; i++) {
getID("r_div_" + idlist[i]).style.visibility = "hidden";
getID("tdr_" + idlist[i]).style.background = "#FFF8E7";
}
}
function ClearAll() {
for (var i = 1; i <= 9; i++) {
getID("r_div_" + i).style.visibility = "visible";
getID("tdr_" + i).style.background = "white";
}
getID("initamount").value = "";
getID("savingrate").value = "";
getID("initdate").value = "";
getID("monthamount").value = "";
getID("drawdate").value = "";
getID("savingterm").options.length = 0;
getID("drawfre").options.length = 0;
getID("savingcurrency").options.length = 0;
getID("tramount").style.display = "none";
}
function onCalBtnClick() {
//字段检查;
if (CheckCalItem()) {
DoCal();
}
//计算
}
function CheckCalItem() {
if (getID("savingtype") && getID("savingtype").value == "") {
alert("请选择存款类型!");
return false;
}
if (getID("savingrate").value == "" || isNaN(getID("savingrate").value) || getID("savingrate").value < 0) {
alert("请填入正确的年利率值!")
return false;
}
if (getID("initamount") && (getID("initamount").value == "" || isNaN(getID("initamount").value)) || getID("initamount").value < 0) {
alert("请填入正确的初始存款金额!");
return false;
}
if (getID("savingtype") && (getID("savingtype").value == "lczq" || getID("savingtype").value == "jycx")) {
if (getID("monthamount").value == "" || isNaN(getID("monthamount").value) || getID("monthamount").value < 0) {
alert("请填入正确的月存入金额!");
return false;
}
}
if (getID("savingtype") && (getID("savingtype").value == "hq" || getID("savingtype").value == "tzck" || getID("savingtype").value == "dhlb")) {
if (!compareDay(getID("initdate").value, getID("drawdate").value)) {
alert("提取日期必须大于存入日期!");
return false;
}
}
return true;
}
function DoCal() {
getID("tax").value = 0;
switch (getID("savingtype").value) {
case "hq":
var amount = getID("initamount").value;
var datecount = GetDateDiff(getID("initdate").value, getID("drawdate").value);
var yrate = getID("savingrate").value;
var interest = amount * ((datecount * yrate * 0.01) / 360);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
case "zczq":
var amount = getID("initamount").value;
var term = getID("savingterm").value;
var yrate = getID("savingrate").value;
var interest = amount * (yrate * 0.01 * term / 12);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
case "lczq":
var amount = getID("initamount").value;
var monthamount = getID("monthamount").value;
var term = getID("savingterm").value;
var yrate = getID("savingrate").value;
amount = monthamount * term
//var interest=amount * ( yrate * 0.01 * term / 12) ;
var interest = monthamount * ((term * 1 + 1) / 2 * term) * ((yrate / 100) / 12);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
case "cbqx":
var amount = getID("initamount").value;
var term = getID("savingterm").value;
var drawterm = getID("drawfre").value;
var yrate = getID("savingrate").value;
var interest = amount * (yrate * 0.01 * term / 12);
getID("termamount").value = (interest / (term / drawterm)).toFixed(2);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
case "zclq":
var amount = getID("initamount").value;
var term = getID("savingterm").value;
var drawterm = getID("drawfre").value;
var yrate = getID("savingrate").value;
var termbenjin = amount / (term / drawterm);
var interest = (amount * 1 + termbenjin * 1) / 2 * (term / drawterm) * drawterm * (yrate * 0.01 / 12);
getID("termamount").value = termbenjin.toFixed(2);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
case "dhlb":
var amount = getID("initamount").value;
var datecount = GetDateDiff(getID("initdate").value, getID("drawdate").value);
var yrate = getID("savingrate").value;
var interest = amount * ((datecount * yrate * 0.01) / 360);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
case "tzck":
var amount = getID("initamount").value;
var datecount = GetDateDiff(getID("initdate").value, getID("drawdate").value);
var yrate = getID("savingrate").value;
var interest = amount * ((datecount * yrate * 0.01) / 360);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
case "jycx":
var amount = getID("initamount").value;
var monthamount = getID("monthamount").value;
var term = getID("savingterm").value;
var yrate = getID("savingrate").value;
amount = monthamount * term
var interest = amount * (yrate * 0.01 * term / 12);
getID("interest").value = interest.toFixed(2);
getID("result").value = (amount * 1 + interest * 1).toFixed(2);
break;
}
}
function ClearCalResult() {
//清除结果
if (getID("termamount")){
getID("termamount").value = "";
}
getID("interest").value = "";
getID("tax").value = "";
getID("result").value = "";
}
function showtip() {
var type = getID("savingtype").value;
switch (type) {
case "hq":
break;
case "zczq":
if (getID("savingcurrency").value == "10")
getID("divtip").innerHTML = "起存金额人民币50元<i>";
else if (getID("savingcurrency").value == "21")
getID("divtip").innerHTML = "起存金额50港币<i>";
else if (getID("savingcurrency").value == "65")
getID("divtip").innerHTML = "起存金额1000日元<i>";
else
getID("divtip").innerHTML = "起存金额选择币种10元<i>";
getID("divtip").style.display = "";
break;
case "lczq":
getID("divtip").innerHTML = "起存金额5元<i>";
getID("divtip").style.display = "";
break;
case "cbqx":
getID("divtip").innerHTML = "起存金额5000元<i>";
getID("divtip").style.display = "";
break;
case "zclq":
getID("divtip").innerHTML = "起存金额1000元<i>";
getID("divtip").style.display = "";
break;
case "dhlb":
getID("divtip").innerHTML = "起存金额50元<i>";
getID("divtip").style.display = "";
break;
case "tzck":
getID("divtip").innerHTML = "开户起存金额5万元<i>";
getID("divtip").style.display = "";
break;
case "jycx":
getID("divtip").innerHTML = "起存金额50元;本金合计上限2万元<i>";
getID("divtip").style.display = "";
break;
}
}
function hidetip() {
getID("divtip").innerHTML = "";
getID("divtip").style.display = "none";
}
</script>
</html>