Zmienny problem zasięgu z funkcją javascript

Próbuję utworzyć funkcję za pomocą spin.js. Funkcja ładuje spinner, a następnie, jeśli zostanie wywołana ponownie wraz z argumentem, zatrzyma spinner. Nie mogę uzyskać prawidłowego zakresu zmiennej. Kiedy więc wywołam funkcję, aby ją zatrzymać, otrzymuję niezdefiniowaną opcjęsubmitSpinner.

http://jsfiddle.net/atlchris/tQdZB/1/

function submitSpinner(stopSpinner) {
    var theSubmitSpinner;

    if (stopSpinner === true) {
        theSubmitSpinner.stop();

        $('#overlay').remove();
    }
    else {
        $('body').append('<div id="overlay"><div id="spinner"></div></div>');

        theSubmitSpinner = new Spinner({
            lines: 13,
            length: 15,
            width: 5,
            radius: 20,
            color: '#ffffff',
            speed: 1,
            trail: 60,
            shadow: false
        }).spin(document.getElementById("spinner"));
    }
}

submitSpinner();

$(function() {
    $('#overlay').on('click', function() {
        alert('click');
        submitSpinner(true);
    });
});​

questionAnswers(4)

yourAnswerToTheQuestion