// (C) Copyright 2004 - 2011 Jeppessen Productions cc and TraciDesign.
// Prepared for the Property Power Disc.
// Copyright: This software is protected by copyright laws and international copyright treaties, 
// as well as other intellectual property laws and treaties. The software is licensed not sold.
// Restriction: You may not attempt to reverse compile, modify, translate or disassemble this software 
// in whole or in part. You may not remove or modify any copyright notice.


function ResetAll() {
	document.frmCalc.txtPurch.value="";
	document.frmCalc.txtAmt.value="";
	document.frmCalc.txtDep.value="";

	document.frmCalc.rdg.value="";
	
	document.frmCalc.txtTtotal.value="";
	document.frmCalc.txtBtotal.value="";
	document.frmCalc.txtTotal.value="";
	
	document.frmCalc.txtPurch2.value="";
	document.frmCalc.txtTduty.value="";
	document.frmCalc.txtTexam.value="";
	document.frmCalc.txtTtariff.value="";
	document.frmCalc.txtTpost.value="";
	document.frmCalc.txtTsearch.value="";
	document.frmCalc.txtTfica.value="";
	document.frmCalc.txtTdocfee.value="";
	document.frmCalc.txtTclearance.value="";
	document.frmCalc.txtTvat.value="";
	document.frmCalc.txtTtotal2.value="";
	
	document.frmCalc.txtAmt3.value="";
	document.frmCalc.txtBdeeds.value="";
//	document.frmCalc.txtBbank.value="";
	document.frmCalc.txtBtariff.value="";
	document.frmCalc.txtBpost.value="";
	document.frmCalc.txtBaktex.value="";
	document.frmCalc.txtBfica.value="";
	document.frmCalc.txtBdocfee.value="";
	document.frmCalc.txtBvat.value="";
	document.frmCalc.txtBtotal2.value="";
	
	document.frmCalc.txtAmt2.value="";
	document.frmCalc.txtRepay.value="";
	
	document.frmCalc.txtEmail.value="";
	document.frmCalc.calcOption.value="";
	document.frmCalc.VerifyBox.value="";
}




function RoundNumbers(TheNum) {
	//return Math.round(TheNum);
	return TheNum;
}

function addComma(TheNum)
{
    numVar=String(TheNum);
    var commaNumber = "";
    var thenumber = ""
    var thefraction = "";
    var j = numVar.indexOf(".");
    var l = numVar.length;
    
    if (j > 0)
    {    //found a period.
	 tvar=numVar+"00"; 
	 numVar=numVar.substr(0,j);
         for(i = j; i<j+3; i++) {     
               thefraction = thefraction + tvar.charAt(i); }
    }  else { //no period found
	    thefraction = ".00"; }
	j = numVar.length;

    for (i = j; i > 0; i--) {
         if ((i != j) && ((j - i) % 3 == 0))
                thenumber = thenumber + " ";
         thenumber = thenumber + numVar.charAt(i-1);
    }
    j = thenumber.length;
    for (i = j; i >= 0; i--)
        commaNumber = commaNumber + thenumber.charAt(i);
    
    commaNumber=commaNumber+thefraction; 
    return commaNumber;
}

function addCommaEx(TheNum)
{
    numVar=String(TheNum);
    var commaNumber = "";
    var thenumber = ""
    var thefraction = "";
    var j = numVar.length;

    for (i = j; i > 0; i--) {
         if ((i != j) && ((j - i) % 3 == 0))
                thenumber = thenumber + " ";
         thenumber = thenumber + numVar.charAt(i-1);
    }
    j = thenumber.length;
    for (i = j; i >= 0; i--)
        commaNumber = commaNumber + thenumber.charAt(i);

    return commaNumber;
}

function remComma(TheNum)
{
    numVar=String(TheNum);
    var thenumber = ""
    var l = numVar.length;
    
    for (i = l; i > 0; i--) {
         if (numVar.charAt(i-1) != " ")
         	thenumber = thenumber + numVar.charAt(i-1);
    }
	
	numVar=""
	j = thenumber.length;
    for (i = j; i >= 0; i--)
        numVar = numVar + thenumber.charAt(i);
		
	if ((numVar==".00")) {
		numVar="0"
	}
    return numVar;
}

