
// =====================
// Auto Save and Restore
// =====================

var $sessionStorage = JSON.parse(sessionStorage.getItem("ATLHOUSINGREPORT") || "{}");

// -------------------
// Save Changed Inputs
// -------------------

$(".autosave").on("change", function (e) {

    switch (e.target.type) {

        case "text"       :
            $sessionStorage[e.target.name] = $(this).val();
            break;
        case "radio"      :
            $sessionStorage[e.target.name] = $(this).val();
            break;
        case "checkbox"   :
            $sessionStorage[e.target.name] = $(this).prop("checked");
            break;
        case "select-one" :
            $sessionStorage[e.target.name] = $(this).val();
            break;
        case "hidden"     :
            $sessionStorage[e.target.name] = $(this).val();
            break;

        default           :
            $sessionStorage[e.target.name] = $(this).val();
            break;

    }

    sessionStorage.setItem("HOMESTEAD", JSON.stringify($sessionStorage));

});

// ----------------
// Initalize Inputs
// ----------------

$.each($sessionStorage, function (name, value) {

    var $input = $(":input").filter("[name=" + name + "]");

    if ($input.length > 0) {

        switch ($input.prop("type")) {

            case "text"       :
                $input.val(value);
                break;
            case "radio"      :
                $input.filter("[value=" + value + "]").prop("checked", true);
                break;
            case "checkbox"   :
                $input.prop("checked", value);
                break;
            case "select-one" :
                $input.val(value);
                break;
            case "hidden"     :
                $input.val(value);
                break;

            default           :
                $input.val(value);
                break;

        }

    }

});

// ------------------
// Save preset Inputs
// ------------------

$("input[type=radio]:checked").trigger("change");