function ErrorAlert(objField,sText)
{
    objField.select();
    alert(sText);
    return false;
}

function GetMonthlyValues(totalAmount, Number_Months)
{
    var aROI=new Array(0.00869,0.00793,0.00716,0.00639);
    var aPayment=new Array();
    var selectedAmt=0;
    var vAPR="";
    var posDecimal=0;
    var vPayment="";
    
    for (var i=0;i<5;i++)
    {
        aPayment[i]=(totalAmount * ( 1-( Math.pow((1 / (aROI[i] + 1)),(Number_Months)) ) ) / aROI[i]) + 0.005;
    }
    
    for (var c=0;c<5;c++)
    {
        if (aPayment[c]>=5000 && aPayment[c]<14999)
        {
            vAPR="10.9";
            selectedAmt=aPayment[0];
            break;
        }
        else if (aPayment[c]>=15000 && aPayment[c]<24999)
        {
            vAPR="9.9";
            selectedAmt=aPayment[1];
            break;
        }
        else if (aPayment[c]>=25000 && aPayment[c]<34999)
        {
            vAPR="8.9";
            selectedAmt=aPayment[2];
            break;
        }
        else if (aPayment[c]>=35000) 
        {
            vAPR="7.9";
            selectedAmt=aPayment[3];
            break;
        }
    }

    vPayment=String(selectedAmt);
    posDecimal=vPayment.indexOf(".");

    if (vPayment.charAt(posDecimal+2)=="") vPayment+="0";
    vPayment=vPayment.substring(0,posDecimal+3);

    return new Array(vPayment,vAPR);
     
   
}

function populateAPR() {


var f=document.frmCalc;

//get loan amount
var vLoanAmount= eval(removeCommas(f.Total_Loan.value));

		if (vLoanAmount<3000)
        {
            //null all options
	    	for (s = f.APR.options.length; s >= 1; s--)
	    	{	f.APR.options[s] = null;
	    	f.APR.options[0] = new Option ("Select");
	    	f.APR.options[0].value = "";
			}
	    }
		
		if (vLoanAmount>=3000 && vLoanAmount<9999)
        {
            //null all options
	    	for (s = f.APR.options.length; s >= 1; s--)
	    	{	f.APR.options[s] = null;}
	    	
			f.APR.options[0] = new Option("12.9");
			f.APR.options[0].value = "0.01016";	 
			f.APR.options[1] = new Option ("13.9%");
	    	f.APR.options[1].value = "0.01090";
			f.APR.options[2] = new Option("14.9%");
			f.APR.options[2].value = "0.01164";
			f.APR.options[3] = new Option ("15.9%");
			f.APR.options[3].value = "0.01237";
	    	f.APR.options[4] = new Option ("16.9%");
	    	f.APR.options[4].value = "0.01310";
			f.APR.options[5] = new Option ("17.9%");
	    	f.APR.options[5].value = "0.01382";
			f.APR.options[6] = new Option ("18.9%");
	    	f.APR.options[6].value = "0.01453";
			f.APR.options[7] = new Option ("19.9%");
	    	f.APR.options[7].value = "0.01524";
			f.APR.options[8] = new Option ("22.9%");
	    	f.APR.options[8].value = "0.01733";
			f.APR.options[9] = new Option ("25.9%");
	    	f.APR.options[9].value = "0.01938";
			f.APR.options[10] = new Option ("29.9%");
	    	f.APR.options[10].value = "0.02204";
        	}
			else if (vLoanAmount>=10000 && vLoanAmount<19999)
       		{
            //null all options
	    	for (s = f.APR.options.length; s >= 1; s--)
	    	{	f.APR.options[s] = null;}
	    
	    		f.APR.options[0] = new Option ("11.9%");
	    		f.APR.options[0].value = "0.00941";
				f.APR.options[1] = new Option("12.9");
				f.APR.options[1].value = "0.01016";	 
				f.APR.options[2] = new Option ("13.9%");
	    		f.APR.options[2].value = "0.01090";
				f.APR.options[3] = new Option("14.9%");
				f.APR.options[3].value = "0.01164";
				f.APR.options[4] = new Option ("15.9%");
				f.APR.options[4].value = "0.01237";
	    		f.APR.options[5] = new Option ("16.9%");
	    		f.APR.options[5].value = "0.01310";
				f.APR.options[6] = new Option ("17.9%");
	    		f.APR.options[6].value = "0.01382";
				f.APR.options[7] = new Option ("18.9%");
	    		f.APR.options[7].value = "0.01453";
				f.APR.options[8] = new Option ("19.9%");
	    		f.APR.options[8].value = "0.01524";
				f.APR.options[9] = new Option ("22.9%");
	    		f.APR.options[9].value = "0.01733";
				f.APR.options[10] = new Option ("25.9%");
	    		f.APR.options[10].value = "0.01938";
				f.APR.options[11] = new Option ("29.9%");
	    		f.APR.options[11].value = "0.02204";
        	}
        	else if (vLoanAmount>=20000 && vLoanAmount<29999)
        	{
            //null all options
	    	    for (s = f.APR.options.length; s >= 1; s--)
	    	    {	f.APR.options[s] = null;}
	    
	    			f.APR.options[0] = new Option ("10.9%");
	    			f.APR.options[0].value = "0.00866";
					f.APR.options[1] = new Option ("11.9%");
	    			f.APR.options[1].value = "0.00941";
					f.APR.options[2] = new Option("12.9");
					f.APR.options[2].value = "0.01016";	 
					f.APR.options[3] = new Option ("13.9%");
	    			f.APR.options[3].value = "0.01090";
					f.APR.options[4] = new Option("14.9%");
					f.APR.options[4].value = "0.01164";
					f.APR.options[5] = new Option ("15.9%");
					f.APR.options[5].value = "0.01237";
	    			f.APR.options[6] = new Option ("16.9%");
	    			f.APR.options[6].value = "0.01310";
					f.APR.options[7] = new Option ("17.9%");
	    			f.APR.options[7].value = "0.01382";
					f.APR.options[8] = new Option ("18.9%");
	    			f.APR.options[8].value = "0.01453";
					f.APR.options[9] = new Option ("19.9%");
	    			f.APR.options[9].value = "0.01524";
					f.APR.options[10] = new Option ("22.9%");
	    			f.APR.options[10].value = "0.01733";
					f.APR.options[11] = new Option ("25.9%");
	    			f.APR.options[11].value = "0.01938";
					f.APR.options[12] = new Option ("29.9%");
	    			f.APR.options[12].value = "0.02204";
        }
		
		else if (vLoanAmount>=30000 && vLoanAmount<100001)
        {
            //null all options
	    	    for (s = f.APR.options.length; s >= 1; s--)
	    	    {	f.APR.options[s] = null;}
	    			
					f.APR.options[0] = new Option ("9.9%");
					f.APR.options[0].value = "0.00790";
					f.APR.options[1] = new Option ("10.9%");
	    			f.APR.options[1].value = "0.00866";
					f.APR.options[2] = new Option ("11.9%");
	    			f.APR.options[2].value = "0.00941";
					f.APR.options[3] = new Option("12.9");
					f.APR.options[3].value = "0.01016";	 
					f.APR.options[4] = new Option ("13.9%");
	    			f.APR.options[4].value = "0.01090";
					f.APR.options[5] = new Option("14.9%");
					f.APR.options[5].value = "0.01164";
					f.APR.options[6] = new Option ("15.9%");
					f.APR.options[6].value = "0.01237";
	    			f.APR.options[7] = new Option ("16.9%");
	    			f.APR.options[7].value = "0.01310";
					f.APR.options[8] = new Option ("17.9%");
	    			f.APR.options[8].value = "0.01382";
					f.APR.options[9] = new Option ("18.9%");
	    			f.APR.options[9].value = "0.01453";
					f.APR.options[10] = new Option ("19.9%");
	    			f.APR.options[10].value = "0.01524";
					f.APR.options[11] = new Option ("22.9%");
	    			f.APR.options[11].value = "0.01733";
					f.APR.options[12] = new Option ("25.9%");
	    			f.APR.options[12].value = "0.01938";
					f.APR.options[13] = new Option ("29.9%");
	    			f.APR.options[13].value = "0.02204";
        }
        

}


