text: function CButStartRace(iXPos, iYPos, oSprite, szText, szColor, iFontSize,oParentContainer) {
  
      var _aCbCompleted;
      var _aCbOwner;
      var _oButton;
      var _oText;
      var _oTextBack;
      var _oListenerMouseDown;
      var _oListenerMouseUp;
      var _oParentContainer;
      
      this._init = function (iXPos, iYPos, oSprite, szText, szColor, iFontSize) {
  
          _aCbCompleted = new Array();
          _aCbOwner = new Array();
  
          var oButtonBg = createBitmap(oSprite);
  
  
  
          _oButton = new createjs.Container();
          _oButton.x = iXPos;
          _oButton.y = iYPos;
          _oButton.regX = oSprite.width / 2;
          _oButton.regY = oSprite.height / 2;
          _oButton.addChild(oButtonBg);
  
          _oParentContainer.addChild(_oButton);
  
          if (!s_bMobile)
              _oButton.cursor = "pointer";
  
          this._initListener();
      };
  
      this.unload = function () {
          _oButton.off("mousedown",_oListenerMouseDown);
          _oButton.off("pressup",_oListenerMouseUp);
  
          _oParentContainer.removeChild(_oButton);
      };
  
      this.setVisible = function (bVisible) {
          _oButton.visible = bVisible;
      };
  
      this._initListener = function () {
          _oListenerMouseDown = _oButton.on("mousedown", this.buttonDown);
          _oListenerMouseUp = _oButton.on("pressup", this.buttonRelease);
      };
  
      this.addEventListener = function (iEvent, cbCompleted, cbOwner) {
          _aCbCompleted[iEvent] = cbCompleted;
          _aCbOwner[iEvent] = cbOwner;
      };
  
      this.buttonRelease = function () {
          _oButton.scaleX = 1;
          _oButton.scaleY = 1;
          
          playSound("click", 1, 0);
          
          if (_aCbCompleted[ON_MOUSE_UP]) {
              _aCbCompleted[ON_MOUSE_UP].call(_aCbOwner[ON_MOUSE_UP]);
          }
      };
  
      this.buttonDown = function () {
          _oButton.scaleX = 0.9;
          _oButton.scaleY = 0.9;
  
          if (_aCbCompleted[ON_MOUSE_DOWN]) {
              _aCbCompleted[ON_MOUSE_DOWN].call(_aCbOwner[ON_MOUSE_DOWN]);
          }
      };
  
      this.setPosition = function (iXPos, iYPos) {
          _oButton.x = iXPos;
          _oButton.y = iYPos;
      };
  
      this.setX = function (iXPos) {
          _oButton.x = iXPos;
      };
  
      this.setY = function (iYPos) {
          _oButton.y = iYPos;
      };
  
      this.getButtonImage = function () {
          return _oButton;
      };
  
      this.getX = function () {
          return _oButton.x;
      };
  
      this.getY = function () {
          return _oButton.y;
      };
      
      _oParentContainer = oParentContainer;
      this._init(iXPos, iYPos, oSprite, szText, szColor, iFontSize);
  
      return this;
  
  }
  