var sessionData = new SessionData();
var viFirstDeposit	      = ++seqNum;
var viCalculationPeriod     = ++seqNum;
var viflag_preFirstDeposit = ++seqNum;
var flag_firstDeposit;
var value_firstDeposit;
var index_period;
var value_TotalInterest;
var value_totalDeposit;
var intInterestRate;
var currentStep;
var flag_preFirstDeposit = 0;

function fillScreenContent_PreStep_SD(){

	currentStep = 0;
	updateComponent('txtPreStep_Heading_SD',strPreStep_Heading_SD);	
	updateComponent('txtPreStep_introTxt_1_SD',strPreStep_introTxt_1_SD);
	updateComponent('lblFirstDeposit_SD',strLabelPre_firstDeposit_SD+"<span>"+strPreLabel_firstDeposit_SD+"</span>");
	updateComponent('lblPostFirstDeposit_SD',strPostLabel_firstDeposit_SD);
	updateComponent('lblPeriod_SD',strLabelPre_period_SD);
	populatelist();
    document.getElementById('berekenbutton_SD').title=strText_berekenAlt_SD;
	flag_preFirstDeposit = 1;
   
}

function fillScreenContent_Step1()
{ 	
	currentStep = 1;
	if(strStep1_subHeading==' ')
		hideComponent('txtStep1_subHeading');
	else
        updateComponent('txtStep1_subHeading',strStep1_subHeading);

	updateComponent('txtStep1_heading',strStep1_StepHeading);
		
	if(strStep1_introTxt_1==' ')
		hideComponent('txtStep1_introTxt_1');
	else 
		updateComponent('txtStep1_introTxt_1',strStep1_introTxt_1);
	
	if(strStep1_introTxt_2==' ')
		hideComponent('txtStep1_introTxt_2');
	else 
		updateComponent('txtStep1_introTxt_2',strStep1_introTxt_2);

	updateComponent('lblFirstDeposit',strLabelStep1_firstDeposit+'*');
	updateComponent('step1_euro1',strPreLabel_firstDeposit);
	updateComponent('lblPostFirstDeposit',strPostLabel_firstDeposit);
	updateComponent('lblPeriod',strLabelStep1_period+'*&nbsp;&nbsp;') ;
	populatelist();
	updateComponent('txtMandatoryField',strLabel_mandatory);
	
	getSessionData_SD();
	
	fo.txtFirstDeposit.value = value_firstDeposit;
	fo.selPeriod.selectedIndex = index_period;
		
	if(strTextStep1_Disclaimer==' ')
		hideComponent('txtDisclaimer');
	else
		updateComponent('txtDisclaimer',strTextStep1_Disclaimer);

	document.getElementById('berekenbutton').title=strText_berekenAlt;
    setFocus('txtFirstDeposit');
	if(value_firstDeposit<intMinVal_firstDeposit && flag_firstDeposit == 1 && value_firstDeposit!='')
	{
		unhideComponent('errFirstDeposit'); 
		ShwErr(fo.txtFirstDeposit,"errFirstDeposit",err_firstDeposit_belowMin);
	}
	else
		hideComponent('errFirstDeposit'); 
	flag_preFirstDeposit = 2;
	}
