// Total

function Step1() {
	this.inflasiSwasta = 20/100;
	this.inflasi = 15/100;
	this.inflasiS1Indo = 15/100;
	this.inflasiS1Int = 10/100;	
}

Step1.prototype.getTotal = function() {

	biaya = 0;	
	totWaktu = 0;
	
	this.biayaTotal = 0;
	this.biayaTotalNanti = 0;
	
	tahunKelahiranAnak = parseInt(GetValueById("txtTahunKelahiranAnak"));
	tahunSekarang = parseInt(GetValueById("txtTahunSekarang"));
	
	usiaAnak = tahunSekarang - tahunKelahiranAnak;
	
	SetDocText("txtUsiaAnakSekarang", usiaAnak) ;
	
	for (step=0; step < 7; step++) {
		if(parseInt(GetValueById("periode[" + step + "]")) > 0) {
			
			biaya = parseInt(GetValueById("uangMuka[" + step + "]"));
			periode = parseInt(GetValueById("periode[" + step + "]"));
			sudahLewat = 1;
			
			if(step == 5 || step == 6)
				inflasi = this.inflasi;
			else 
				inflasi = this.inflasiSwasta;

			totWaktu += periode;			
			
			if(step == 0)
				tahun = 3 + tahunKelahiranAnak;
			else
				tahun = tahunKelahiranAnak + 3 + totWaktu - periode;
				
			waktuSekarang = tahun - tahunSekarang;	
			
			if(waktuSekarang < 0) {
				sudahLewat = 0;
				waktuSekarang = 0;
			}
			
			biaya = biaya * sudahLewat;
			biayaNanti = biaya * Math.pow((1 + (inflasi)), waktuSekarang) * sudahLewat;
						
			this.biayaTotal += biaya;
			this.biayaTotalNanti += biayaNanti;
			
			SetDocText("totBiaya[" + step + "]", DecimalAsString(DecimalValue(biaya))) ;
			SetDocText("totBiayaNanti[" + step + "]", DecimalAsString(DecimalValue(biayaNanti))) ;
			SetDocText("waktu[" + step + "]", DecimalValue(waktuSekarang)) ;
			SetDocText("tahun[" + step + "]", DecimalValue(tahun)) ;
		}
	}	
}

// The real calculation

var Step_1 = new Step1; // Jumlah Tahun sebelum pensiun

function CalculateStep(step) {
	Step_1.getTotal();
}

function CalculateTotal() {
	Step_1.getTotal();
	
	SetDocText("totalBiaya", DecimalAsString(DecimalValue(Step_1.biayaTotal)));
	SetDocText("totalBiayaNanti", DecimalAsString(DecimalValue(Step_1.biayaTotalNanti)));
}
