$(document).ready(function() {

    $("#calculate-button").click(function() {
        $("#error-text").hide();
        $("#results-panel").hide();
        $("#calculate-button").hide();
        $("#loading-panel").show();

        $("#error-text").html("");
        $("#result-text").html("");
        $("#shopping-proposition-text").html("");
    });    

});

function onCalculationSuccess(result) {
    if (result.ErrorMessage == null) {
        $("#results-panel").show();
        $("#loading-panel").hide();
        $("#calculate-button").show();

        $("#result-text").html(result.Value);
        $("#shopping-proposition-text").html(result.ShoppingProposition);
    }
    else {
        displayErrorMessage(result.ErrorMessage);
    }
}

function onCalculationError(result) {
    displayErrorMessage(result._message);
}

function displayErrorMessage(errorMessage) {
    $("#error-text").show();
    $("#loading-panel").hide();
    $("#calculate-button").show();

    $("#error-text").html(errorMessage);
}

function getValueFromInput(inputElementId) {
    var element = $("#" + inputElementId);
    var enteredValue = element.val();

    var result = 0;

    try {
        if (enteredValue != null && enteredValue != "") {
            result = parseFloat(enteredValue);
        }
    }
    catch (e) {
        alert(e);
        result = 0;
    }

    if (isNaN(result)) {
        result = 0;
    }

    $("#" + inputElementId).val(result);
    return result;
}