//////////////////////////////////////////////////////////////////////////////
//  jaxtextbox
//////////////////////////////////////////////////////////////////////////////
Jax.Widgets.Numberbox = function() {

    // Declare class and set instance.
    Jax.oop.declare(Jax.Widgets.Numberbox, Jax.Widgets.Textbox);
    this.setInstance();
    var m_baseInitialize = new Delegate(this, this.initialize);
    
    //////////////////////////////////////////////////////////////////////////
    // Class methods definitions
    //////////////////////////////////////////////////////////////////////////

    //////////////////////////////////////////////////////////////////////////
    // Initialize
    //////////////////////////////////////////////////////////////////////////
    this.initialize = function(args) {
        m_baseInitialize(args);
        this.element.onkeypress = new Delegate(this, this.onKeyPress);
    }

    //////////////////////////////////////////////////////////////////////////
    // onKeyPress()
    //////////////////////////////////////////////////////////////////////////
    this.onKeyPress = function(evnt) {
        var keyEvent = new Jax.KeyEvent(evnt);
        return keyEvent.isNumberKey()
            || keyEvent.isBackspaceKey()
            || keyEvent.isTabKey();
    }
    
    //////////////////////////////////////////////////////////////////////////
    // Initialize instance.
    //////////////////////////////////////////////////////////////////////////
    if (arguments.length) {
        this.initialize(arguments);
    }
};