// CalculatorsCommon.js

function FormatCurrency(num, includeCents)
{
    // this will format a number to currency

    num = num.toString().replace(/\$|\,/g, '');

    if (isNaN(num))
    {
        num = "0";
    }

    var sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);

    var cents = num % 100;
    num = Math.floor(num / 100).toString();

    if (cents < 10)
    {
        cents = "0" + cents;
    }

    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));
    }

    var ret = (((sign) ? '' : '-') + '&pound;' + num);
    if (includeCents)
    {
        ret += '.' + cents;
    }
    return ret;
}

function CreateSliderValues(arr, min, max, increment)
{
    for (var i = min; i <= max; i = i + increment)
    {
        arr[arr.length] = i;
    }
    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;
}