function CalculateTransfer() {
var tot1 = 0;
var tot2 = 0;
	document.frmCalc.calcOption.value=1;
	if (remComma(document.frmCalc.txtPurch.value)==0) {
		alert("Please enter a purchase price.")
		document.frmCalc.txtPurch.focus()
	}
		else
	{
//	document.frmCalc.txtAmt2.value=document.frmCalc.txtAmt.value;	//bond amount

	tot1=CalculateTransferFees(1);
	tot2=CalculateBondFees(0);
	tot3=CalculateRepayments(0);
	
//	document.frmCalc.txtTotal.value=addComma(RoundNumbers(tot1+tot2));		//total cost
	document.frmCalc.txtTtotal2.value=document.frmCalc.txtTtotal.value;	//transfer cost breakdown total
//	document.frmCalc.txtBtotal2.value=document.frmCalc.txtBtotal.value;	//bond cost breakdown total
	document.frmCalc.txtPurch2.value=addComma(remComma(document.frmCalc.txtPurch.value));	//TRANSFER COSTS purchase price  
//	document.frmCalc.txtAmt3.value=addComma(remComma(document.frmCalc.txtAmt.value));	//BOND COSTS bond amount 
	}
//	document.frmCalc.txtBbank.value=12345;
}


function CalculateBond() {
var tot1 = 0;
var tot2 = 0;
	document.frmCalc.calcOption.value=2;
	if (remComma(document.frmCalc.txtAmt.value)==0) {
		alert("Please enter a bond amount.")
		document.frmCalc.txtAmt.focus()
	}
		else
	{
	document.frmCalc.txtAmt2.value=document.frmCalc.txtAmt.value;	//bond amount

	tot1=CalculateTransferFees(0);
	tot2=CalculateBondFees(1);
	tot3=CalculateRepayments(1);
	
//	document.frmCalc.txtTotal.value=addComma(RoundNumbers(tot1+tot2));		//total cost
//	document.frmCalc.txtTtotal2.value=document.frmCalc.txtTtotal.value;	//transfer cost breakdown total
	document.frmCalc.txtBtotal2.value=document.frmCalc.txtBtotal.value;	//bond cost breakdown total
//	document.frmCalc.txtPurch2.value=addComma(remComma(document.frmCalc.txtPurch.value));	//TRANSFER COSTS purchase price  

	document.frmCalc.txtAmt3.value=addComma(remComma(document.frmCalc.txtAmt.value));	//BOND COSTS bond amount  
	}
}



function CalculateAll() {
var tot1 = 0;
var tot2 = 0;
	document.frmCalc.calcOption.value=3;
	if (remComma(document.frmCalc.txtPurch.value)==0) {
		alert("Please enter a purchase price.")
		document.frmCalc.txtPurch.focus()
	}
		else
	{
			if (remComma(document.frmCalc.txtAmt.value)==0) {
			alert("Please enter a bond amount.")
			document.frmCalc.txtAmt.focus()
		}
			else
		{
		document.frmCalc.txtAmt2.value=document.frmCalc.txtAmt.value;	//bond amount
	
		tot1=CalculateTransferFees(1);
		tot2=CalculateBondFees(1);
		tot3=CalculateRepayments(1);
		
		document.frmCalc.txtTotal.value=addComma(RoundNumbers(tot1+tot2));		//total cost
		document.frmCalc.txtTtotal2.value=document.frmCalc.txtTtotal.value;	//transfer cost breakdown total
		document.frmCalc.txtBtotal2.value=document.frmCalc.txtBtotal.value;	//bond cost breakdown total
		document.frmCalc.txtPurch2.value=addComma(remComma(document.frmCalc.txtPurch.value));	//TRANSFER COSTS purchase price  
		document.frmCalc.txtAmt3.value=addComma(remComma(document.frmCalc.txtAmt.value));	//BOND COSTS bond amount 
		}
	}
}


function ValidateNumberOnlyInput(allowdot) {
	//alert("aaa");
    if (!((event.keyCode>=48) && (event.keyCode<=57))) {
    	event.returnValue = false;}
    	
    if ((allowdot>0) && (event.keyCode==46)) {
        event.returnValue = true;
	}
}
//	document.frmCalc.txtDep.value = event.keyCode;


