code: function (p_oEvent) {
          
          	var sType = this.get("type"),
          		oElement,
  				nOptionRegionX;
  
  
  			if (sType === "split") {
  
  				oElement = this.get("element");
  				nOptionRegionX = 
  					(Dom.getX(oElement) + (oElement.offsetWidth - this.OPTION_AREA_WIDTH));
  					
  				this._nOptionRegionX = nOptionRegionX;
  			
  			}
          
  
              if (!this._hasMouseEventHandlers) {
          
  				if (sType === "split") {
          
  	        		this.on("mousemove", this._onMouseMove);
  
          		}
  
                  this.on("mouseout", this._onMouseOut);
          
                  this._hasMouseEventHandlers = true;
          
              }
          
  
              this.addStateCSSClasses("hover");
  
  
  			if (sType === "split" && (Event.getPageX(p_oEvent) > nOptionRegionX)) {
  	
  				this.addStateCSSClasses("hoveroption");
  	
  			}
  
          
              if (this._activationButtonPressed) {
          
                  this.addStateCSSClasses("active");
          
              }
          
          
              if (this._bOptionPressed) {
          
                  this.addStateCSSClasses("activeoption");
              
              }
  
  
              if (this._activationButtonPressed || this._bOptionPressed) {
          
                  Event.removeListener(document, "mouseup", this._onDocumentMouseUp);
          
              }
  
          }
docs: Protected event handlers 
  @method _onMouseOver
  @description "mouseover" event handler for the button.
  @protected
  @param {Event} p_oEvent Object representing the DOM event object
  passed back by the event utility (YAHOO.util.Event).