function fillScreenContent_Resultaat(){ 

	currentStep = 2;
	getSessionData_SD();
	if(strStep2_subHeading=='')
		hideComponent('txtStep2_subHeading');
	else
		updateComponent('txtStep2_subHeading',strStep2_subHeading);
	updateComponent('txtStep2_heading',strStep2_StepHeading);
	
	if(strStep2_introTxt_1=='')
		hideComponent('txtStep2_introTxt_1');
	else
		updateComponent('txtStep2_introTxt_1',strStep2_introTxt_1);
	
	if(strStep2_introTxt_2=='')
		hideComponent('txtStep2_introTxt_2');
	else
		updateComponent('txtStep2_introTxt_2',strStep2_introTxt_2);
	updateComponent('lblTotalDeposit',strText_totalDeposit);
	updateComponent('lblEndBalance',strText_endBalance);
	updateComponent('lblRevenue',strText_revenue);
	updateComponent('lblYourDetails',strText_userInputs);
	updateComponent('txtFirstDeposit',strLabelRes_firstDeposit);
	updateComponent('selPeriod',strLabelRes_period);
	updateComponent('txtEffectiveRate',strText_effectiveRate);
	updateComponent('infotitle_EffectiveRate',strInfoTitle_EffectiveRate);
	updateComponent('infotext_EffectiveRate',strInfoText_EffectiveRate);
	calculate();
	value_TotalInterest=value_totalDeposit-value_firstDeposit;
	updateComponent('spEUR_1',strEUR);
	updateComponent('valTotalDeposit',formatAsCurrency(parseFloat(value_firstDeposit)));
	updateComponent('spEUR_2',strEUR);
	updateComponent('valFinalBalance',formatAsCurrency(parseFloat(value_totalDeposit)));
	updateComponent('spEUR_3',strEUR);
	updateComponent('valRevenue',formatAsCurrency(parseFloat(value_TotalInterest)));
	updateComponent('valFirstDeposit',formatAsCurrency(parseFloat(value_firstDeposit)));
	updateComponent('result_value_euro4',strEUR);
	updateComponent('valPeriod',arrIntRates_SD[index_period][0] + '&nbsp;'+strPostLabel_period);	
	updateComponent('valEffectiveRange',formatAsPercentage(formatAsCurrency2(intInterestRate)));
	updateComponent('txt_internetBanking',strText_internetBanking);
	if(strText_internetBanking=='')
	{
	hideComponent('txt_internetBanking');
	hideComponent('line_internetBanking');
	}
	
	if(strTextRes_Disclaimer=='')
	{
		hideComponent('txtDisclaimer');
	}
	else
		updateComponent('txtDisclaimer',strTextRes_Disclaimer);
	updateComponent('txtPreviousPage',strText_PreviousPage);
    document.getElementById('aanvragenbutton').title=strText_aanvragenAlt;
	
	}

function validate_PreStep_SD(e){			
		var params="0="+(document.IAM_PreStep_SD.txtFirstDeposit_SD.value)+"&1="+(document.IAM_PreStep_SD.selPeriod_SD.selectedIndex)+"&2="+flag_preFirstDeposit;
		YAHOO.util.Event.preventDefault(e);
		
		exp = /(^-?\d*\.\d*$)|(^-?\d*$)|(^-?\.\d*$)/;
		
		if((document.IAM_PreStep_SD.txtFirstDeposit_SD.value =='')||(!exp.test(document.IAM_PreStep_SD.txtFirstDeposit_SD.value))|| (document.IAM_PreStep_SD.txtFirstDeposit_SD.value <intMinVal_firstDeposit)||(document.IAM_PreStep_SD.txtFirstDeposit_SD.value <intMaxVal_firstDeposit)){
	
	location.href=strURL_step1_SD+'?pos='+strOmniture_variable_SD+'&'+params;
	return false;	
	}
	else
	{	
		location.href = strURL_step2_SD+'?'+params;
		return false;	
	}
		return false;	
}

function gotoScreenStep2(){ 
	if(checkForm())	{		
		setSessionData_SD();			
		location.href = strURL_step2_SD+'?'+sessionData.paramString();	
	}else{	
	
	 return false;
	}
}
function validate_Step1(){

	if(checkForm())	{
		setSessionData_SD();
		
		location.href = strURL_step2_SD+'?'+sessionData.paramString();
		return false;	
	}else{
	
	return false;
	}
}
function gotoPreviousScreen()
{
if(flag_firstDeposit == 1)
{
	location.href = strURL_step0_SD;	
}
else if(flag_firstDeposit == 2)
{
	location.href = strURL_step1_SD+'?'+sessionData.paramString();	
}
	return false;
}
function gotoApplicationPage(){
                var strURL = strURL_onlineApplication+"?pos="+strOmniture_variable_SD+"&";
	onlineApplication(strURL,true, value_firstDeposit,0);
	return false;
}
function gotoInternetOrderPage(){
                                var strURL = strURL_internetBanking +"?";
		
		onlineApplication(strURL,true, value_firstDeposit,0);
		return false;
	}