function UpdateInfo(MustUpdate) {
var amt = 0;
//	document.frmCalc.txtAmt.value=document.frmCalc.txtPurch.value;	
//	add commas to the top values
	document.frmCalc.txtPurch.value=addCommaEx(remComma(document.frmCalc.txtPurch.value));
	document.frmCalc.txtDep.value=addCommaEx(remComma(document.frmCalc.txtDep.value));
	document.frmCalc.txtAmt.value=addCommaEx(remComma(document.frmCalc.txtAmt.value));
	
	
	if ((MustUpdate==1) && (remComma(document.frmCalc.txtPurch.value)>0) && (remComma(document.frmCalc.txtDep.value)>0))  {
		amt=remComma(document.frmCalc.txtPurch.value)-remComma(document.frmCalc.txtDep.value);
		document.frmCalc.txtAmt.value=addCommaEx(amt);
	}
		
		
//		document.frmCalc.txtAmt.value=addCommaEx(remComma(document.frmCalc.txtAmt.value));
			
}


function UpdateRepayment() {
	CalculateRepayments();
}

function GetTxferCost(Amt) {
var AmtTXfer1 = 1000;
var AmtTXfer2 = 500;
var AmtTXfer3 = 250;

// TRANSFERING ATTORNEYS FEES
	txfer=0;
	if (Amt<=80000) { txfer=3200; }
	if ((Amt>80000) && (Amt<=90000))  { txfer=3400; }
	if ((Amt>90000) && (Amt<=100000))  { txfer=3650; }
	if ((Amt>100000) && (Amt<=125000))  { txfer=3750; }
	if ((Amt>125000) && (Amt<=150000))  { txfer=3900; }
	if ((Amt>150000) && (Amt<=175000))  { txfer=4200; }
	if ((Amt>175000) && (Amt<=200000))  { txfer=4400; }
	if ((Amt>200000) && (Amt<=250000))  { txfer=4800; }
	if ((Amt>250000) && (Amt<=300000))  { txfer=5500; }
	if ((Amt>300000) && (Amt<=350000))  { txfer=5900; }
	if ((Amt>350000) && (Amt<=400000))  { txfer=6400; }
	if ((Amt>400000) && (Amt<=450000))  { txfer=6900; }
	if ((Amt>450000) && (Amt<=500000))  { txfer=7500; }
	
//	txfer=0;
//	if (Amt<=18000) { txfer=760; }
//	if ((Amt>18000) && (Amt<=30000))  { txfer=1250; }
//	if ((Amt>30000) && (Amt<=45000))  { txfer=1500; }
//	if ((Amt>45000) && (Amt<=70000))  { txfer=1800; }
//	if ((Amt>70000) && (Amt<=80000))  { txfer=2500; }
//	if ((Amt>80000) && (Amt<=90000))  { txfer=2700; }
//	if ((Amt>90000) && (Amt<=100000))  { txfer=2900; }
//	if ((Amt>100000) && (Amt<=125000))  { txfer=3000; }
//	if ((Amt>125000) && (Amt<=150000))  { txfer=3100; }
//	if ((Amt>150000) && (Amt<=175000))  { txfer=3300; }
//	if ((Amt>175000) && (Amt<=200000))  { txfer=3500; }
//	if ((Amt>200000) && (Amt<=250000))  { txfer=3800; }
//	if ((Amt>250000) && (Amt<=300000))  { txfer=4400; }
//	if ((Amt>300000) && (Amt<=350000))  { txfer=4700; }
//	if ((Amt>350000) && (Amt<=400000))  { txfer=5100; }
//	if ((Amt>400000) && (Amt<=450000))  { txfer=5500; }
//	if ((Amt>450000) && (Amt<=500000))  { txfer=6000; }
	
	x=0
	if (txfer==0) {
		txfer=txfer+7500;
	
		if ((Amt>500000) && (Amt<=1000000))  { 
			x=Math.ceil((Amt-500000)/100000);
			txfer=txfer+(x*AmtTXfer1);
		
		}
		if ((Amt>1000000) && (Amt<=5000000))  { 
			x=Math.ceil((Amt-1000000)/100000);
			//alert(x);		
			txfer=txfer+(5*AmtTXfer1);
			txfer=txfer+(x*AmtTXfer2);
		}
		
		if (Amt>5000000)  { 
			x=Math.ceil((Amt-5000000)/100000);		
			txfer=txfer+(5*AmtTXfer1);
			txfer=txfer+(40*AmtTXfer2);
			txfer=txfer+(x*AmtTXfer3);
		}
	}
	return txfer;			
	
}

