﻿var BudgetPlanner = {};
BudgetPlanner.init = function() {
    var printButton = $("#Print span")[0];
    if (printButton && window.print) {
        $addHandler(printButton, "click", function() { window.print(); });
        printButton.style.display = "inline";
    }
    BudgetPlanner.allEstimates = $(".freeTextContent .inpEstimate");
    for (var i = 0; i < BudgetPlanner.allEstimates.length; i++) BudgetPlanner.allEstimates[i].onblur = BudgetPlanner.makeNumeric;
    BudgetPlanner.allActuals = $(".freeTextContent .inpActual");
    for (var i = 0; i < BudgetPlanner.allActuals.length; i++) BudgetPlanner.allActuals[i].onblur = BudgetPlanner.makeNumeric;
    BudgetPlanner.totalEstimates();
    BudgetPlanner.totalActual();
};
BudgetPlanner.isDigit = function(input) {
    var ValidInput = new Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
    for (var i = 0; i < ValidInput.length; i++) if (ValidInput[i] == input) return input;
    return "";
};
BudgetPlanner.makeNumeric = function() {
    var amount = this.value;
    var cleanedAmount = "";
    for (var i = 0; i < amount.length; i++) {
        if (BudgetPlanner.isDigit(amount.charAt(i))) cleanedAmount += amount.charAt(i);
        else if (amount.charAt(i) == ".") break;
    }
    while (cleanedAmount.charAt(0) == "0" && cleanedAmount.length > 1) cleanedAmount = cleanedAmount.slice(1);
    if (cleanedAmount.length == 0) cleanedAmount = "0";
    this.value = cleanedAmount;
    if (this.className == "inpEstimate") BudgetPlanner.totalEstimates();
    else if (this.className == "inpActual") BudgetPlanner.totalActual();
    else alert("this.className: " + this.className);
};
BudgetPlanner.totalEstimates = function() {
    var total = 0;
    for (var i = 0; i < BudgetPlanner.allEstimates.length; i++) if (BudgetPlanner.allEstimates[i].value != "") total += parseInt(BudgetPlanner.allEstimates[i].value);
    $("#tdEstimateTotal span")[0].innerHTML = "&pound;" + total;
};
BudgetPlanner.totalActual = function() {
    var total = 0;
    for (var i = 0; i < BudgetPlanner.allActuals.length; i++) if (BudgetPlanner.allActuals[i].value != "") total += parseInt(BudgetPlanner.allActuals[i].value);
    $("#tdActualTotal span")[0].innerHTML = "&pound;" + total;
};
$addHandler(window, "load", BudgetPlanner.init);