function GetMonthlyAmountFromLoanAmount(loanAmt, outstandingAmt, Number_Months, ppType,roi,apr)
{
     
    var aPayment=new Array();
    var selectedAmt=0;
    var posDecimal=0;
    var vPayment="";
    
    roi= eval(roi);
    
    if (outstandingAmt==null) outstandingAmt=loanAmt;

    vPayment=String((outstandingAmt/((1-Math.pow(1/(1+roi),(Number_Months)))/roi))+0.005);
    
    posDecimal=vPayment.indexOf(".");

    if (vPayment.charAt(posDecimal+2)=="") vPayment+="0";
    vPayment=vPayment.substring(0,posDecimal+3);


    return new Array(vPayment, apr);
}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
pence = num%100;
num = Math.floor(num/100).toString();
if(pence<10)
pence = "0" + pence;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '£' + num + '.' + pence);
}

function removeCommas(aNum) {

//remove any commas

aNum=aNum.replace(/,/g,"");

//remove any spaces

aNum=aNum.replace(/\s/g,"");

return aNum;

}

function Calculate()
{

    var f=document.frmCalc;

    
    
    var loanAmt=removeCommas(f.Total_Loan.value);
    
    var Number_Months=f.Total_Number_Months.value;
    var MonthlyPayment=f.MonthlyPayment.value
    var ppType=3;
    var roi=f.APR.options[f.APR.selectedIndex].value; 
    var apr=f.APR.options[f.APR.selectedIndex].text; 
    
    var aReturn=GetMonthlyAmountFromLoanAmount(loanAmt,null,Number_Months,ppType,roi,apr);
    
    f.OverallFig.value= formatCurrency((aReturn[0]*Number_Months));
    f.MonthlyPayment.value=String(aReturn[0]);
    
 
}

function ClearResults()
{
    with (document.frmCalc)
    {
        Total_Loan.style.background="#FFFFFF";
        Total_Number_Months.style.background="#FFFFFF";
		MonthlyPayment.value="";
        OverallFig.value="";
        //APR.value="";
    }
}