function GetBondCost(Amt) {
var AmtBondC1 = 800;
var AmtBondC2 = 400;
var AmtBondC3 = 200;

// BOND ATTORNEYS FEES
	bond=0;
	if (Amt<=100000) { bond=2500; }
	if ((Amt>100000) && (Amt<=125000))  { bond=2600; }
	if ((Amt>125000) && (Amt<=150000))  { bond=2700; }
	if ((Amt>150000) && (Amt<=175000))  { bond=2900; }
	if ((Amt>175000) && (Amt<=200000))  { bond=3000; }
	if ((Amt>200000) && (Amt<=250000))  { bond=3300; }
	if ((Amt>250000) && (Amt<=300000))  { bond=3700; }
	if ((Amt>300000) && (Amt<=350000))  { bond=4100; }
	if ((Amt>350000) && (Amt<=400000))  { bond=4600; }
	if ((Amt>400000) && (Amt<=450000))  { bond=5000; }
	if ((Amt>450000) && (Amt<=500000))  { bond=5400; }	

//	bond=0;
//	if (Amt<=10000) { bond=550; }
//	if ((Amt>10000) && (Amt<=15000))  { bond=700; }
//	if ((Amt>15000) && (Amt<=20000))  { bond=750; }
//	if ((Amt>20000) && (Amt<=25000))  { bond=850; }
//	if ((Amt>25000) && (Amt<=30000))  { bond=900; }
//	if ((Amt>30000) && (Amt<=35000))  { bond=1000; }
//	if ((Amt>35000) && (Amt<=40000))  { bond=1100; }
//	if ((Amt>40000) && (Amt<=45000))  { bond=1150; }
//	if ((Amt>45000) && (Amt<=50000))  { bond=1200; }
//	if ((Amt>50000) && (Amt<=60000))  { bond=1300; }
//	if ((Amt>60000) && (Amt<=70000))  { bond=1400; }
//	if ((Amt>70000) && (Amt<=80000))  { bond=1600; }
//	if ((Amt>80000) && (Amt<=90000))  { bond=1700; }
//	if ((Amt>90000) && (Amt<=100000))  { bond=1800; }	
//	if ((Amt>100000) && (Amt<=125000))  { bond=1900; }
//	if ((Amt>125000) && (Amt<=150000))  { bond=2000; }	
//	if ((Amt>150000) && (Amt<=175000))  { bond=2100; }
//	if ((Amt>175000) && (Amt<=200000))  { bond=2200; }
//	if ((Amt>200000) && (Amt<=250000))  { bond=2400; }
//	if ((Amt>250000) && (Amt<=300000))  { bond=2700; }
//	if ((Amt>300000) && (Amt<=350000))  { bond=3000; }
//	if ((Amt>350000) && (Amt<=400000))  { bond=3400; }
//	if ((Amt>400000) && (Amt<=450000))  { bond=3700; }
//	if ((Amt>450000) && (Amt<=500000))  { bond=4000; }	
	
	x=0
	if (bond==0) {
		bond=bond+5400;
	
		if ((Amt>500000) && (Amt<=1000000))  { 
			x=Math.ceil((Amt-500000)/100000);		
			bond=bond+(x*AmtBondC1);
		
		}
		if ((Amt>1000000) && (Amt<=5000000))  { 
			x=Math.ceil((Amt-1000000)/100000);		
			bond=bond+(5*AmtBondC1);
			bond=bond+(x*AmtBondC2);
		}
		
		if (Amt>5000000)  { 
			x=Math.ceil((Amt-5000000)/100000);		
			bond=bond+(5*AmtBondC1);
			bond=bond+(40*AmtBondC2);
			bond=bond+(x*AmtBondC3);
		}
	}
	return bond;	
}