function minVal_firstDeposit(){
	if(fo.txtFirstDeposit.value!='' && fo.txtFirstDeposit.value < intMinVal_firstDeposit){
		ShwErr(fo.txtFirstDeposit,"errFirstDeposit",err_firstDeposit_belowMin);
		return false;
	}	
	return true;
}

function maxVal_firstDeposit(){
	if(fo.txtFirstDeposit.value!='' && fo.txtFirstDeposit.value > intMaxVal_firstDeposit){
		ShwErr(fo.txtFirstDeposit,"errFirstDeposit",err_firstDeposit_aboveMax);
		return false;
	}	
	return true;
}




function checkForm()
{   
		var count = 0;
		//isHex(fo.txtFirstDeposit);
		fo.txtFirstDeposit.value = stripPeriodsFromAmount(fo.txtFirstDeposit);
	        if (ReqFieldEmpty(fo.txtFirstDeposit,"errFirstDeposit",err_firstDeposit_emptyField)) {				
			if (IsDigitsOnly(fo.txtFirstDeposit,"errFirstDeposit",err_firstDeposit_noDigit)) {				
				if (IsDecimal(fo.txtFirstDeposit,"errFirstDeposit",err_firstDeposit_noDecimal)) {			
					if(minVal_firstDeposit()){						
						hideComponent("errFirstDeposit");	
						    if(intMaxVal_firstDeposit!=''){
						        if(maxVal_firstDeposit()){
						            hideComponent("errFirstDeposit")
						             count++;			
					        }
					    }
					else
					{
					count++;
					}
					}					
				}
			}
		}
		
	if(count == 1)		
		return true;			
	else {
			return false;
	}
}

function getSessionData_SD() {

        if (sessionData.hasVal(viFirstDeposit)) {
            value_firstDeposit=sessionData.getVal(viFirstDeposit);
		}
		else 
			value_firstDeposit = '';

		if (sessionData.hasVal(viCalculationPeriod)) {
			index_period=sessionData.getVal(viCalculationPeriod);
			
			
		flag_firstDeposit = sessionData.getVal(viflag_preFirstDeposit);
		}
		else
		index_period = 0;
	}

//Set Session data
function setSessionData_SD()
{

if(currentStep == 1)
{
if(fo.txtFirstDeposit.value!='')
 sessionData.setVal(viFirstDeposit,fo.txtFirstDeposit.value);

 if(fo.selPeriod.selectedIndex >=0){  
			sessionData.setVal(viCalculationPeriod,fo.selPeriod.selectedIndex);  
			
			sessionData.setVal(viflag_preFirstDeposit,flag_preFirstDeposit); 
}
}

}


function calculate()
{
	var Balance=0;
	var Period=0;
	intInterestRate = getInterestRate(index_period);
	var UsedInterestRate = intInterestRate/100;
	Balance = parseFloat(Balance) + parseFloat(value_firstDeposit);
	while(Period < arrIntRates_SD[index_period][0])
	{
		Balance = Balance + calculateInterest(Balance,UsedInterestRate);
		Period++;
	}
	value_totalDeposit=parseInt(Balance);
	}

// Get Interest Rate for given Calculation Period
function getInterestRate(index_period)
{
	
	for(var i=0; i<arrIntRates_SD.length; i++)
	{
	if(arrIntRates_SD[index_period][0]==arrIntRates_SD[i][0])
	{
	intInterestRate=(arrIntRates_SD[i][1]);
	}
  }
  return(intInterestRate);
}

//Calculate interest rate of given number of years.
function calculateInterest(TempBalance,NominalintInterestRate)
{
	var Interest;
	Interest = (TempBalance * NominalintInterestRate);
	return (Interest);
}


function populatelist()
  {
    for(i=0;i<arrIntRates_SD.length;i++)
	{
	 if(currentStep==0)
	 {
	  document.IAM_PreStep_SD.selPeriod_SD.options[i] = new Option(arrIntRates_SD[i][0]+" jaar",arrIntRates_SD[i][0]);
	 }
	 else if(currentStep==1)
	 {
	 fo.selPeriod.options[i] = new Option(arrIntRates_SD[i][0]+" jaar",arrIntRates_SD[i][0]);
	 }
   }
}
