// converts and outputs miles to kilometers and vice versa
function convertDistance(fromMilesToKm) 
{
    var distance = $("#ctl00_ContentPlaceHolder1_txtTripDistance").val()
    var distance = distance.replace(/ /g, "");
    var milesToKm = 1.609344; // conversion constant
    if (distance != "" && isNaN(distance) == false && distance >= 0) // if a number >= 0
    {
        var result = (fromMilesToKm == true) ? milesToKm * distance : distance / milesToKm;
        var result = roundNumber(result, 2);
        $("#ctl00_ContentPlaceHolder1_txtTripDistance").val(result);
    }
}

// converts and outputs miles per gallon to litres per 100 kilometers and vice versa
function convertUsage() 
{
    var rate = $("#ctl00_ContentPlaceHolder1_txtFuelUsage").val()
    var rate = rate.replace(/ /g, "");
    var milesToKm = 1.609344; // conversion constant
    var imperialGallonsToLitres = 4.54609188; // conversion constant
    if (rate != "" && isNaN(rate) == false && rate >= 0) // if a number >= 0
    {
        var result = (100 * imperialGallonsToLitres) / (milesToKm * rate);
        var result = roundNumber(result, 2);
        $("#ctl00_ContentPlaceHolder1_txtFuelUsage").val(result);
    }
}

function roundNumber(rNum, rLength) { // Arguments: number to round, number of decimal places
    var newnumber = Math.round(rNum * Math.pow(10, rLength)) / Math.pow(10, rLength);
    return parseFloat(newnumber);
}