// TRANSFER DUTY 
function GetTxferDuty(Amt) {
    txfd=0;
    if (document.frmCalc.rdg[0].checked) {
    //seller is a vat vendor
        return (0);                           
    } else {
    //seller is a natural person
    if (document.frmCalc.rdg[1].checked) {
       x=0;
       if (Amt<=600000) { txfd=0; } //looks good
        if ((Amt>600000) && (Amt<=1000000))  {
           x=(Amt-600000)*(3/100);      
           txfd=x; }
        if ((Amt>1000000) && (Amt<=1500000))  { 
            x=(400000)*(3/100);
            x=x+(Amt-1000000)*(5/100);
            txfd=x; }               
        if (Amt>1500000) { 
           x=(400000)*(3/100);
           x=x+(500000)*(5/100);
           x=x+(Amt-1500000)*(8/100);                     
           txfd=x; }
     }
     return (txfd);
     }
}


function GetVat(Amt) {
	var VAT_rate=14
	return RoundNumbers(Amt * (VAT_rate / 100));
}

// PROPERTY TRANSFER FEES
function CalculateTransferFees(MustUpdate) {
	var Petties = 855;
	var SearchFee = 114;
	var Levies = 5000;
	var zz = 0;
	var Tfica = 250;
	var Tdocfee = 145;
	var Tclearance = 150;
	var tvat = 0;
	var runTotal = 0;
	
	//v=document.frmCalc.txtAmt.value;	//bond amount
	v=remComma(document.frmCalc.txtPurch.value);	//purchase price
	tc=GetTxferCost(v);
	td=GetTxferDuty(v);
	//tvat=GetVat(tc+Petties+SearchFee+Tfica+Tdocfee);
	tvat=GetVat(tc);
	
// PROPERTY TRANSFER DEEDS OFFICE LEVY (EXAMINATION) FEES 
	exam=0;
	if (v<=150000) { exam=70; }
	if ((v>150000) && (v<=300000))  { exam=350; }
	if ((v>300000) && (v<=500000))  { exam=450; }
	if ((v>500000) && (v<=1000000))  { exam=550; }
	if ((v>1000000) && (v<=2000000))  { exam=650; }
	if ((v>2000000) && (v<=3000000))  { exam=850; }
	if ((v>3000000) && (v<=5000000))  { exam=1050; }
	if (v>5000000) { exam=1250; }

//	exam=0;
//	if (v<=80000) { exam=55; }
//	if ((v>80000) && (v<=150000))  { exam=200; }
//	if ((v>150000) && (v<=300000))  { exam=260; }
//	if ((v>300000) && (v<=500000))  { exam=340; }
//	if ((v>500000) && (v<=1000000))  { exam=400; }
//	if ((v>1000000) && (v<=2000000))  { exam=500; }
//	if ((v>2000000) && (v<=3000000))  { exam=650; }
//	if ((v>3000000) && (v<=5000000))  { exam=800; }
//	if (v>5000000) { exam=1000; }
//updated deeds office fees 9 Jan 2009	

	if (MustUpdate==1) {
		document.frmCalc.txtTduty.value=addComma(td);
		document.frmCalc.txtTtariff.value=addComma(tc);
		document.frmCalc.txtTpost.value=addComma(Petties);
		document.frmCalc.txtTsearch.value=addComma(SearchFee);
		document.frmCalc.txtTvat.value=addComma(tvat);
//		document.frmCalc.txtTrates.value=addComma(Levies);
		document.frmCalc.txtTexam.value=addComma(exam);
		document.frmCalc.txtTfica.value=addComma(Tfica);
		document.frmCalc.txtTdocfee.value=addComma(Tdocfee);
		document.frmCalc.txtTclearance.value=addComma(Tclearance);
	}
	
	with (document.frmCalc) { 
		//z=parseFloat(txtTduty.value)+parseFloat(txtTexam.value)+parseFloat(txtTtariff.value)+parseFloat(txtTpost.value)+parseFloat(txtTsearch.value)+parseFloat(txtTvat.value)+parseFloat(txtTrates.value);
		runTotal=td+exam+tc+Petties+SearchFee+tvat+Tfica+Tdocfee+Tclearance;
		if (MustUpdate==1) {document.frmCalc.txtTtotal.value=addComma(RoundNumbers(runTotal));}
	}
	return runTotal;
}

