Call this (public) function inside private function
<p>I have the following javascript: (<a href="http://jsfiddle.net/Mansfield/7XEYD/2/" rel="nofollow">JSFiddle</a>)</p>

<pre><code>$(function () {
    function Cat()
    {  
        this.Meow = function (sound) {
            alert("Meow: " + sound);
        }

        this.Kick = function () {
            MakeNoise();    
        }

        var MakeNoise = function () {
            Meow("noise");
            //Cat.Meow("noise");
            //self.Meow("noise");
            //this.Meow("noise");                      
        }        
    }

    var c = new Cat();
    c.Kick();
});​
</code></pre>

<p>When I call the <code>Kick</code> function, I get the error "Meow is not defined" (with any of the four things I tried in the <code>MakeNoise</code> function).</p>

<p>I also tried prototyping like so but that gave me the same error:</p>

<pre><code>Cat.prototype.Meow = function (sound) {
    return this.Meow(sound);    
}
</code></pre>

<p>I've sure this has a terribly straightforward solution, but I can't figure out how to successfully call the <code>Meow</code> function of the "Cat" class. How can I do this?</p>

<p>As an aside, does this architecture make any sense at all? My intention was to have <code>Kick</code> and <code>Meow</code> as public functions, and <code>MakeNoise</code> as private.</p>
