// CalculatorsCommon.js

function CreateSliderValues(arr, min, max, increment)
{
    for (var i = min; i <= max; i = i + increment)
    {
        arr[arr.length] = i;
    }
    return arr;
}

 function addCommas(nStr)
 {
   nStr += '';
   x = nStr.split('.');
   x1 = x[0];
   x2 = x.length > 1 ? '.' + x[1] : '';
   var rgx = /(\d+)(\d{3})/;
   while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}

function CreateRSliderValues(arr, min, max)

{
    for (var i = 5; i <= 1000; i = i + 5)
    {
        arr[arr.length] = i/100;
    }
    return arr;

}

function CreateR2SliderValues(arr, min, max)

{
    for (var i = -500; i <= 500; i = i + 25)
    {
        arr[arr.length] = i/100;
    }
    return arr;

}



function FindValueIndex(arrayValues, rawVal)
{
    var currentIdx = 0;
    var val = parseFloat(rawVal);
    
    if (isNaN(val) || val < arrayValues[0] || val > arrayValues[arrayValues.length - 1])
    {
        return NaN;
    }
    else
    {
        for (idx = 0; idx < arrayValues.length; idx++)
        {
            if (val >= arrayValues[idx])
            {
                currentIdx = idx;
            }
        }

        var differenceLess = Math.abs(val - arrayValues[currentIdx]);
        var moreVal = (currentIdx == (arrayValues.length - 1)) ? arrayValues[currentIdx] : arrayValues[currentIdx + 1];
        var differenceMore = Math.abs(val - moreVal);

        if (differenceLess < differenceMore)
        {
            return currentIdx;
        }
        else
        {
            return currentIdx + 1;
        }
    }

    return NaN;
}


function calculaterepaymentpayment(Loan, Rate, Term){
var MonthlyRate = Rate/1200 ;
	var TermMonths = Term * -12;
	var Multiplier = 1 + MonthlyRate;
	Multiplier = Math.pow(Multiplier, TermMonths);
	Multiplier = 1 - Multiplier;
	Multiplier = MonthlyRate / Multiplier;
	var RepaymentAmount = Loan * Multiplier;
	RepaymentAmount = Math.round(RepaymentAmount);
	return RepaymentAmount;
}