// BOND REGISTRATION FEES
function CalculateBondFees(MustUpdate) {
	var runTotal = 0;
	var Petties = 684;
	var Aktex = 114;
//	var InitFee = 4000;
	var xyz = 0;
	var Bfica = 250;
	var Bdocfee = 114;
	var bvat = 0;
	var x = 0;
	
//	x = (remComma(document.frmCalc.txtBbank.value)*1);
//	if (x>0) {
//		InitFee=(x);
		//alert(x);
//	}
	v=remComma(document.frmCalc.txtAmt.value);
	bc=GetBondCost(v);
//old stamp duty?	xyz=(v*0.2)/100;
//	bvat=GetVat(bc+Petties+Aktex+Bfica+Bdocfee);
	bvat=GetVat(bc);
	
// BOND REG DEEDS OFFICE LEVY (EXAMINATION) FEES
	deeds=0;	
	if (v<=150000) { deeds=310; }
	if ((v>150000) && (v<=300000))  { deeds=350; }
	if ((v>300000) && (v<=500000))  { deeds=450; }
	if ((v>500000) && (v<=1000000))  { deeds=550; }
	if ((v>1000000) && (v<=2000000))  { deeds=700; }
	if ((v>2000000) && (v<=5000000))  { deeds=1050; }
	if (v>5000000) { deeds=2050; }
		
//	deeds=0;	
//	if (v<=150000) { deeds=200; }
//	if ((v>150000) && (v<=300000))  { deeds=260; }
//	if ((v>300000) && (v<=500000))  { deeds=340; }
//	if ((v>500000) && (v<=1000000))  { deeds=400; }
//	if ((v>1000000) && (v<=2000000))  { deeds=500; }
//	if ((v>2000000) && (v<=3000000))  { deeds=650; }
//	if ((v>3000000) && (v<=5000000))  { deeds=800; }
//	if (v>5000000) { deeds=1000; }
//updated deeds office fees 9 Jan 2009

	if (MustUpdate==1) {
		document.frmCalc.txtBtariff.value=addComma(bc);	
		document.frmCalc.txtBpost.value=addComma(Petties);
		document.frmCalc.txtBdeeds.value=addComma(deeds);
//		document.frmCalc.txtBbank.value=addComma(InitFee);
		document.frmCalc.txtBaktex.value=addComma(Aktex);
		document.frmCalc.txtBfica.value=addComma(Bfica);
		document.frmCalc.txtBdocfee.value=addComma(Bdocfee);
		document.frmCalc.txtBvat.value=addComma(bvat);
	}
//	document.frmCalc.txtBstamp.value=addComma(RoundNumbers(xyz));
	
	with (document.frmCalc) {
		//runTotal=deeds+InitFee+bc+Petties+Aktex+bvat+Bfica+Bdocfee;
		runTotal=deeds+bc+Petties+Aktex+bvat+Bfica+Bdocfee;
		//z=parseFloat(txtBstamp.value)+parseFloat(txtBdeeds.value)+parseFloat(txtBbank.value)+parseFloat(txtBtariff.value)+parseFloat(txtBpost.value)+parseFloat(txtBaktex.value)+parseFloat(txtBvat.value);
		if (MustUpdate==1) {document.frmCalc.txtBtotal.value=addComma(RoundNumbers(runTotal));	}
	}
	return runTotal;
}

function CalculateRepayments(MustUpdate) {
	var int_perc = 0;
	var monthly_int_rate=0;
	var month_term=0;
	
	v=remComma(document.frmCalc.txtAmt2.value);	//bond amount
	//document.frmCalc.txtAmt2.value=v;
	i=document.frmCalc.txtInt.value;	//interest rate
	y=document.frmCalc.txtTerm.value;	//years
	//v=document.frmCalc.txtPurch.value;	//purchase price
	
	int_perc=i/100;
	monthly_int_rate=int_perc/12;
	month_term=12*y;
	
	p=Math.pow((1+monthly_int_rate),(-1*month_term));
	r=v*(monthly_int_rate/(1-p));
	
	if (MustUpdate==1) {document.frmCalc.txtRepay.value=addComma(RoundNumbers(r));}
	//txtInt
	//txtTerm
	//document.frmCalc.txtNumber.value=(document.frmCalc.txtTerm.value * 12);
}


