var interestRate = 0.05;  //利息税率
function CalcForeSaving()
{
	var SaveType;	// 储蓄类型：（1.定期存款、2.活期存款、3.七天通知存款；默认为定期存款）
	var Sum;	// 初期存入金额：元（正整数；无默认值）
	var Rate;	// 年利率：正小数
	var SaveTerm = 12;	// 储蓄存期(月)(与储蓄类型中的“定期存款”相对应，与“预期提取日期”互斥
	var StandDate = new Date("1999/11/1");	// 标准日期1999年11月1日
	var BeginDate = new Date();	// 初始存入日期：年月日（默认值为当前日期）
	var DrawDate = new Date();	// 预期提取日期：“活期存款”默认值为当前日期，此项不得小于初始存入日期
							// “七天通知存款”默认值为当前日期+七天，此项不得小于初始存入日期+七天）
	//var Kind = parseInt(cbKind.SelectedItem.Value);
	
	SaveType = parseInt(ForeSavingCalc.cbType.selectedIndex) + 1;
	Sum = parseFloat(ForeSavingCalc.edSum.value);
	Rate = parseFloat(ForeSavingCalc.edRate.value)/100;
	BeginDate.setTime(StrToDate(ForeSavingCalc.beginDateID.value));
	if(SaveType == 1)
		SaveTerm = parseInt(ForeSavingCalc.cbTerm.options[ForeSavingCalc.cbTerm.selectedIndex].value);
	else
		DrawDate.setTime(StrToDate(ForeSavingCalc.drawDateID.value));		
		
	switch (SaveType)
	{
		case 1:FixedDeposit(BeginDate,StandDate,Sum,Rate,SaveTerm);break;//1.定期存款
		case 2://2.活期存款
		case 3:CurrentAndSevenNotifySave(BeginDate,DrawDate,StandDate,Sum,Rate);break;//3.七天通知存款
		default :break;//没有这种存款方式
	}
}

// 活期存款和七天通知存款
function CurrentAndSevenNotifySave(InitSaveInDate,ExpectDrawDate,StandDate,InitSaveInSum,YearRate)
{
	var tDays,tDays2;
	var TermEndSum=0;	//到期本息总额：元
	var InterestTaxSum=0;	// 扣除利息税金额：元
	
	tDays=GetDayLen(ExpectDrawDate,InitSaveInDate);//预期提取日期－初期存入日期
	tDays2=GetDayLen(ExpectDrawDate,StandDate);	//预期提取日期－1999年11月1日 
	
	if ((ExpectDrawDate>=StandDate)&&(InitSaveInDate>=StandDate))//初期存入日期和预期提取日期都在1999年11月1日之后（含1999年11月1日）
	{
		TermEndSum=InitSaveInSum*((YearRate/360.0)*tDays*(1-interestRate)+1);//到期本息总额Y=初始存入金额P＊（年利率R/360）＊（预期提取日期－初期存入日期）＊(1-利息税率) +P
		InterestTaxSum=InitSaveInSum*(YearRate/360.0)*tDays*interestRate;//扣除利息税金额＝初始存入金额P＊（年利率R/360）＊（预期提取日期－初期存入日期）＊利息税率
	}
	else if ((ExpectDrawDate<StandDate)&&(InitSaveInDate<StandDate))//初期存入日期和预期提取日期都在1999年11月1日之前
	{
		TermEndSum=InitSaveInSum*((YearRate/360.0)*tDays+1);//到期本息总额Y=初始存入金额P＊（年利率R/360）＊（预期提取日期－初期存入日期）+P
		InterestTaxSum=0.0;
	}
	else if((ExpectDrawDate>=StandDate)&&(InitSaveInDate<StandDate))//初期存入日期在在1999年11月1日之前，预期提取日期在1999年11月1日之后（含1999年11月1日）
	{
		TermEndSum=InitSaveInSum*((YearRate/360.0)*tDays+1-interestRate*tDays2*(YearRate/360.0)); //到期本息总额Y=初始存入金额P＊（年利率R/360）＊（预期提取日期－初期存入日期）+
		InterestTaxSum=interestRate*InitSaveInSum*tDays2*(YearRate/360.0);//扣除利息税金额＝利息税率×初始存入金额P×（预期提取日期－1999年11月1日）×R /360
	}
	ForeSavingCalc.lbSum.value=NBround(TermEndSum,2);
	ForeSavingCalc.lbTaxSum.value=NBround(InterestTaxSum,2);
}

/// 定期存款
function FixedDeposit(InitSaveInDate,StandDate,InitSaveInSum,YearRate,SaveYears)
{
	var years,tDays;
	var TermEndSum=0, InterestTaxSum=0;
	var tempDate=new Date(InitSaveInDate.getFullYear(),InitSaveInDate.getMonth(),InitSaveInDate.getDate());	
	tempDate.setMonth(tempDate.getMonth()+SaveYears);
	years=SaveYears/12.0;
	tDays=GetDayLen(tempDate,StandDate);//（初始存入日期+储蓄存期－1999年11月1日）
	
	if (InitSaveInDate>=StandDate)//初始存入日期和（初始存入日期+储蓄存期）都在1999年11月1日之后（含1999年11月1日）
	{
		TermEndSum=InitSaveInSum*(YearRate*years*(1-interestRate)+1);//到期本息总额Y=（初始存入金额P＊年利率R）＊储蓄存期×(1-利息税率)+P
		InterestTaxSum=InitSaveInSum*YearRate*years*interestRate;//扣除利息税金额＝（初始存入金额P＊年利率R）＊储蓄存期×利息税率
	}
	else if (tempDate<StandDate)//初始存入日期和（初始存入日期+储蓄存期）都在1999年11月1日之前
	{
		TermEndSum=InitSaveInSum*(YearRate*years+1);//到期本息总额Y=（初始存入金额P＊年利率R）＊储蓄存期+P
		InterestTaxSum=0.0;//扣除利息税金额＝0
	}
	else if((InitSaveInDate<StandDate)&&(tempDate>=StandDate))//初始存入日期在1999年11月1日之前，（初始存入日期+储蓄存期）在1999年11月1日之后（含1999年11月1日）
	{
		InterestTaxSum=interestRate*InitSaveInSum*tDays*(YearRate/360.0);//扣除利息税金额＝利息税率×P×（初始存入日期+储蓄存期－1999年11月1日）×R /360
		TermEndSum=InitSaveInSum*(YearRate*years+1)-InterestTaxSum;//到期本息总额Y=（初始存入金额P＊年利率R）＊储蓄存期+P－利息税率×P×（初始存入日期+储蓄存期－1999年11月1日）×R /360
	}
	ForeSavingCalc.lbSum.value=NBround(TermEndSum,2);
	ForeSavingCalc.lbTaxSum.value=NBround(InterestTaxSum,2);
}
