IE 8 not working

by nickkell

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.2.1.debug.js"></script>
<label><b>Client code</b>

    <select data-bind="options: ['code'], value: accountSearchParameters.scheme"></select>
</label>
<label> <b>Last Name</b>

    <input name="LastName" type="text" data-bind="value: accountSearchParameters.lastName, valueUpdate:'onkeyup'" />
</label>
<label for="Reference"> <b>Reference</b>

    <input name="Reference" type="text" data-bind="value: accountSearchParameters.reference, valueUpdate:'onkeyup'" />
</label>
<input type="button" data-bind="click: nextPage" value="next" />
<p data-bind="text: accountSearchParameters.sufficientInputToSearchForAccount"></p>
<p data-bind="text: 'Page: ' + page().index"></p>

JavaScript

var Page = (function () {
    function Page(index, name) {
        this.index = index;
        this.name = name;
    }
    return Page;
})();

var AccountSearchParameters = (function () {
    function AccountSearchParameters() {
        this.reference = ko.observable();
        this.scheme = ko.observable();
        this.lastName = ko.observable();
        this.sufficientInputToSearchForAccount = ko.computed(function () {

            return this.reference() && this.scheme() && this.lastName();
        }, this);
    }
    return AccountSearchParameters;
})();

function viewModel() {
    var self = this,
        currentPage = ko.observable(),
        accountSearchParameters = new AccountSearchParameters(),
        forwardPageProgressionGuards = {
            '1': function canMoveToPage2() {
                return accountSearchParameters.sufficientInputToSearchForAccount();
            },
                '2': function canMoveToPage3() {
                return true;
            },
                '3': function canMoveToPage4() {
                return true;
            }
        },
        canMoveToNextPage = function (currentlyOnPage) {
            function disallowPageMovementNotExplicitlyDefined() {
                return false;
            }

            return (forwardPageProgressionGuards[currentlyOnPage] || disallowPageMovementNotExplicitlyDefined)();
        },
        canMoveToPreviousPage = function (currentlyOnPage) {
            return currentlyOnPage > 1;
        },
        pages = [new Page(1, 'Customer details'),
        new Page(2, 'Bank details'),
        new Page(3, 'Payment details'),
        new Page(4, 'Confirmation')],
        pageNavigator = function (canNavigate, steps) {
            current = currentPage();
            console.log(canNavigate(current.index));
            if (canNavigate(current.index)) {
                currentPage(pages[pages.indexOf(current) + steps]);
            }
        };

    currentPage(pages[0]);

    self.page =...