function CalculateMonthlyInstallment() {
var tot1 = 0;
var tot2 = 0;
var int_perc = 0;
	var monthly_int_rate=0;
	var month_term=0;
	
	document.frmCalc.calcOption.value=2;
	if (remComma(document.frmCalc.txtAmt2.value)==0) {
		alert("Please enter a bond amount.")
		document.frmCalc.txtAmt2.focus()
	}
		else
	{
//	document.frmCalc.txtAmt2.value=document.frmCalc.txtAmt.value;	//bond amount

	v=remComma(document.frmCalc.txtAmt2.value);	//bond amount
	//document.frmCalc.txtAmt2.value=v;
	i=document.frmCalc.txtInt.value;	//interest rate
	y=document.frmCalc.txtTerm.value;	//years
	//v=document.frmCalc.txtPurch.value;	//purchase price
	
	int_perc=i/100;
	monthly_int_rate=int_perc/12;
	month_term=12*y;
	
	p=Math.pow((1+monthly_int_rate),(-1*month_term));
	r=v*(monthly_int_rate/(1-p));
	
	document.frmCalc.txtRepay.value=addComma(RoundNumbers(r));

//	tot1=CalculateTransferFees(0);
//	tot2=CalculateBondFees(1);
//	tot3=CalculateRepayments(1);
	
//	document.frmCalc.txtTotal.value=addComma(RoundNumbers(tot1+tot2));		//total cost
//	document.frmCalc.txtTtotal2.value=document.frmCalc.txtTtotal.value;	//transfer cost breakdown total
	document.frmCalc.txtAmt2.value=addComma(remComma(document.frmCalc.txtAmt2.value));
	document.frmCalc.txtBtotal2.value=document.frmCalc.txtBtotal.value;	//bond cost breakdown total
//	document.frmCalc.txtPurch2.value=addComma(remComma(document.frmCalc.txtPurch.value));	//TRANSFER COSTS purchase price  

//	document.frmCalc.txtAmt3.value=addComma(remComma(document.frmCalc.txtAmt.value));	//BOND COSTS bond amount  
	}
}

function UpdateBondCalcOnly(MustUpdate) {
var amt = 0;
//	document.frmCalc.txtAmt.value=document.frmCalc.txtPurch.value;	
//	add commas to the top values
//	document.frmCalc.txtPurch.value=addCommaEx(remComma(document.frmCalc.txtPurch.value));
//	document.frmCalc.txtDep.value=addCommaEx(remComma(document.frmCalc.txtDep.value));
	document.frmCalc.txtAmt2.value=addCommaEx(remComma(document.frmCalc.txtAmt2.value));
	
	
//	if ((MustUpdate==1) && (remComma(document.frmCalc.txtPurch.value)>0) && (remComma(document.frmCalc.txtDep.value)>0))  {
//		amt=remComma(document.frmCalc.txtPurch.value)-remComma(document.frmCalc.txtDep.value);
//		document.frmCalc.txtAmt.value=addCommaEx(amt);
//	}
		
		
//		document.frmCalc.txtAmt.value=addCommaEx(remComma(document.frmCalc.txtAmt.value));
			
}




function CalcTerm(CalcType) {

//document.frmCalc.txtRepay2.value="11"
//document.frmCalc.txtExtra.value="22"
//document.frmCalc.txtTerm2.value="33"

	x=1*(remComma(document.frmCalc.txtRepay.value));
	y=1*(remComma(document.frmCalc.txtExtra.value));
	z=1*(remComma(document.frmCalc.txtRepay2.value));
	
	if (CalcType==1) { document.frmCalc.txtRepay2.value=addComma(x+y); }
	if (CalcType==2) { if (z-x<=0) {document.frmCalc.txtExtra.value=0;} else {document.frmCalc.txtExtra.value=addComma(z-x)} }
	
	if (z-x<0) {
		document.frmCalc.txtTerm2.value=document.frmCalc.txtTerm.value;
	} else {
		document.frmCalc.txtTerm2.value=CalculatePeriod();
	}
}

function CalculatePeriod() {
	var int_val = 0;
	var month_term=0;
	
	v=1*(remComma(document.frmCalc.txtAmt.value));
	w=1*(remComma(document.frmCalc.txtInt.value));
	x=1*(remComma(document.frmCalc.txtRepay2.value));

	int_val=((12/w)*100);

	month_term=(-1*Math.log(1-(v/(x*int_val)))) / (Math.log(int_val+1)-Math.log(int_val));
	return  (Math.round((month_term/12)*10)/10);
}
