
function Recalculate(cost, units,result) {
    var costValue = cost.val(), unitValue = units.val();

    var total = costValue * unitValue;

    result.html(total);

    RecalculateTotal();
}

function parseIntOrDefault(target) {
    var result = parseInt(target);

    return (isNaN(result)) ? 0 : result;
}

function RecalculateTotal() {

    var grandTotal = parseIntOrDefault($('#Content_aspContactDetails_aspModalPopup_litContactContractHourTotal').html()) + parseIntOrDefault($('#Content_aspContactDetails_aspModalPopup_litContactContractDayTotal').html()) + parseIntOrDefault($('#Content_aspContactDetails_aspModalPopup_litContactContractWeekTotal').html());

    $('#contactContractGrandTotal').html(grandTotal);

    var grandChargeTotal = parseIntOrDefault($('#Content_aspContactDetails_aspModalPopup_litContactContractHourChargeTotal').html()) + parseIntOrDefault($('#Content_aspContactDetails_aspModalPopup_litContactContractDayChargeTotal').html()) + parseIntOrDefault($('#Content_aspContactDetails_aspModalPopup_litContactContractWeekChargeTotal').html());

    $('#contactContractGrandChargeTotal').html(grandChargeTotal);

    $('#contactContractGrandCommission').html(grandChargeTotal - grandTotal);
}

function BindFieldCalculator(cost, units,result) {
    var func = function () {
        Recalculate(cost, units,result); 
    };

    cost.keyup(func);
    //charge.keyup(func);
    units.keyup(func);

    Recalculate(cost, units, result); 
    RecalculateTotal();
}

