/**
* This object provides counter functionality. The intial target is for an on-screen counter.
***/
function TimeCounter(){
    var up = false;     // Direction of the counter, up means counting up from the min and false means counting down from the max
    var unlimited = false;
    var max = 99;
    var min = 0;
    var current = 99;
    var interval = null;
    var speed = 1000;       // In milliseconds
    var container = "gameTimer";
    
    /**
    *
    ***/
    this.init = function(o){
        
    }
    
    /**
    *
    ***/
    this.run = function(){
        
        if( unlimited ){
            document.getElementById( container ).innerHTML = "-";
        }
        else{
            if( interval == null ){
                // if we're counting up set to 0
                if( up ) current = min;
                // else we're counting down to 0 so set to max
                else current = max;
                
                var func = this.update;
                interval = setInterval( func, speed );
            }
        }
    }
    
      
    /**
    *
    ***/
    this.update = function(){
        
        document.getElementById( container ).innerHTML = current;
        
        // if counting up, increment
        if( up ){
            if( current < max ){
                current++;
            }
            else{
                document.getElementById( container ).innerHTML = "-";
                mainMessage.setMessage("Winner!");
                mainMessage.displayMessage("&nbsp;");
                interval = null;
            }
        }
        // counting down, decrement
        else{
            if( current > min ){
                current--;
            }
            else{
                document.getElementById( container ).innerHTML = "-";
                mainMessage.setMessage("Winner!");
                mainMessage.displayMessage("&nbsp;");
                interval = null;
            }
        }
    } 
    
    
}
