I was working on a Timer code and its working fine but I'm unable to trigger on button click. I believe there is a silly mistake that I'm not able to figure out and was looking for help.
When I click on button, I get following error in console.
Uncaught ReferenceError: startTimer is not defined
I even have tried using $(document).ready() and defined functions in it still no luck.
Code
function timer(){
    var time = {
        sec:00,
        min:00,
        hr:00
    }
    var max = 59;
    var interval = null;
    function update(str){
        time[str]++;
        time[str] = time[str]%60;
        if(time[str] == 0){
            str == "sec"? update("min"):update("hr");
        }
        print(str);
    }
    function print(str){
        var _time = time[str].toString().length == 1?"0" + time[str]:time[str];
        document.getElementById("lbl"+str).innerText = _time;
    }
    function initInterval(){
        interval = setInterval(function(){
            update("sec");
        },1000);
    }
    
    function stopTimer(){
     clearInterval(interval);
    }
    
    return {
        'init': initInterval,
        'stop': stopTimer
    }
};
var time = new timer();
function startTimer(){
    time.init();
}
function endTimer(){
    time.stop();
}<div>
    <span id="lblhr">00</span>
    : <span id="lblmin">00</span>
    : <span id="lblsec">00</span>
</div>
<button onclick="startTimer()">Start</button>
<button onclick="endTimer()">Stop</button>I'm looking for pure JS solution, and not JQuery($(btnId).on("click")). 
Link to JSFiddle
 
     
    